案例: Stealth Game
规则是在不被警卫发现的情况下到达目的地
,
,
,
,
EP1
创建平面,创建警卫Guard胶囊,创建路径Path
-
1.Gizmo的使用
警卫object附上Guard脚本
路径Path放到holder变量里,有多个点,
最后游戏场景里面,玩游戏的人看不见
, -
2.让警卫跟随轨迹移动
,
,
xxxxxxxxx有bug,移动不流畅,未修复 -
3.警卫加上灯光,旋转
Guard代码添加部分
转向很流畅,移动不流畅的bug可以先放着不管吧
。、
。
。
。
EP2
修复guard与目标夹角大于90度时不能正确转向(加绝对值Mathf.Abs)
- 1.新建玩家物体,添加转向和移动
Player代码
加上刚体之后,可以碰撞检测,修改了下代码
变量:
函数:
,
,
- 2.警卫发现玩家条件
新增变量:
函数:
.
.
.
EP3
- 1.警卫发现玩家,玩家不能移动
Gurad脚本↓
新增变量(事件):
修改发现条件
,
Player脚本↓
新增变量:
新增函数:
被发现后,玩家不能移动:
subscribe Disable函数
场景变换或者玩家被摧毁后,unsubscribe函数,防止冗余↓
,
,
,
,
- 2.游戏结束UI
,
, - 3.游戏胜利条件
Player脚本↓
新增变量:
函数:
UI脚本↓
。
。
留底
新建空白对象,命名Guard Holder,把Guard和Path放到里面,最后新增到预制体中
任务
- 做地图,包含障碍和完成点
- 随机生成警卫