从 _worldMatrix矩阵信息中每个项分别是表示什么值? 继续讨论:
有不正确的地方,还望批评指正。游戏开发萌新一个,前段时间想分析下拖尾到底是怎么实现的?,结果从shader看到矩阵再看到计算机图形学。先把学会的心得记录下来
从 _worldMatrix矩阵信息中每个项分别是表示什么值? 继续讨论:
有不正确的地方,还望批评指正。游戏开发萌新一个,前段时间想分析下拖尾到底是怎么实现的?,结果从shader看到矩阵再看到计算机图形学。先把学会的心得记录下来
注意 cocos中矩阵转置。我在旋转的地方有说明。
[x,y,1] [cos sin 0]
[-sin cos 0]
这个不支持公式,凑合看下。希望能帮助到你
今天在分析 _updateLocalMatrix 发现给你回复应该是错误的,这个很矩阵转置没关系。是一个在计算机图形学中,规定
不知这次理解是否是正确,仅做参考。
照这么说的话,cc里面node的rotation是以右手坐标系的逆时针为正。
在CCNode的_updateLocalMatrix方法中
let rotation = -this._eulerAngles.z;
let rotationRadians = rotation * ONE_DEGREE;
let a = 1, b = 0, c = 0, d = 1;
c = Math.sin(rotationRadians);
d = Math.cos(rotationRadians);
a = d; // cos
b = -c; // -sin
t.m00 = a *= sx;
t.m01 = b *= sx;
t.m04 = c *= sy;
t.m05 = d *= sy;
即旋转矩阵为
| cos sin |
| -sin cos |
在按你说的取个负变成
| cos -sin |
| sin cos |
好像是这么回事,但是感觉差了点,又不知道差在哪。
其实我也有这种感觉,就是一直查询不到权威的资料