亲自做一下Unity基础矩阵转换及其原理说明

Posted avi9111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了亲自做一下Unity基础矩阵转换及其原理说明相关的知识,希望对你有一定的参考价值。

首先,直接弄最难的,旋转矩阵

无非如下,反正原理我不懂

沿着y轴旋转的矩阵为:

先搞个测试代码

using UnityEngine;
[ExecuteInEditMode]
public class MatrixTester : MonoBehaviour

    public Matrix4x4 _matrix;
    void OnEnable()
    
        var transform1 = transform;
        _matrix.SetTRS(transform1.position,
            transform1.rotation,
            transform1.localScale);
    

    

Rotation改45度,勾选一下 Matrix Texter 组件

(可以明显看出,就改变了一个y轴,但是4个“地方”改变)

然后,百度一下

 (下面一大个数字键盘,其实没用)

结果,0.7和测试结果相符

所以有了以下代码:

参考:

Unity中常用矩阵的推导 - 知乎 (zhihu.com)

【Unity矩阵知识】之Matrix4x4矩阵变换详细实例__阿松先生的博客-CSDN博客

以上是关于亲自做一下Unity基础矩阵转换及其原理说明的主要内容,如果未能解决你的问题,请参考以下文章

Unity Shader-法线贴图(Normal)及其原理

一个很干的Transform矩阵转换原理,学习Shader必须学习或了解的数学原理

unity擦除原理

Unity 渲染原理

Unity 渲染原理

GPS基本原理及其Matlab仿真的目录