@作者: 风不停息丶
🧑💻《秘密行动》案例简介
- 官方经典案例《秘密行动》涵盖了unity3d引擎大部分基础知识、个人案例练习笔记总结
- 游戏效果视频更新在B站、👉视频链接👈
- 游戏简介:在秘密行动中,你扮演Ethan游戏角色,你在参观工厂设施途中偶然发现了Unity实验室的模拟区域,你的四周都是敌人,你必须谨慎避开警卫和安全摄像头,解锁激光门并找到钥匙乘坐电梯逃离出模拟区域。
游戏搭建主要工作
- 1、创建游戏环境、场景搭建、布置灯光,警报灯,设置警报声
- 2、添加游戏主角、设置Animator动画、设置角色控制运动移动
- 3、设置玩家摄像机实时跟随和动态视野调整
- 3、添加场景摄像头及实现旋转动画、设置摄像头检测触发警报功能
- 4、添加场景激光警报装置、激光音效、设置激光检测触发警报功能、添加激光开关器
- 5、添加自动门、自动门音效、及自动门出入检测、敌人和玩家都可检测
- 6、添加电梯、设置电梯门音效、设置玩家出入检测、添加玩家拾取电梯钥匙功能
- 7、添加敌人(机器人),设置Animator动画、利用Blend Tree(混合树)控制敌人行为
- 8、设置场景NavMeshAgent自动巡逻导航网格
- 9、利用NavMeshAgent控制机器人的AI巡逻功能
- 10、控制机器人行走动画
- 11、控制机器人追捕玩家AI
- 12、控制机器人射击、添加射击动画、射击特效、射击音效
- 13、利用反向动力学IK控制机器人手部(枪械)方向指向玩家
- 14、设置机器人伤害控制、添加玩家生命值、添加玩家血条
- 15、设置菜单UI界面、胜利失败效果
文章来源:https://www.toymoban.com/news/detail-438166.html
游戏代码分布
代码 | 功能 |
---|---|
GameController | 游戏控制器 |
Tags | 游戏标签类 |
一.👉游戏场景
代码 | 功能 |
---|---|
AlermLight | 警报灯触发器 |
CCTVcam | 场景摄像机触发器 |
Laser | 激光触发器 |
SwitchUnit | 激光开关器 |
Door | 自动门触发器 |
Lift | 电梯触发器 |
ExitDoor | 电梯门触发器 |
二.👍玩家
代码 | 功能 |
---|---|
Player | 玩家角色控制器 |
FollowPlayer | 玩家相机跟随 |
PlayerHealth | 玩家生命值 |
Keycard | 玩家拾取电梯门钥匙 |
三.👌敌人(机器人)
代码 | 功能 |
---|---|
EnemyAnimtion | 敌人动画 |
EnemyMoveAI | 敌人AI控制器 |
EnemySight | 敌人视线听觉、检测玩家 |
EnemyShoting | 敌人射击、IK |
ShootingEffect | 敌人射击特效 |
游戏核心技术点
👉敌人视野检测
视野之内发现玩家方法:使用Vector3.Angle+射线检测来确定玩家是否在视野范围之内文章来源地址https://www.toymoban.com/news/detail-438166.html
//视野检测
public bool playerInSight;//判断玩家是否在视野之内
public float fieldOfView = 110f;//敌人视野度数
public void OnTriggerStay(Collider other)
{
//视野检测玩家 Tags.Player玩家标签
if (other.tag == Tags.Player)
{
//利用敌人、玩家 夹角 判断玩家是否处于敌人视野范围之内
Vector3 forward = this.transform.forward;//敌人自身向量
Vector3 playerDir = other.transform.position - transform.position; //玩家向量
//利用Angle获取向量之间最小的夹角
float temp = Vector3.Angle(forward, playerDir);
到了这里,关于unity案例,秘密行动(案例笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!