unity 实现相机围绕物体旋转、拉进、跟随(通过构建camera目录结构实现)
2018-09-04 17:51
489 查看
unity 实现相机围绕物体旋转、拉进、跟随
通过构建camera目录结构实现
这里写代码片 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraRotate : MonoBehaviour { [SerializeField] private Transform cameraTransform; [SerializeField] private Transform targetTransform; [SerializeField] private Transform lookAtTransform; [SerializeField] private Transform rotateY; float y; [SerializeField] private Transform rotateX; float x; [SerializeField] private Transform zoomZ; float z; //设置默认数值 private float mouseX; private float mouseY = 20.0f; private float mouseScrollWheel = -5.0f; private float t; void Start() { RotateX(mouseY); ZoomZ(mouseScrollWheel); } void Update() { ControlCamera(); } private void LateUpdate() { FollowTarget(cameraTransform, targetTransform); LookAtTarget(cameraTransform, targetTransform); } private void LookAtTarget(Transform transformCamera, Transform transformTarget) { transformCamera.LookAt(transformTarget); } private void FollowTarget(Transform transformCamera, Transform transformTarget) { transformCamera.position = transformTarget.position; } private void ControlCamera() { if (Input.GetMouseButton(0)) { mouseX += Input.GetAxis("Mouse X"); Debug.Log(mouseX); RotateY(mouseX); mouseY += Input.GetAxis("Mouse Y"); RotateX(mouseY); } mouseScrollWheel += Input.GetAxis("Mouse ScrollWheel"); //限制相机的位置范围,别钻进去 mouseScrollWheel = Mathf.Clamp(mouseScrollWheel,-10.0f,-1.0f); ZoomZ(mouseScrollWheel); } private void RotateY(float ry) { rotateY.localRotation = Quaternion.Euler(new Vector3(0, ry, 0)); } private void RotateX(float rx) { rotateX.localRotation = Quaternion.Euler(new Vector3(rx, 0, 0)); } private void ZoomZ(float rz) { zoomZ.localPosition = new Vector3(0, 0, rz); } }阅读更多
相关文章推荐
- unity 相机围绕某物体自动旋转
- unity中通过收拾实现物体旋转和放大缩小
- unity 相机围绕物体旋转,拉近(纯脚本控制)
- Unity实现摄像机围绕物体旋转
- unity笔记 0 - 添加物体,预制体;施加力;移动物体,旋转物体;相机跟随;禁用物体
- Unity通过鼠标实现相机视角旋转和缩放
- unity 鼠标控制摄像机围绕物体旋转
- unity 3d中简单巧妙的实现拖动鼠标旋转物体
- Unity鼠标自由查看3D物体之控制摄相机Camera
- 在Unity中通过触摸屏幕实现模型的旋转和缩放
- unity-实现摄像机跟随物体(Vector3.SmoothDamp)
- Unity中实现相机平滑且流畅的跟随玩家(或其他对象)
- Unity3d实现物体围绕某一点进行旋转
- unity3d实现相机对场景物体的旋转、缩放、平移查看功能、近似于scene下查看场景的效果
- unity相机旋转,缩放与跟随
- unity 手指旋转物体双手控制相机的远近
- unity 通过点击游戏小地图,来移动主相机功能实现
- 【Unity快速实现小功能】实现物体绕轴旋转
- Unity中实现Camera缩放旋转
- three.js实现围绕某物体旋转