C# 使用C创建统一碰撞的彩色立方体#

C# 使用C创建统一碰撞的彩色立方体#,c#,api,unity3d,collider,C#,Api,Unity3d,Collider,我有一个平面和一个圆柱体来代表一个人,我用一个脚本制作了一个彩色立方体,但是碰撞器不工作,尽管它们是按窗口显示的那样被触发的。代码如下: GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane); GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = new Vecto

我有一个平面和一个圆柱体来代表一个人,我用一个脚本制作了一个彩色立方体,但是碰撞器不工作,尽管它们是按窗口显示的那样被触发的。代码如下:

    GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
    GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
    cube.transform.position = new Vector3(0, 0.5F, 0);
    cube.GetComponent<Renderer>().material.SetColor("_Color", Color.red);
    cube.GetComponent<BoxCollider>().isTrigger = true;
GameObject plane=GameObject.CreatePrimitive(PrimitiveType.plane);
GameObject cube=GameObject.CreatePrimitive(PrimitiveType.cube);
cube.transform.position=新矢量3(0,0.5F,0);
cube.GetComponent().material.SetColor(“\u Color”,Color.red);
cube.GetComponent().isTrigger=true;

圆柱体怎么能穿过立方体?请注意,圆柱体是在Unity中制作的。

好吧,您已经设置了
cube.GetComponent().isTrigger=true。触发碰撞器不会与其他碰撞器进行物理交互。此外,其中一个对象可能应该附加一个非运动学刚体,以便记录碰撞。这还取决于移动对象的方式-如果执行类似于
Translate()
的操作,帧的物理交互将被忽略,从而导致可能的剪切。总而言之,有一些可能的原因,但是没有足够的关于您的情况的信息来给出明确的答案。触发碰撞器不会与其他碰撞器进行物理交互。此外,其中一个对象可能应该附加一个非运动学刚体,以便记录碰撞。这还取决于移动对象的方式-如果执行类似于
Translate()
的操作,帧的物理交互将被忽略,从而导致可能的剪切。总之,有一些可能的原因,但没有足够的信息对你的情况给出明确的答案。