Unity中摄像机的重要性毋庸置疑,关于摄像机的操作也有很多,比如第一人称跟随,第二人称跟随,摄像机的拉近拉远等等,下面就暂时实现摄像机的拉近拉远和旋转:
创建新的场景,场景中添加一个cube,然后给cube添加新的脚本,脚本内容如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
using UnityEngine;using System.Collections;public class TestCube
: MonoBehaviour { private GameObject
rotateObj; private GameObject
camera; public float speed
= 3f; private bool rotate
= false; public float maxView
= 90; public float minView
= 10; void Start() { rotateObj
= GameObject.Find("Rotate"); camera
= GameObject.Find("Main
Camera"); } void Update
() { //滑动鼠标滑轮控制视角的大小 float offsetView
= Input.GetAxis("Mouse
ScrollWheel")
* speed; float tmpView
= offsetView + Camera.main.fieldOfView; tmpView
= Mathf.Clamp(tmpView, minView, maxView); Camera.main.fieldOfView
= tmpView; //绕主角旋转摄像机 if(rotate) { camera.transform.RotateAround(transform.position,
Vector3.up, speed * Input.GetAxis("Mouse
X")); } if(Input.GetMouseButtonDown(0)) { rotate
= true; } if(Input.GetMouseButtonUp(0)) { rotate
= false; } }}当然啦其实围绕旋转的功能本身并不难: |
本文介绍如何在Unity中通过脚本实现摄像机的拉近拉远及围绕目标旋转功能,并解决移动后视角跳跃的问题。
1万+

被折叠的 条评论
为什么被折叠?



