如何将刚体添加到导入的建模软件游戏对象中?

时间:2016-03-14 09:17:35

标签: c# unity3d rigid-bodies

我在游戏中导入了一个游戏对象,我在3d建模软件中创建了游戏对象。现在我想控制那个游戏对象的运动,这样一旦它击中另一个游戏对象就应该停止他的运动。

我已经读到,对于这个游戏对象需要一个僵硬的人。那么我可以在脚本中如何以及在哪里添加一个刚体到该游戏对象?

1 个答案:

答案 0 :(得分:5)

<强>结论

这实际上是一个101 Unity3D问题。

请在www.unity3d.com上查看优秀的教程,然后在SO上提出这样的问题。有一个自己的Rigidbodies部分用于处理此问题。有清晰的例子,视频教程和源代码( Heart,你还想要什么?)。

简短说明(编辑)

将模型拖到编辑器场景中。

在层次结构中选择具有模型名称的GameObject。

点击Add Component,然后选择Ridigbody

Select Ridigbody

更简短的解释(CODE)

这一段简单的代码:

myGameObject.AddComponent<Rigidbody>();

克隆对象

GameObjects中实例化for-loop并向其添加Rigidbody的示例。

Rigidbody currentRb;
for(int i = 0; i < 10; i++)
{
    GameObject clone = (GameObject)Instantiate(prefab, Vector3.zero, Quaternion.identity);
    currentRb = clone.AddComponent<Rigidbody>();
    // You can even access the rigidbody with no effort
    currentRb.detectCollisions = true;
}

附加到MonoBehavoir

名为RequireComponent()的MonoBehavior对象有一个属性。

documentation复制,此附件将为每个对象添加一个Rigidbody组件。

// The GameObject requires a Rigidbody component
[RequireComponent (typeof (Rigidbody))]
public class PlayerScript : MonoBehaviour {
    Rigidbody rb;

    void Start() {
        rb = GetComponent<Rigidbody>();
    }
    void FixedUpdate()  {
        rb.AddForce(Vector3.up);
    }
}