zoukankan      html  css  js  c++  java
  • unity开发c#代码

    1.摄像头跟随主角移动,并支持旋转。

    开发过程中需要摄像头以一定距离跟随player,同时会进行旋转,属于一种常见的跟随方式。

    using UnityEngine;
    using System.Collections;
    
    public class CameriaTrack : MonoBehaviour {
        private Vector3 offset = new Vector3(0,5,4);//相机相对于玩家的位置
        private Transform target;
        private Vector3 pos;
    
        public float speed = 2;
    
        // Use this for initialization
        void Start () {
            target = GameObject.FindGameObjectWithTag("Player").transform;
    
        }
    
        // Update is called once per frame
        void Update () {
            pos = target.position + offset;
            this.transform.position = Vector3.Lerp(this.transform.position, pos, speed*Time.deltaTime);//调整相机与玩家之间的距离
            Quaternion angel = Quaternion.LookRotation(target.position - this.transform.position);//获取旋转角度
            this.transform.rotation = Quaternion.Slerp(this.transform.rotation, angel, speed * Time.deltaTime);
    
        }
    }

    这里值得注意的是:需要记得将主角的tag设置为player。

    原理非常简单,一直将摄像机和玩家距离控制在一个值之内,旋转角度上相减取差值即可。

    觉得位置不太好的话,改一下最开始的offset即可。同时别忘了吧脚本挂在摄像头上。

  • 相关阅读:
    页面转表格并且下载
    关于表格导入
    C/C++作用域运算符::
    设计模式之观察者模式_C++
    C# 传不定参数
    C语言中的位域的使用
    C++/python求哈希值(SHA256)
    C++中纯虚函数
    类模板/函数模板实现父类指针指向子类对象(虚函数实现多态)
    Windows Socket 接口简介
  • 原文地址:https://www.cnblogs.com/lixiaoyao123/p/9678201.html
Copyright © 2011-2022 走看看