Roblox中使用自定义FileMesh时Part的Size属性失效是什么原因
问题原因
FileMesh类型的SpecialMesh的视觉渲染尺寸由自身的Scale属性独立控制,不会默认和父级Part的Size属性联动。你修改Part的Size仅会调整Part的碰撞盒边界,不会改变Mesh的显示效果,因此两次测试的模型视觉尺寸没有差异。
解决方法
- 直接修改
SpecialMesh的Scale属性调整显示大小,若要匹配Size为(2,2,2)的效果,添加如下代码:
m.Scale = Vector3.new(2, 2, 2)
需要调整为5的尺寸时,将Scale对应设置为Vector3.new(5,5,5)即可。
- 若需要Mesh尺寸始终和Part的
Size保持同步,可以添加属性变更监听实现自动联动:
-- 监听Part的Size属性变化,同步更新Mesh的Scale p:GetPropertyChangedSignal("Size"):Connect(function() m.Scale = p.Size end)
补充:如果你从Blender导出的模型有预设的基础缩放比例,同步时乘以对应的换算系数即可完成适配。
内容的提问来源于stack exchange,提问作者Anders Lindén
相关产品推荐
相关产品推荐

