Unity中的Matrix4x4类

摘要:
通常,对象平移和旋转变换的底层由矩阵表示,通常不使用矩阵。有时需要将一些世界坐标转换为本地坐标。1//创建平移旋转缩放矩阵可以理解为坐标系(我不知道它是否正确)。。

物体平移旋转一般变换底层都是用矩阵来表示的,一般不会用到这个类。有时候需要一些世界坐标与局部坐标转换的时候,可能就要用到了。

1 //创建平移 旋转 缩放矩阵 可以理解为一个坐标系(不知道对不对。。)
2         Matrix4x4 mat = Matrix4x4.TRS(new Vector3(1,1,1),Quaternion.Euler(0,90,0),Vector3.one);
3         //得到在这个坐标系点(2,2,2)在世界坐标系的坐标
4         print(mat.MultiplyPoint(new Vector3(2,2,2)));
5         //在世界坐标系点(2,2,2)在mat变换下的坐标
6         //局部坐标*mat = 世界坐标
7         //世界坐标*mat的逆 = 局部坐标
8         print(mat.inverse.MultiplyPoint(new Vector3(2,2,2)));
9         //MultiplyVector方法 感觉没啥用
10         //把方向向量dir 做了一个旋转
11         Vector3 dir = new Vector3(3,2,3);
12         print (mat.MultiplyVector (dir) == Quaternion.Euler (0, 90, 0) * dir);

又一个大雾霾天.....

免责声明:文章转载自《Unity中的Matrix4x4类》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【12c】Oracle Restart中的SRVCTL命令详解创建自定义线程池下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

访问局域网中的虚拟机(详细教程!)

)如何使用LAN中的一台PC访问另一台PC中的虚拟机?步骤3:重新启动sshd服务并输入servicesshdrestart3。需要ssh虚拟机的PC操作步骤:我将以cmd命令行为为例:最后,如果您想访问在主机中创建的虚拟机集群,可以通过上述方法ssh到虚拟机,其余的可以直接ssh到ssh到的虚拟机上的其他虚拟机。...

微信分享回调

在我们的项目中,我曾经判断用户是否通过微信分享了文章或内容。在确认用户通过微信分享了文章或内容后,我向用户添加了相应的分数。...

kernel: blk_update_request: I/O error, dev fd0, sector 0

检查后,控制台无法登录。重新启动虚拟机,报告下图,然后执行journalctl以显示以下系统消息日志原因搜索。。。...

boost的下载和安装(windows版)

1 Introduction boost是一个准C++标准库,相当于STL的延续和扩展。它的设计理念类似于STL,它使用泛型来最大化重用。对于2boost的下载和安装,我们可以在官方boost网站上下载最新的boost版本。因为boost库可以像标准库一样在多个平台上运行,所以它只以源代码的形式正式提供。这是因为boost windows的安装版本不仅与处理...

Linux系统glibc库版本信息查看

有时我们经常需要检查当前系统的glibc版本。您可以按如下方式进行检查:/lib/libc。所以。6有时:/lib/x86-64-linux/libc。因此6.将文件作为命令执行。为什么库可以直接运行?Glibc是gnu发布的libc库,即c运行时。glibc是linux系统中最低级别的api,几乎任何其他运行时都将依赖glibc。Gcc和libc是相互依赖...

c# Socket心跳试验,自定义发送包 和 使用KeepAlive

我记录了我心跳的位置,但WireShark无法检测到正在发送的消息,主要是因为发送的数据大小为0。如果网络电缆被拔掉,下次检测到心跳时就会报告错误。虽然这种方法可以检测套接字是否断开,但它不是很好,响应也不及时。当使用KeepAlive时,WireShark通常会检测到它不停地向Socket服务器发送消息,即心跳检测。图:通过三次握手(前三次握手)建立连接后...