Exemple #1
0
    /// <summary>
    /// 世界空间到观察空间变换对比
    /// 这里是透视相机,没有做正交相机的
    /// </summary>
    void TestWorldSpaceToViewSpace()
    {
        //注意这里是透视相机,没有做正交相机变换矩阵
        cam = Camera.main;
        //世界空间坐标到观察空间坐标
        Vector3 viewPos = TransformationMatrixUtil.WToVPosition(trans1.position);

        //结果是z轴相反,因为世界空间是左手坐标系,而观察空间是右手坐标系
        Debug.LogFormat("世界空间:{0},观察空间:{1}", trans1.position, viewPos);
        //世界空间到观察空间
        Matrix4x4 matrix = TransformationMatrixUtil.WToVMatrix();

        Debug.LogFormat("matrix:\n{0}\n\n worldToCameraMatrix:\n{1}\n\n是否相等:{2}", matrix, cam.worldToCameraMatrix, matrix == cam.worldToCameraMatrix);
    }