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

}

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

相关推荐
CreasyChan22 分钟前
Unity 中的 IEnumerator协程详解
unity·c#·游戏引擎
熬夜敲代码的小N44 分钟前
基于Unity开发Pico VR眼镜基础应用:从环境搭建到实战部署全解析
人工智能·unity·游戏引擎·vr
孟无岐1 小时前
【Laya】Animation 使用指南
typescript·游戏引擎·游戏程序·laya
王维志11 小时前
使用C#控制台批量删除 Unity目录里的 .meta文件
unity·c#·.net
avi911114 小时前
Unity 天命6源码- 商业游戏说明分析
开发语言·unity·c#·游戏开发·游戏源码
世洋Blog15 小时前
Unity脚本生命周期(全)
unity·游戏引擎
jinmo_C++16 小时前
Leetcode_59. 螺旋矩阵 II
算法·leetcode·矩阵
DowneyJoy17 小时前
【多媒体交互】透明无边框窗口
unity·c#·.net·交互
CreasyChan17 小时前
Unity GC实战优化总结
unity·c#
Howrun77721 小时前
虚幻引擎_AController_APlayerController_AAIController
开发语言·c++·游戏引擎·虚幻