标签:
游戏导入标准资源包“Character Controllers”后可以为游戏对象添加 character(角色控制器)组件:
添加角色控制器组建以后可以控制游戏对象移动;
角色控制器组件因为与碰撞组件相互冲突,所以添加角色控制器组建后Collider组件就会消失。
默认在Unity中创建的模型是不具备接收物理引擎的,除非给模型添加刚体组件或角色控制器组件。
看下面代码:
1 using UnityEngine; 2 using System.Collections; 3 4 public class rigidbodyScript : MonoBehaviour 5 { 6 7 // Use this for initialization 8 void Start () 9 { 10 11 } 12 13 // Update is called once per frame 14 void Update () 15 { 16 17 } 18 19 void OnControllerColliderHit (ControllerColliderHit hiter) 20 { 21 GameObject hit = hiter.collider.gameObject; 22 if (hit.rigidbody != null && !hit.rigidbody.isKinematic) { 23 if (hit.name != "Plan") { 24 hit.rigidbody.AddForce (new Vector3 (hiter.moveDirection.x, 0f, hiter.moveDirection.z), ForceMode.Impulse); 25 } 26 } 27 } 28 }
看检视面板和层次面板:
场景中的四个 cube 均已被添加刚体组件,参数默认。上图中 数字1 处 三个组建是 添加角色控制器组件后自动添加的 组件 。
运行以后 按下 WASD控制sphere 前后左右移动,碰到cube 的时候为 cube 添加一个 力 ,可以把 他们推开。
标签:
原文地址:http://www.cnblogs.com/devilWang/p/4671200.html