角色控制器

来源:互联网 发布:宠物美容剪刀 知乎 编辑:程序博客网 时间:2024/04/28 17:07

     欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。

 角色控制器

       角色控制器主要用于第三人称或第一人称游戏主角控制,并不使用刚体物理效果。

 

       选择你要加角色控制器的物体,在右侧的Inspector窗口选中下面的Add Component>Physics> Charactr Controller就可以为这个物体添加角色控制器了。

  通过调用SimpleMove()使物体移动

   CharacterController controller;

        public float speed=10;

        

        void Start () {

                controller=this.GetComponent<CharacterController>();

        }

        

        void Update () {

 

                controller.SimpleMove (new Vector3(Input.GetAxis("Horizontal")*speed,0,Input.GetAxis("Vertical")*speed));

        }

}

射线

 

       射线:射线是3D世界中一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射 。

 

       用途:射线应用范围比较广, 多用于碰撞检测(如:子弹飞行是否击中目标)、角色移动等 等。  

 

 

    利用射线打豆豆:

 

      public GameObject bean1;

      void Update () 

      {

      if(Input.GetMouseButton(0))

      {

       Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

       RaycastHit hit;

       if(Physics.Raycast(ray,out hit,1000))

      {

        GameObject go=GameObject.Instantiate(bean1,hit.point,transform.rotation)as GameObject;

      }

      }

忽略碰撞

       有些时候我们不想让指定的两对象发生碰撞,即要忽略他们的碰撞

 public Transform ball;   

    void Start() {  

         Physics.IgnoreCollision(ball.collider, this.collider);   

    } 

 

 

0 0