如何旋转粒子角度

粒子貌似不会继承父节点的旋转角度,用代码去调整它的角度也无效。
试过通过获得粒子对象,设置他的startRotationY也无效,但在编辑器里直接改startRotation是有效果的。也有可能我值设的不对。请大牛指教。

不好意思,已经自己研究出来了。
需要注意的几个点:
1、在编辑器自己改startRotation,有效果,但是代码里只能通过startRotationX、startRotationY、startRotationZ去设置。
2、设置X、Y、Z起到什么效果,与直观坐标轴理解不同。正常理解应该是在Y轴选择可以达到自己的效果,结果怎么设都没有。这个时候需要去编辑器里把StartRotation3D打勾,在编辑器的XYZ上该值,看那个坐标轴能起到自己相应的修改。
(这里可能的粒子系统默认做了坐标转化还是怎么的,和正常视角理解不同。)
3、在编辑器里是设置的欧拉角度值的。但是通过startRotationZ.constant去改变时,却需要转化为角度向量值。
类似 欧拉角度/180 * Math.PI
研究这个搞了半天,还是自己太菜了。:joy:

在未勾选 StartRotation3D 时,编辑器中显示的 startRotation 对应组件的属性其实是 startRotationZ,是只对 Z 轴方向进行旋转。

如果不勾选 StartRotation3D,那 StartRotation 是只对 Z 轴方向进行旋转,旋转的是所设置的角度值。如果勾选 StartRotation3D 则是分别设置 StartRotationX, StartRotationY, StartRotationZ 对 XYZ 方向进行旋转设置。

是一样的,当你使用 constant 值,那设置的值就是欧拉角度

1赞

你好,我在3.3.2遇到一个关于父节点控制3D粒子旋转、缩放的问题

需求:期望3D粒子(添加了UIMeshRenderer)能够跟随父节点(普通2D节点)的angle/rotation和scale。

目前结果:3D粒子不受父节点的angle/rotation影响,scale在3D粒子属性scaleSpace为local的前提下部分不受父节点的scale影响,如果为world则受父节点影响。

想知道如果想通过父节点(2D节点)控制3D粒子的旋转和缩放(只有翻转ScaleX需求),需要怎么做呢?

3.4 使用renderer下的alignmentSpace world可以跟随父节点旋转,scale还有问题