我将一个三维模型导入到ScenekKit中,然后改变肢体的欧拉角,让四肢进行动作。然而,此时,衣服和四肢都会渗透进来。我该如何处理这种情况?

发布于 2019-04-27 09:43:16
我认为您必须使用continuousCollisionDetectionThreshold实例属性。这个值给你一个最小的距离,身体必须旅行的SceneKit应用一个更精确(但更多的CPU/GPU昂贵)的算法来检测与其他机构的接触。
var continuousCollisionDetectionThreshold: CGFloat { get set }SceneKit的物理引擎可以使用两种碰撞检测:
discrete collision检测时,当SceneKit在呈现每个帧之前模拟物理(参见timeStep和),它根据该时间间隔内的身体速度更新每个物理体的位置,然后检查身体在其新位置是否与其他物体相交。continuous collision检测,SceneKit计算在每个帧期间将由一个主体遍历的卷,然后检查该卷是否与其他体相交。此属性的值为defaults to 0.0,因此在任何时候都会发生离散冲突检测。当此值为非零时,SceneKit将在物体在一个timeStep内超过指定距离时应用连续碰撞。离散碰撞检测提供了高性能,但可能导致结果不准确的小,快速的物体.连续碰撞检测具有较高的性能成本,只适用于球形物理形状,但能提供更精确的结果。
https://stackoverflow.com/questions/55757715
复制相似问题