在物理引擎Physx3.3.4中。有一个关节的概念,英文名字叫Joint。
Joint的创建需要四个参数,其中两个参数actor0,actor1代表Joint所绑定的物体。
另两个参数position0,position1代表Joint相对于绑定物体的位置。这是官网的描述。
但Joint本来就是一个关系的描述,它怎么会有位置呢?
我疑惑。
直到我使用DistanceJoint的时候,我才明白过来。
DistanceJoint是一个用来保持两个物体距离的关节。且可以通过设置参数,使它拥有弹簧的功能。
但弹簧总是拥有开始位置和结束位置的。
经过试验,弹簧的开始位置就是actor0的位置加上position0,结束位置就是actor1的位置加上position1.
这两个位置决定了弹簧长度。
从这里其实可以逆向推导,每个Joint都是有两个位置的,且这两个位置都是和绑定的物体同步的。
或者称它们为两个锚点。这两个锚点的初始位置确定了它们的属性,当锚点随绑定物体发生位移的时候,关节就会产生作用。