FPS第三人称主角

来源:互联网 发布:nginx 动态服务器 编辑:程序博客网 时间:2024/06/10 04:59

动态的加载主角

 void Awake()    {     GameObject go = (GameObject)Resources.Load("Player");        player = Instantiate<GameObject>(go);        player.transform.position = new Vector3(4.6f, 0, -4.6f);    }

用Easy_touch控制主角旋转

public void MoveJoyStick(Vector2 weizhi){    if(weizhi.y!=0||weizhi.x!=0)    {        transform.LookAt(new Vector3(transform.position.x+weizhi.position.x,transform.position.y+weizhi.y,transform.z+weizhi.z));    }}

网页控制主角移动旋转

 void Move()    {        float h = Input.GetAxis("Horizontal");        float v = Input.GetAxis("Vertical");        rigidbody.MovePosition(transform.position + new Vector3(h, 0, v )* speed * Time.deltaTime);        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);        RaycastHit hitInfo;        if (Physics.Raycast(ray, out hitInfo, 200))        {            Vector3 target = hitInfo.point;            target.y = transform.position.y;            transform.LookAt(target);        }           }

摄像机跟随主角平滑移动

public class FollowCamera : MonoBehaviour {    public float smooth = 3;    private Transform player;    void Start()    {    //标签找主角        player = GameObject.FindGameObjectWithTag(Tag.player).transform;    }    //固定帧移动效果好    void FixedUpdate()    {        Vector3 targetPos = player.position + new Vector3(0,1,-2);        transform.position = Vector3.Lerp(transform.position,targetPos,smooth*Time.deltaTime);    }}