public virtual IEnumerator fixCameraAspect() { s3dCamera theCamera = null; yield return(new WaitForSeconds(1)); theCamera = (s3dCamera)this.GetComponent(typeof(s3dCamera)); if (!theCamera.useStereoShader) { if (theCamera) { theCamera.fixCameraAspect(); } } }
public virtual void findS3dCamera() { s3dCamera[] cameras3D = ((s3dCamera[])UnityEngine.Object.FindObjectsOfType(typeof(s3dCamera))) as s3dCamera[]; if (cameras3D.Length == 1) { camera3D = cameras3D[0]; } else { if (cameras3D.Length > 1) { MonoBehaviour.print("There is more than one s3dCamera in this scene."); } else { MonoBehaviour.print("There is no s3dCamera in this scene."); } } }
public virtual void Start() { mainCam = (Camera)gameObject.GetComponent(typeof(Camera)); camScript = (s3dCamera)gameObject.GetComponent(typeof(s3dCamera)); lCam = camScript.leftCam.GetComponent <Camera>(); rCam = camScript.rightCam.GetComponent <Camera>(); GameObject masks = new GameObject("masks"); leftMask = new GameObject("leftMask"); leftMask.transform.parent = masks.transform; leftMask.layer = LayerMask.NameToLayer("Ignore Raycast"); MeshFilter filterL = (MeshFilter)leftMask.AddComponent(typeof(MeshFilter)); leftMask.AddComponent(typeof(MeshRenderer)); Mesh leftMesh = filterL.mesh; leftMesh.Clear(); leftMesh.vertices = new Vector3[] { Vector3.zero, Vector3.zero, Vector3.zero, Vector3.zero }; leftMesh.normals = new Vector3[] { Vector3.zero, Vector3.zero, Vector3.zero, Vector3.zero }; leftMesh.triangles = new int[] { 0, 2, 1, 0, 3, 2 }; leftMesh.uv = new Vector2[] { new Vector2(0, 1), new Vector2(0, 0), new Vector2(1, 0), new Vector2(1, 1) }; leftMask.GetComponent <Renderer>().material = new Material(Shader.Find("Self-Illumin/Diffuse")); leftMask.GetComponent <Renderer>().material.color = new Color(0, 0, 0, 1); leftMask.GetComponent <Renderer>().castShadows = false; rightMask = new GameObject("rightMask"); rightMask.transform.parent = masks.transform; rightMask.layer = LayerMask.NameToLayer("Ignore Raycast"); MeshFilter filterR = (MeshFilter)rightMask.AddComponent(typeof(MeshFilter)); rightMask.AddComponent(typeof(MeshRenderer)); Mesh rightMesh = filterR.mesh; rightMesh.Clear(); rightMesh.vertices = new Vector3[] { Vector3.zero, Vector3.zero, Vector3.zero, Vector3.zero }; rightMesh.normals = new Vector3[] { Vector3.zero, Vector3.zero, Vector3.zero, Vector3.zero }; rightMesh.triangles = new int[] { 0, 2, 1, 0, 3, 2 }; rightMesh.uv = new Vector2[] { new Vector2(0, 1), new Vector2(0, 0), new Vector2(1, 0), new Vector2(1, 1) }; rightMask.GetComponent <Renderer>().material = new Material(Shader.Find("Self-Illumin/Diffuse")); rightMask.GetComponent <Renderer>().material.color = new Color(0, 0, 0, 1); rightMask.GetComponent <Renderer>().castShadows = false; }
public virtual void Start() { this.mainCam = (Camera)this.gameObject.GetComponent(typeof(Camera)); // Main Stereo Camera Component this.camScript = (s3dCamera)this.gameObject.GetComponent(typeof(s3dCamera)); // Main Stereo Script }
public virtual void Start() { mainCam = (Camera)gameObject.GetComponent(typeof(Camera)); // Main Stereo Camera Component camScript = (s3dCamera)gameObject.GetComponent(typeof(s3dCamera)); // Main Stereo Script infoScript = (s3dDepthInfo)gameObject.GetComponent(typeof(s3dDepthInfo)); // Main Stereo Script }