美文网首页
Unity——视角可以调整的第三方相机

Unity——视角可以调整的第三方相机

作者: 橙子是气球杀手 | 来源:发表于2017-09-30 02:18 被阅读0次

    新建一个相机作为主相机,然后将此脚本绑定到该相机,就可以实现按住鼠标右键来调整视角的效果。

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class camera : MonoBehaviour {
    
        private const float Y_MIN = 0.0f;
        private const float Y_MAX = 50.0f;
    
    
    
        public Transform lookAt;
        public Transform camTransform;
    
        private Camera cam;
    
        private float distance = 3.0f;
        private float currentX = 0.0f;
        private float currentY = 8.7f;
        private float sensivityX = 4.0f;
        private float sensivityY = 1.0f;
    
    
        private void Start(){
            camTransform = transform;
            cam = Camera.main;
    
    
        }
        private void Update(){
            if (Input.GetMouseButton (1)) {
                currentX += Input.GetAxis ("Mouse X");
                currentY += Input.GetAxis ("Mouse Y");
    
                currentY = Mathf.Clamp (currentY, Y_MIN, Y_MAX);
            }
    
            if((Input.GetKey(KeyCode.A))||(Input.GetKey(KeyCode.D))||(Input.GetKey(KeyCode.W))){
                //currentX = lookAt.rotation.x;
                currentX += Input.GetAxis ("Horizontal")* 50.0f * Time.deltaTime*0.8f;   //Auto-Adjust when your object moves or turns
            }
    
    
        }
        private void LateUpdate(){
            Vector3 dir = new Vector3 (0, 0, -distance);
            Vector3 offset = new Vector3 (0,2,0);           // it's optional according to your needs.
            Quaternion rotation = Quaternion.Euler (currentY, currentX, 0);
            camTransform.position = lookAt.position + rotation * dir;
            camTransform.LookAt (lookAt.position+offset);
        }
    
    
    }
    

    相关文章

      网友评论

          本文标题:Unity——视角可以调整的第三方相机

          本文链接:https://www.haomeiwen.com/subject/kazwextx.html