Exemplo n.º 1
0
 public void ConvertCameraUnity2Psx(Camera unityCam)
 {
     WMPsxCamera.UnityMatrix2PsxMatrix(unityCam.worldToCameraMatrix, this.PsxCameraRotation, this.PsxCameraTranslation);
     this.PsxGeomScreen        = (Int32)unityCam.nearClipPlane;
     this.ClipDistance         = 32766;
     unityCam.projectionMatrix = this.PsxProj2UnityProj((Single)this.PsxGeomScreen, (Single)this.ClipDistance);
 }
Exemplo n.º 2
0
    public void ConvertCameraPsx2UnityOld(Camera unityCam)
    {
        Vector3   psxTrans = new Vector3((Single)this.PsxCameraTranslation[0], (Single)this.PsxCameraTranslation[1], (Single)this.PsxCameraTranslation[2]);
        Matrix4x4 psxRot   = this.PsxMatrix2UnityMatrix(this.PsxCameraRotation);
        Matrix4x4 matrix4x = this.PsxRotTrans2UnityModelView(psxRot, psxTrans);

        matrix4x *= Matrix4x4.TRS(Vector3.zero, Quaternion.identity, new Vector3(1f, -1f, 1f));
        unityCam.worldToCameraMatrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, new Vector3(1f, -1f, -1f)) * matrix4x;
        Int16[,] psxRotation         = new Int16[3, 3];
        Int32[] psxTranslation = new Int32[3];
        WMPsxCamera.UnityMatrix2PsxMatrix(unityCam.worldToCameraMatrix, psxRotation, psxTranslation);
        unityCam.nearClipPlane    = (Single)this.PsxGeomScreen;
        unityCam.farClipPlane     = (Single)(this.PsxGeomScreen + this.ClipDistance);
        unityCam.projectionMatrix = this.PsxProj2UnityProj((Single)this.PsxGeomScreen, (Single)this.ClipDistance);
    }