我在游戏中导入了一个游戏对象,我在3d建模软件中创建了游戏对象。现在我想控制那个游戏对象的运动,这样一旦它击中另一个游戏对象就应该停止他的运动。
我已经读到,对于这个游戏对象需要一个僵硬的人。那么我可以在脚本中如何以及在哪里添加一个刚体到该游戏对象?
答案 0 :(得分:5)
<强>结论强>
这实际上是一个101 Unity3D问题。
请在www.unity3d.com上查看优秀的教程,然后在SO上提出这样的问题。有一个自己的Rigidbodies部分用于处理此问题。有清晰的例子,视频教程和源代码( Heart,你还想要什么?)。
简短说明(编辑)
将模型拖到编辑器场景中。
在层次结构中选择具有模型名称的GameObject。
点击Add Component
,然后选择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);
}
}