摄像机跟随实现

在Gameplay文件夹内新建CameraController脚本

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
using UnityEngine;

public class CameraController : MonoBehaviour
{
Transform mPlayerTrans;

Vector3 velocity = Vector3.zero;

void Update()
{
if (!mPlayerTrans)
{
var playerGameObj = GameObject.FindGameObjectWithTag("Player");

if (playerGameObj)
{
mPlayerTrans = playerGameObj.transform;
}
else
{
return;
}
}


var cameraPos = mPlayerTrans.TransformPoint(new Vector3(0,3,-10));

var currentPos = gameObject.transform.position;

transform.position = Vector3.SmoothDamp(currentPos,cameraPos,ref velocity,0.5f);
}
}

将此脚本挂载在Camera上,一个简单的跟随Camera就实现好了。

v0.0.2版本归档

  • 统计系统:统计击杀敌人的数量 √
  • 主角的Model:主角的生命值信息 √
  • 主角碰到敌人就掉血 √
  • 关卡中的通关功能(终点) √
  • 摄像机跟随主角功能 √

将更新内容添加进之前的Txt文件中

v0.0.2归档

v0.0.3规划

接下来要实现关卡编辑器,关卡编辑器核心的部分是存储的部分,在存储之前是关卡编辑,在存储之后是关卡运行。

在关卡编辑部分,先不用去实现,而是先去按照手写存储文件的方式去编辑关卡,在游戏运行的时候,去解析手写好的存储文件,然后根据文件的数据去创建游戏对象。

  • 关卡编辑器
    • 手写存储文件格式制定、
    • 解析并运行手写的存储文件

回到游戏,我们还需要添加游戏失败界面和游戏开始界面,也就是游戏最基本的“闭环”——开始游戏界面 > 游戏中 > 游戏结束/通关 > 回到游戏开始

  • 游戏
    • 增加开始界面和失败界面

完成基本的游戏闭环设计后,我们可以给游戏添加更多逻辑:

  1. 一开始初始弹药量限制为3发
  2. 攻击一个敌人20%无弹药补给,80%给1~3弹药补给
  3. 怪物需要移动

最后总结v0.0.3版本规划

  • 关卡编辑器

    • 手写存储文件格式制定、

    • 解析并运行手写的存储文件

  • 游戏

    • 增加开始界面和失败界面
    • 增加弹药限制,初始为3发
    • 攻击一个敌人20%无弹药补给,80%给1~3弹药补给
    • 怪物增加移动
    • 改善细节(eg.子弹打中敌人后消失)