コード例 #1
0
    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();
            }
        }
    }
コード例 #2
0
 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.");
         }
     }
 }
コード例 #3
0
    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;
    }
コード例 #4
0
 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
 }
コード例 #5
0
ファイル: s3dAutoDepth.cs プロジェクト: n1ckfg/FOV2GO
 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
 }