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}");

}

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

相关推荐
我爱C编程5 分钟前
基于无六环H校验矩阵和归一化偏移minsum算法的LDPC编译码matlab性能仿真
matlab·矩阵·ldpc·无六环·归一化偏移·minsum
短视频矩阵源码定制36 分钟前
矩阵系统哪个好?2025年全方位选型指南与品牌深度解析
java·人工智能·矩阵·架构·aigc
hakuii1 小时前
SVD分解后的各个矩阵的深层理解
人工智能·机器学习·矩阵
bubiyoushang8881 小时前
使用MATLAB计算梁单元的刚度矩阵和质量矩阵
开发语言·matlab·矩阵
西西弗Sisyphus5 小时前
线性代数 - 奇异值分解(SVD Singular Value Decomposition)- 奇异值在哪里
线性代数·矩阵·奇异值分解·线程方程组
一个小狼娃7 小时前
Android集成Unity避坑指南
android·游戏·unity
极客柒7 小时前
Unity 协程GC优化记录
java·unity·游戏引擎
黄思搏7 小时前
Unity SpriteRenderer 进度条 Shader 实现
unity·游戏引擎
郝学胜-神的一滴8 小时前
计算机图形中的法线矩阵:深入理解与应用
开发语言·程序人生·线性代数·算法·机器学习·矩阵·个人开发
猫屋小鱼丸9 小时前
手把手教你在unity中实现一个视觉小说系统(一)
unity