我有一个单一的云纹理,我想沿着 SCNNode 球面几何的 Y(“垂直”)轴任意置换,以产生有许多不同云纹理的错觉。
我阅读了有关 SCNMaterialProperty、CATransform3D 旋转的文档,但我完全迷失了。在 3D 程序中,您可以沿 X、Y 和 Z 轴设置纹理“原点”——场景套件/核心动画中的等价物是什么?
谢谢你的帮助!
我有一个单一的云纹理,我想沿着 SCNNode 球面几何的 Y(“垂直”)轴任意置换,以产生有许多不同云纹理的错觉。
我阅读了有关 SCNMaterialProperty、CATransform3D 旋转的文档,但我完全迷失了。在 3D 程序中,您可以沿 X、Y 和 Z 轴设置纹理“原点”——场景套件/核心动画中的等价物是什么?
谢谢你的帮助!
SCNMaterialProperty
具有contentsTransform
允许您为纹理坐标设置动画的属性。如果您想要更多控制并且取决于您想要达到的效果,您也可以使用着色器修改器。
在 WWDC 2014 的 Bananas 示例代码中,该技术用于动画背景中火山喷出的烟雾。
我终于得到了这个:
self.cloudNode.rotation = SCNVector4Make(0.0,
1.0,
0.0,
arc4random_uniform(360)*M_PI/180.0);
反正我不是数学天才。