unity案例,秘密行动(案例笔记)

@作者: 风不停息丶
在这里插入图片描述


🧑‍💻《秘密行动》案例简介

  • 官方经典案例《秘密行动》涵盖了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界面、胜利失败效果

在这里插入图片描述


游戏代码分布

代码 功能
GameController 游戏控制器
Tags 游戏标签类

一.👉游戏场景

代码 功能
AlermLight 警报灯触发器
CCTVcam 场景摄像机触发器
Laser 激光触发器
SwitchUnit 激光开关器
Door 自动门触发器
Lift 电梯触发器
ExitDoor 电梯门触发器

二.👍玩家

代码 功能
Player 玩家角色控制器
FollowPlayer 玩家相机跟随
PlayerHealth 玩家生命值
Keycard 玩家拾取电梯门钥匙

三.👌敌人(机器人)

代码 功能
EnemyAnimtion 敌人动画
EnemyMoveAI 敌人AI控制器
EnemySight 敌人视线听觉、检测玩家
EnemyShoting 敌人射击、IK
ShootingEffect 敌人射击特效

游戏核心技术点

👉敌人视野检测

视野之内发现玩家方法:使用Vector3.Angle+射线检测来确定玩家是否在视野范围之内

 	//视野检测
    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);

            RaycastHit hitInfo;
            //敌人朝玩家发射射线检测  bool res接收射线是否有障碍物返回值 
            bool res = Physics.Raycast(this.transform.position + Vector3.up, other.transform.position -
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风不停息丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值