unity 矩阵探究

public void MatrixTest1(){

        ///Matrix4x4 是列矩阵,就是一个vector4表示一列,所以在c#中矩阵和Vector4只能矩阵右乘坐标。但是在shader中是矩阵左乘坐标,所以在shader中是行矩阵

        Matrix4x4 moveMatrix1 = new Matrix4x4(new Vector4(1,0,0,0),new Vector4(0,1,0,0),new Vector4(0,0,1,0),new Vector4(1,1,1,1));//列矩阵,xyz 各位移一个单位

        Matrix4x4 matrix4X4 = new Matrix4x4(new Vector4(1,0,0,1),new Vector4(0,1,0,1),new Vector4(0,0,1,1),new Vector4(0,0,0,1));//如果是行矩阵(这里只是演示),xyz各位移一个单位

        Matrix4x4 moveMatrix2 = new Matrix4x4(new Vector4(1,0,0,0),new Vector4(0,1,0,0),new Vector4(0,0,1,0),new Vector4(2,2,2,1));

        // Matrix4x4 resultMatrix = moveMatrix1 * moveMatrix2;

        var posMatrix = new Vector4(transform.localPosition.x,transform.localPosition.y,transform.localPosition.z,1);

        Vector3 pos1 = moveMatrix1 * posMatrix ;

        Vector3 pos2 = moveMatrix1 *( moveMatrix2 * posMatrix);

        Debug.Log($"pos1 is {pos1}  pos2 is {pos2}");

    }

以上只是做个记录,怕忘记了,如果错,后面再来改

相关推荐

  1. unity 矩阵探究

    2024-01-21 05:56:02       45 阅读
  2. 齐次矩阵的理解深入和在图形学、Unity中的应用

    2024-01-21 05:56:02       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-21 05:56:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-21 05:56:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-21 05:56:02       87 阅读
  4. Python语言-面向对象

    2024-01-21 05:56:02       96 阅读

热门阅读

  1. 关于搭建Devops平台的高级运维面试题

    2024-01-21 05:56:02       46 阅读
  2. 代码随想录算法训练营Day22 | 二叉树part08

    2024-01-21 05:56:02       68 阅读
  3. 自定义服务自启动失败

    2024-01-21 05:56:02       49 阅读
  4. 如何在Node.js将console日志写入到文件

    2024-01-21 05:56:02       56 阅读
  5. 2401vim,vim标号

    2024-01-21 05:56:02       43 阅读
  6. uniapp中的uni-row/uni-col上的click点击无效

    2024-01-21 05:56:02       53 阅读
  7. 将项目上传到github

    2024-01-21 05:56:02       56 阅读