0

我试图让它让玩家穿过布帘。

我的第一人称相机上连接了一个球体对撞机,一个原始平面上连接了一个布料脚本。我试图在运行时将 FPS cam collider 附加到布料对象上。

我写了一个看起来应该可以工作的脚本,但它没有。没有错误或什么都没有。该脚本编译并运行,但球体对撞机只是没有连接到布料组件。是什么赋予了?

    public class ClothTest : MonoBehaviour {

          private void Start() {

    Cloth a = GetComponent<Cloth>();

    var ClothColliders = new ClothSphereColliderPair[1];
    ClothColliders[0] = new ClothSphereColliderPair(GameObject.Find("First Person Camera").GetComponent<SphereCollider>());

    ClothColliders[0] = a.sphereColliders[0];

}

这是检查器中布料组件的屏幕截图:

这是检查器中布料组件的屏幕截图

4

1 回答 1

2

您正试图将SphereCollider相机中Cloth

ClothColliders[0] = a.sphereColliders[0]; 

正在做相反的事情。它试图将 SphereCollider你的Cloth到你的相机中的那个。改变它并[0]从每一侧移除。

最后一行代码应该是:

a.sphereColliders = ClothColliders;

完整的新功能:

void Start()
{
    Cloth a = GetComponent<Cloth>();
    var ClothColliders = new ClothSphereColliderPair[1];
    ClothColliders[0] = new ClothSphereColliderPair(GameObject.Find("First Person Camera").GetComponent<SphereCollider>());

    a.sphereColliders = ClothColliders;
}
于 2018-05-01T19:52:14.170 回答