V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
w1943
V2EX  ›  Blender

blender 问题求助

  •  
  •   w1943 · 2017-07-16 11:05:05 +08:00 · 6257 次点击
    这是一个创建于 2713 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想用 blender 做一个滚珠轴承(如图 1 ),最外侧的是外圈,中间(已经选中的)是两排滚珠,最里边被两排滚珠夹着的是内圈。现在有如下两个疑问:1.如何使滚珠与外圈,滚珠与内圈实现精准内切,外接。换句话说就是让滚珠与外圈,内圈恰好刚刚接触而不重叠。2.怎么实现物理效果--已进行如下测试:( 1 )设置外圈物理为被动(添加被动项),内圈为活动,滚珠不设置物理效果,内圈正常下落。( 2 )如图 2 所示,设置外圈物理为被动(添加被动项),内圈为活动,一排滚珠(选中的)为活动,另一排滚珠不设置物理效果,结果内圈在设置物理效果的滚珠一侧正常下落,在未设置物理效果的滚珠一侧反而上升(如图 3 所示),之后设置物理效果的滚珠被弹开。求指导此情况出现原因及解决方法。

    图一
    ![avatar]( https://workspace.v2ex.com/file/3a734730-69d3-11e7-98d0-90b11c50e3c5/001.jpg
    图二
    ![avatar]( https://workspace.v2ex.com/file/6d85cd6e-69d3-11e7-98d0-90b11c50e3c5/002.jpg
    图三
    ![avatar]( https://workspace.v2ex.com/file/7ebc1354-69d3-11e7-98d0-90b11c50e3c5/003.jpg
    18 条回复    2017-07-18 15:14:55 +08:00
    w1943
        1
    w1943  
    OP
       2017-07-16 11:35:18 +08:00
    修改一下:( 1 )设置外圈物理为被动(添加被动项),内圈为活动,滚珠不设置物理效果,内圈 ‘由于重力’ 正常下落。( 2 )如图 2 所示,设置外圈物理为被动(添加被动项),内圈为活动,一排滚珠(选中的)为活动,另一排滚珠不设置物理效果,结果内圈在设置物理效果的滚珠一侧 ‘开始下落并于滚珠发生挤压重叠 ’,在未设置物理效果的滚珠一侧反而上升(如图 3 所示),之后设置物理效果的滚珠被弹开。求指导此情况出现原因及解决方法。
    cubesugar
        2
    cubesugar  
       2017-07-16 11:39:57 +08:00
    😓,还以为是问 纹理叠加……
    w1943
        3
    w1943  
    OP
       2017-07-16 11:51:54 +08:00
    @cubesugar
    就是如何让轴承的外圈与滚珠,滚珠与内圈无缝结合在一起而又不重叠。同时模拟真实轴承运转时的效果。
    cubesugar
        4
    cubesugar  
       2017-07-16 11:54:33 +08:00
    @w1943 可能是我也没说清,我也为你标题的 blender 是要问 OpenGL 相关的,比如 shader 实现 blender 等……
    kokutou
        5
    kokutou  
       2017-07-16 12:02:46 +08:00 via Android
    @w1943 物理计算的不喜欢,那就改纯手动手打关键帧调动画曲线吧。。。
    kokutou
        6
    kokutou  
       2017-07-16 12:09:38 +08:00 via Android
    精确不重叠:
    建模的的时候手动输入内外圈大小,算出差值,然后建个滚珠,大小用上面差值,然后移动到 x 轴上面内圈+差值 /2 的位置。

    再编辑滚珠的物体中心点,放到 0,0,0 然后复制+旋转重复就行了。

    物理模拟还有个方法就是把这个整个模型放大 100 倍再模拟,由于不精确造成的位移能变小点。代价模拟变慢
    blender 动画用的少,没想到啥好方法。
    kokutou
        8
    kokutou  
       2017-07-16 16:34:55 +08:00
    @w1943 #7
    额。现在我才看了下图。
    没看明白到底是要个啥效果。。。
    我还以为是双列滚珠轴承。


    圆柱体创建的时候顶点给到 256 啊。。。球创建的时候段数和环给到 192 和 128,或者用细分 6~8 的棱角球。
    你这个用默认的参数太不精确了。。。一条棱一条棱的。。。

    刚刚好重叠,也会造成物理判断有问题。
    球的半径比算出来的差值小 0.001 试试,所有相接触的地方给点很小的空隙。
    blender 不是 pro/e,如果你看到它是个角和面组成的,那物理计算的时候它就是个角和面,不是圆的。。。
    遇到重叠的,也很容易出 bug。。。

    还有个方法就是做个东西在旁边限制它的运动,然后把这个物体参数里“最大显示类型”改为“线框”,这样就不挡视线。然后点掉相机图标,渲染的时候就不会显示出来。
    kokutou
        9
    kokutou  
       2017-07-16 16:46:16 +08:00
    发个 gif 试试
    w1943
        10
    w1943  
    OP
       2017-07-17 09:22:44 +08:00
    @kokutou 好像是因为滚珠环的几何中心(质心)与内圈几何中心相重合导致 blender 误判。但滚珠环是空心的套在内圈上的,有没有什么办法能改变滚珠环的质量分布或者权重之类的。
    kokutou
        11
    kokutou  
       2017-07-17 10:34:31 +08:00
    @w1943 滚珠环的物理属性全都去掉,然后把滚珠设为父物体,就会跟着一起动,但不参与物理计算。
    w1943
        12
    w1943  
    OP
       2017-07-17 12:47:50 +08:00
    @kokutou 几个滚珠球拆解为多个物体还是合成一个物体:如果拆解为多个物体运转时会不会散架,如果合成为一个物体组成一个类似于空心圆环的东西,那么这个圆环的几何中心和质心就会和内圈的几何中心重合,就会出现误判。
    kokutou
        13
    kokutou  
       2017-07-18 14:18:30 +08:00
    @w1943
    你是不是要这样的运动效果?
    w1943
        14
    w1943  
    OP
       2017-07-18 14:27:46 +08:00
    @kokutou
    对滴
    w1943
        15
    w1943  
    OP
       2017-07-18 15:11:05 +08:00
    @kokutou 怎么做出来的?
    kokutou
        16
    kokutou  
       2017-07-18 15:12:23 +08:00
    @w1943 如果是只做一个动画,不是要实时操作演示的话,建议手动做动画吧。。。

    真要实时动可操作,还得在每个滚珠的位置上做齿轮,内圈和外圈也做齿轮,然后滚珠设为齿轮的子物体。
    然后齿轮显示模式改为线框和设置渲染不可见。然后齿轮还要做约束。
    kokutou
        17
    kokutou  
       2017-07-18 15:13:28 +08:00
    @w1943 我这个是手动做动画的。

    算一下滚珠和环接触位置的角速度,反过来算出转的角度,就能做到滚动很契合了。
    kokutou
        18
    kokutou  
       2017-07-18 15:14:55 +08:00   ❤️ 1
    @w1943
    这种东西你想想放到现实里,摆桌上,也很难运动这么完美。
    物理模拟要运动完美,需要处理的细节太多了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1493 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:07 · PVG 01:07 · LAX 09:07 · JFK 12:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.