我们打开上一篇06新输入系统项目,
本章要做的事情是摄像机跟随主角移动,
给主角增加一个Player标签方便主摄像机查找主角对象
在编辑场景调好角度,选择Main Camera对象按键盘Ctrl + Shift +F使运行场景与编辑场景相同
新建CameraCtrl脚本代码
编写CameraCtrl.cs脚本
using UnityEngine;
public class CameraCtrl : MonoBehaviour{
Transform player;
Vector3 offset;
float cameraSpeed = 3f;
Vector3 targetPosition;
void Awake(){
player = GameObject.FindWithTag("Player").transform;
if (player != null)
//存储当前摄像机的位置 与 主角位置的偏移量
offset = transform.position - player.position;
}
void Update(){
if (player != null){
//计算摄像机的目标位置 = 主角位置 + 之前保存的偏移量
targetPosition = player.position + offset;
//V3.Lerp()差值运算平滑地将摄像机位置从当前位置 差值到 目标位置
transform.position = Vector3.Lerp(transform.position, targetPosition, Time.deltaTime * cameraSpeed);
}
}
}
将CameraCtrl.cs脚本挂载至主摄像机对象身上
运行即可实现摄像机跟随主角移动的效果
本篇只实现了摄像机跟随主角功能,接下来还需做以下内容:
1.人物释放技能
2.怪物的生成
3.怪物UI信息(笼)
4.3D模型投射UI(UGUI)界面
5.坐骑在主角身旁召唤召回功能
6.异步传送功能
7.目标点巡航功能
以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。
具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》
【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6