当前位置:   article > 正文

UNITY之CharacterController_unity charactercontroller demo

unity charactercontroller demo

//Demo01

using UnityEngine;

using System.Collections;
public class CharacterCtr : MonoBehaviour {
    public Vector3 targetPos;
    CharacterController cc;

    // Use this for initialization
    void Start () {
        cc = gameObject.GetComponent<CharacterController> ();
    }
    
    // Update is called once per frame
    void Update () {
    
        if(Input.GetMouseButton(0)){
            //从摄像机位置到nput.mousePosition(鼠标点)的位置构造一条射线ray
            Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
            //绘制射线
            Debug.DrawRay(ray.origin, ray.direction * 10, Color.yellow);
            //RaycastHit射线投射碰撞信息
            //Variables>collider:碰到的碰撞器,distance:从射线的原点到触碰点的距离
            //point:在世界坐标空间,射线碰到碰撞器的接触点
            //rigidbody:碰到的该碰撞器上的刚体,如果碰撞器上没有附加刚体,那么返回null
            //transform:碰到的该刚体或碰撞器的变换
            RaycastHit hit;
            if(Physics.Raycast(ray,out hit)){
                targetPos = hit.point;
            }
        }

        if(Vector3.Distance(targetPos,transform.position)>1f){
            Vector3 step = Vector3.ClampMagnitude (targetPos-this.transform.position,0.1f);
            cc.Move(step);

        }

        if(Input<
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/985702
推荐阅读
相关标签
  

闽ICP备14008679号