切换视角
★ 切换视角教程:【Unity教程搬运】11分钟完成第三人称移动 - Unity教程
★ 视频演示:自学Unity 切换第一人称和第三人称视角
★ 项目下载: https://drive.aerwen.net/d/aerwen/unity%E6%BA%90%E7%A0%81/ChangePerson/ChangePerson.zip
★ 脚本下载:
切换第一人称和第三人称:https://drive.aerwen.net/d/aerwen/unity%E6%BA%90%E7%A0%81/ChangePerson/Scripts/ChangeCam.cs
第三人称下切换视角:https://drive.aerwen.net/d/aerwen/unity%E6%BA%90%E7%A0%81/ChangePerson/Scripts/ThirdPersonCam.cs
要点:
1. 创建 Player
对象
-
创建一个空对象,命名为
Player
-
为
Player
对象添加刚体组件(Rigidbody
)-
在
Interpolate
属性中选择 Interpolate 选项 -
在
Collision Detection
属性中选择 Continuous 选项
-
2. 创建子对象和眼睛
-
在
Player
对象下创建一个胶囊体(capsule),命名为PlayerObj
-
创建一个空对象,命名为
orientation
-
在
Player
对象下创建一个立方体(cube),作为玩家的眼睛 -
为这些对象添加颜色材质
3. 安装 Cinemachine
-
打开
Package Manager
,选择Unity Registry
-
安装
Cinemachine
4. 创建自由视角摄像机
-
在
Cinemachine
中选择Create FreeLook Camera
(用于控制主相机)
5. 配置自由视角摄像机
-
在
Inspector
窗口中,将玩家对象
拖拽到Follow对象
和LookAt对象
中 -
针对
CinemachineFreeLook
组件,设置以下参数:-
在
Lens
中,将Field Of View
设置为 50 -
在
Axis Control
中,将Y Axis
的Invert Axis
设置为 true,X Axis
的Invert Axis
设置为 false -
在
Orbits
中,将Binding Mode
设置为 "World Space",并设置下面图片的参数👇 -
在
Rig
中 关闭所有Dead Zone Width
和Dead Zone Height
全部设置为 0
-
6. 相机脚本
-
根据相机对准的方向旋转玩家的朝向
-
创建变量
-
编写脚本
-
7. 制作准心
【unity游戏基础篇】08.第三人称游戏中用UI制作一个准星,以及如何用photoshop画准星
unity最新版本的Text(TMP)UI文本怎么显示中文_unity text 中文-CSDN博客
8. 配置其他风格的相机
-
添加以下变量
-
创建一个
CombatLookAt
对象在玩家的跟前 -
修改脚本如下👇
-
复制一个第三人称的 cinemachine 相机对象(
ThirdPersonCam
),并命名为CombatCam
,先取消激活ThirdPersonCam
, 并修改如下设置-
LookAt
选项修改成刚才创建的 CombatLookAt 对象 -
Vertical Fov
选项修改 45 -
Oribits
选项修改如下图👇 -
Rig
选项中,所有阻尼(Damping)
设置为 0
-
-
复制一个第三人称的 cinemachine 相机对象(
ThirdPersonCam
),并命名为TopDownCam
,先取消激活ThirdPersonCam
, 并修改如下设置-
Oribits
选项修改如下图👇
-
9. 切换视角脚本
-
在外部声明 各个相机 变量
-
编写切换方法
-
使用切换方法
10. 切换人称脚本
-
创建一个对象,装着 第三人称主相机,和第一人称主相机
-
创建一个
ChangeCam
的脚本,挂载到CameraHolder
-
声明变量
-
编写脚本
-