可能听到这个标题你会问:哪些是牛顿摆?虽然你们应当都见过,有时侯也被称为“永动球”“碰碰球”等等,就是五个质量相同的圆球由缆绳固定彼此紧密排列物理实验碰撞球,摆动其中一端的单个圆球去撞击其它圆球时,只会有另一端的单个球感受弹起,假如拉起两个球碰撞球组,另一端的两个球将以相同的速率弹开,同理,假如拉起四个球,另一端的四个球将弹开,而坐落中间的圆球保持相对静止的状态,这个化学实验反映了动量守恒定理和能量守恒定理。
而在里,虽然我们也可以复现这个精典的化学实验,这么具体是如何操作呢?
1.第一步:构建牛顿摆的圆球模型
为了让圆球沿固定旋转轴进行运动,所以牛顿摆的圆球都须要两条线来牵引,在建模时也最好根据这个逻辑来进行设计,建议你们搜索一个牛顿摆的模型来“依葫芦画瓢”。
图1
首先我们新建一个圆球,再新建两条牵引线,之后先选择牵引线再按住Shift选择圆球,将圆球设置为牵引线的父级,这样我们的圆球运动时牵引线也会自然追随,具体设计如图1所示。考虑到的化学引擎对小规格、小重量物体的模拟精度并不高,反而很容易出现各类稀奇奇特的问题,所以在这儿我们并不须要根据严格比列来制做。
2.第二步:设置质心碰撞关系
接出来在两条牵引线顶端的中间位置新建一个小方块,在化学面板上将其设置为质心疗效的被动模块,之后再把圆球设置为质心模式的活动项,这儿注意要把碰撞更改为球状,表面响应里的磨擦会让碰撞显得挛缩,所以要设置为0,而弹跳力是保证圆球正常弹起,但若果设置为1会出现不受控的乱弹,所以设置为0.95,具体参考图2。
这时侯倘若直接播放视频,你会发觉球感受带着牵引绳一起往下掉,所以我们还须要把它们和小方块进行化学绑定。先选择圆球,再按住Shift选择小方块,在物体菜单中选择质心、连接,如图3所示。这时侯会出现一个质心约束的空物体,我们把这个空物体联通到小方块的位置,之后在质心约束中,把类型从“固定”切换为“点”,具体设置可参考图4。这个操作的涵义就是圆球的数学运动是以小方块为中心进行旋转
图2
图3
图4
3.第三步:补全牛顿摆的其他部件,实现化学疗效
搞定前两步以后,我们接出来须要做的就是完成整个牛顿摆的建立和达到想要的疗效,接出来如图5所示地复制4组我们刚才做好的全部物体,注意在物体之间要预留一点点空间,防止出现胡乱碰撞的问题。
图5
之后将第一个圆球进行旋转,也就是把它“拉上去”,这时侯只需深吸一口气,按下播放键,大多数情况下,你都能成功获得如图6的牛顿摆疗效啦!
图6
假如你的疗效出现了问题,要么就是初始摆动幅渡过大,要么就是圆球摆放距离不均匀,要么就是质心世界环境的设置有问题,我们可以在场景属性中调整质心世界环境的数值,如图7。的质心设置比较麻烦的地方在于它在播放时都会主动烘培数据,但当你更改参数后它并不会主动删掉烘焙数据,所以假如忘掉自动删掉,才会出现“为什么我明明更改了参数但还是不按套路出牌”的境况。所以建议在质心世界环境中一是调高子步数和迭代次数,二是每次更改数据后一定要先清理、再烘培,还可以依据须要来调整速度,虽然我们不是严格依照物体比列来设计,常常会出现球体联通速渡过慢等问题。
疗效完成后,接出来就是把整个牛顿摆的造型搞定,这一步也很简单,基本上就是按图索骥,照着你找的参考图简简单单做一个就完事儿,最终的疗效如图8所示。
图7
图8
本章小结:质心化学系统可玩性很丰富
作为最好玩的数学系统之一,质心系统可以做的事情实在太多物理实验碰撞球,即使在算法精度上并没有非常高,但依然可以实现许多有趣的疗效,而联动质心约束然后的可玩性又进一步得到升华。在本次教学中,牵引圆球沿轨迹碰撞就是一个挺好的事例,感兴趣的读者同学们可以自行尝试各类设置,相信大家都能发觉好多的“新台湾”!