Unity 3D对象的整理

时间:2017-02-27 13:25:31

标签: c# unity3d unityscript

我有一个3D游戏,当你点击游戏时随机生成。问题是物体不会产生碰撞而且角色开始穿过墙壁。在C#中使用碰撞生成对象的必要代码是什么?

1 个答案:

答案 0 :(得分:1)

好的,如果我已经正确地阅读了你的问题,那么你会为你的游戏自动生成随机网格物体,但它们还没有碰撞物。要在c#中为对象生成对撞机,请参阅以下示例:

using UnityEngine;
using System.Collections;

public class AddComponentExample : MonoBehaviour
{
   void Start( )
   {
      SphereCollider sc = gameObject.AddComponent<SphereCollider> as SphereCollider;
   }
}

您需要将碰撞器组件添加到您正在生成的游戏对象中。您选择的那个取决于您创建的网格,因此如果您要生成立方体网格,请选择一个盒子对撞机。

如果您要创建自己的网格而不是更复杂的基元,那么您可以应用&#34; MeshCollider&#34;。但是要注意,如果你在运行时创建自己的网格,你可能会得到一些不寻常的文物。

希望有所帮助