我有一个3D游戏,当你点击游戏时随机生成。问题是物体不会产生碰撞而且角色开始穿过墙壁。在C#中使用碰撞生成对象的必要代码是什么?
答案 0 :(得分:1)
好的,如果我已经正确地阅读了你的问题,那么你会为你的游戏自动生成随机网格物体,但它们还没有碰撞物。要在c#中为对象生成对撞机,请参阅以下示例:
using UnityEngine;
using System.Collections;
public class AddComponentExample : MonoBehaviour
{
void Start( )
{
SphereCollider sc = gameObject.AddComponent<SphereCollider> as SphereCollider;
}
}
您需要将碰撞器组件添加到您正在生成的游戏对象中。您选择的那个取决于您创建的网格,因此如果您要生成立方体网格,请选择一个盒子对撞机。
如果您要创建自己的网格而不是更复杂的基元,那么您可以应用&#34; MeshCollider&#34;。但是要注意,如果你在运行时创建自己的网格,你可能会得到一些不寻常的文物。
希望有所帮助