如何设置SubtractAsync生成的Union的CollisionFidelity属性?
问题:SubtractAsync生成的Union碰撞精度异常导致无法进入房间
我编写了一个脚本,使用SubtractAsync函数在BasePart中随机生成地下房间。脚本运行正常,但生成的Union的**CollisionFidelity(碰撞精度)**不准确,导致无法进入房间。
以下是核心代码片段:
[...] for _,i in workspace:GetPartsInPart(p) do -- 获取要切割的部件 local succ, err = pcall(function() -- 使用pcall忽略无法切割的部件(我的模型中没有需要切割的此类部件) local fi = i:SubtractAsync({b.RemoveFromTerrain}) -- 执行切割 fi.Parent = i.Parent -- 用切割后的部件替换原部件 i:Destroy() end) end [...]
需要说明的是:尽管SubtractAsync运行速度较慢,但由此带来的性能损耗在我的场景下完全可接受。
我已尝试以下解决方法,但均未成功:
- 在脚本中创建Union后设置
CollisionFidelity:无法设置,报错信息为The current thread cannot write 'CollisionFidelity' (lacking capability Plugin) - 在Studio中对要切割的BasePart设置
CollisionFidelity:BasePart本身没有该属性
内容的提问来源于stack exchange,提问作者ridiche34
相关产品推荐
相关产品推荐

