1
w1943 OP 修改一下:( 1 )设置外圈物理为被动(添加被动项),内圈为活动,滚珠不设置物理效果,内圈 ‘由于重力’ 正常下落。( 2 )如图 2 所示,设置外圈物理为被动(添加被动项),内圈为活动,一排滚珠(选中的)为活动,另一排滚珠不设置物理效果,结果内圈在设置物理效果的滚珠一侧 ‘开始下落并于滚珠发生挤压重叠 ’,在未设置物理效果的滚珠一侧反而上升(如图 3 所示),之后设置物理效果的滚珠被弹开。求指导此情况出现原因及解决方法。
|
![]() |
2
cubesugar 2017-07-16 11:39:57 +08:00
😓,还以为是问 纹理叠加……
|
![]() |
4
cubesugar 2017-07-16 11:54:33 +08:00
@w1943 可能是我也没说清,我也为你标题的 blender 是要问 OpenGL 相关的,比如 shader 实现 blender 等……
|
![]() |
6
kokutou 2017-07-16 12:09:38 +08:00 via Android
精确不重叠:
建模的的时候手动输入内外圈大小,算出差值,然后建个滚珠,大小用上面差值,然后移动到 x 轴上面内圈+差值 /2 的位置。 再编辑滚珠的物体中心点,放到 0,0,0 然后复制+旋转重复就行了。 物理模拟还有个方法就是把这个整个模型放大 100 倍再模拟,由于不精确造成的位移能变小点。代价模拟变慢 blender 动画用的少,没想到啥好方法。 |
7
w1943 OP 感谢 @kokutou 已经得到了精确的尺寸和坐标值。但是物理的问题依然存在。
像第一张图,内圈受到滚珠的力应该是不动的,但是实际效果是内圈直接飞出了滚珠环。        |
![]() |
8
kokutou 2017-07-16 16:34:55 +08:00
@w1943 #7
额。现在我才看了下图。 没看明白到底是要个啥效果。。。 我还以为是双列滚珠轴承。 ![]() 圆柱体创建的时候顶点给到 256 啊。。。球创建的时候段数和环给到 192 和 128,或者用细分 6~8 的棱角球。 你这个用默认的参数太不精确了。。。一条棱一条棱的。。。 刚刚好重叠,也会造成物理判断有问题。 球的半径比算出来的差值小 0.001 试试,所有相接触的地方给点很小的空隙。 blender 不是 pro/e,如果你看到它是个角和面组成的,那物理计算的时候它就是个角和面,不是圆的。。。 遇到重叠的,也很容易出 bug。。。 还有个方法就是做个东西在旁边限制它的运动,然后把这个物体参数里“最大显示类型”改为“线框”,这样就不挡视线。然后点掉相机图标,渲染的时候就不会显示出来。 |
![]() |
9
kokutou 2017-07-16 16:46:16 +08:00
发个 gif 试试
![]() |
10
w1943 OP @kokutou 好像是因为滚珠环的几何中心(质心)与内圈几何中心相重合导致 blender 误判。但滚珠环是空心的套在内圈上的,有没有什么办法能改变滚珠环的质量分布或者权重之类的。
|
12
w1943 OP @kokutou 几个滚珠球拆解为多个物体还是合成一个物体:如果拆解为多个物体运转时会不会散架,如果合成为一个物体组成一个类似于空心圆环的东西,那么这个圆环的几何中心和质心就会和内圈的几何中心重合,就会出现误判。
|
![]() |
16
kokutou 2017-07-18 15:12:23 +08:00
@w1943 如果是只做一个动画,不是要实时操作演示的话,建议手动做动画吧。。。
真要实时动可操作,还得在每个滚珠的位置上做齿轮,内圈和外圈也做齿轮,然后滚珠设为齿轮的子物体。 然后齿轮显示模式改为线框和设置渲染不可见。然后齿轮还要做约束。 |