在对mograph(运动图形)对象添加动力学时,你是否遇到过下面的情形:
并且,你已经反复确认过碰撞边界数值小于物体尺寸
正好一个朋友遇到这个麻烦问题,不过最后他自己解决了。解决办法就是调大step per frame(步每帧)的值。这里我想进一步讨论的是,为什么:1、刚体为什么会穿透碰撞体;2、步每帧的作用原理是什么
现在,按键盘上的F和G逐帧浏览(相当于ae的page up/down),是否发现有一开始的穿透情形,并且在第一帧时立方体在平面上,第二帧时立方体在平面下:
到这里你或许猜到了导致穿透的原因除了碰撞发生边界,还有一个因素就是速度,很好第一问题解决了。因为4d的动力学计算是逐帧进行的,当遇到极端的速度时,比如上面实验中的情形,没有足够的帧能捕捉到碰撞发生的那一刻,我们迫切希望能有1.5帧插在第一帧和第二帧之间,这样或许系统就能检测到立方体与平面发生了碰撞。所以步每帧这个参数就出现了。
截图的是4d对步每帧的解释,第一句话就是这个参数对于mograph动力学模拟至关重要。它的作用如同字面意思,就是对每一帧进行细分插值,细分的步数就是你设定的值,当前为1,也就是每一帧动力学只计算一次,将它改为默认值5(直接在右侧小三角上右击),清除缓存(注意在回到第零帧清除),再播放,问题解决了。
总结下:出现穿透的问题是由于物体的极端速度导致动画没有足够的帧数捕捉或者说检测物体边界的接触,从而导致不会产生碰撞这一行为,解决办法就是增加每帧的动力学计算次数。
同样,出于没有足够帧数这个根本原因,还有一个解决办法就是类似升格拍摄,降低动力学里的时间缩放参数,不过将会影响整个动画的时间流逝
提高步每帧虽然能解决碰撞的问题,但是并没有实质的增加帧数,所以可能会出现物体还没碰到碰撞体时就被反弹的假象,实际上是碰撞了,但是没有足够的帧数体现这一过程,不过一般这种极端的速度肉眼也很难捕捉,所以两种办法根据具体情形而定吧
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。