How to make a DOOM CLONE in Unity || E1M2 Enemy Hit Detection
Summary
TLDR本视频教程介绍了如何为游戏角色设置类似《毁灭战士》的枪械行为和目标敌人的能力。首先,通过调整玩家的移动脚本,为角色添加了动量效果,使其移动更加自然。接着,创建了基础的敌人系统,包括敌人健康值的管理。然后,详细讲解了如何为枪械添加检测敌人和视线检测的功能,并通过射线检测来确定是否对敌人造成伤害。最后,通过调整伤害值和设置射线层遮罩,完成了一个基本的枪械和敌人交互系统,为游戏开发提供了一个坚实的基础。
Takeaways
- 🎮 视频讲解了如何设置枪械行为和敌人目标系统,模仿《毁灭战士》(Doom)风格的瞄准辅助功能。
- 🔧 首先,需要解决玩家的移动惯性问题,使其不会像当前那样突然停止,而是模仿《毁灭战士》中的平滑减速。
- 🗂️ 组织项目窗口,创建了动画相关的文件夹,包括动画器和动画剪辑。
- ⏩ 通过修改玩家移动脚本,引入了输入向量的线性插值(Lerp),实现平滑的移动效果。
- 🚶 更新了玩家移动逻辑,区分了按键持续按住和释放时的不同行为。
- 🔫 创建了一个基本的敌人系统,包括敌人健康值,并为敌人添加了刚体组件用于碰撞检测。
- 📁 建立了一个敌人管理器,用于跟踪玩家面前的敌人,并在触发器进入和退出时添加或删除敌人。
- 🔒 通过射线检测(Raycast),确保玩家在射击时有视线范围内的敌人才能造成伤害。
- 💥 实现了枪械的射击功能,包括射击频率控制和对敌人造成伤害的逻辑。
- 🎯 根据敌人与玩家的距离,调整了伤害值,实现了距离越远伤害越小的效果。
- 🛠️ 视频最后提供了一个基础框架,为未来游戏开发提供了扩展的可能性。
Q & A
视频中提到的'doom style'瞄准辅助是如何实现的?
-视频中通过设置枪的射线检测(raycast)来实现'doom style'瞄准辅助,允许玩家射击高于或低于玩家位置的敌人,并检查是否在视线范围内。
如何在游戏中实现玩家的动量(momentum)效果?
-通过在玩家移动脚本中使用线性插值(lerp)将输入向量平滑地向零过渡,实现了类似Doom游戏中玩家移动的动量效果。
视频中提到的'player move script'是做什么用的?
-'player move script'用于控制玩家的移动。它接收输入值,并根据这些值来移动玩家角色。
如何在游戏中创建一个基本的敌人系统?
-通过创建一个带有刚体(Rigidbody)组件的3D胶囊形状的敌人对象,并为其添加敌人(enemy)组件和敌对管理器(enemy manager)脚本来实现基本的敌人系统。
视频中提到的'gun trigger'组件的作用是什么?
-'gun trigger'组件是一个触发器(trigger)类型的盒子碰撞器(Box Collider),用于检测玩家枪口前方的敌人,并在玩家射击时触发事件。
如何在游戏中实现敌人的健康系统?
-通过在敌人脚本中添加一个私有浮点数变量来表示敌人的健康值,并提供一个公共的'take damage'方法来减少健康值,当健康值降至零或以下时,敌人将被销毁。
视频中提到的'enemy manager'脚本的作用是什么?
-'enemy manager'脚本用于管理游戏中所有敌人的集合,提供添加和移除敌人的方法。
如何在游戏中实现枪械的射击功能?
-通过检测鼠标左键的按下事件,并在满足射击间隔(fire rate)条件时,调用'fire'方法来实现射击功能。
视频中提到的射线检测(raycast)如何用于判断敌人是否在玩家视线内?
-通过从玩家位置发出射线,检测是否能够直接击中敌人位置,如果可以,则认为敌人在玩家视线内。
如何在游戏中实现不同距离下的敌人受到不同伤害的效果?
-通过计算玩家与敌人之间的距离,并根据这个距离来调整对敌人造成的伤害值,距离越远,伤害越小。
视频中提到的'layer mask'在射线检测中的作用是什么?
-'layer mask'用于指定射线检测时应该忽略的层,例如在这个视频中,射线检测需要忽略枪的层,以防止误检测到枪本身。
Outlines
此内容仅限付费用户访问。 请升级后访问。
立即升级Mindmap
此内容仅限付费用户访问。 请升级后访问。
立即升级Keywords
此内容仅限付费用户访问。 请升级后访问。
立即升级Highlights
此内容仅限付费用户访问。 请升级后访问。
立即升级Transcripts
此内容仅限付费用户访问。 请升级后访问。
立即升级浏览更多相关视频
How to make a DOOM CLONE in Unity || E1M3 Enemy AI and NavMesh Part 1
How to make a DOOM CLONE in Unity || E1M6 Doors and Keys
Unreal Engine 5 RPG Tutorial Series - #21: AI Detection and Chasing
Unreal Engine 5 RPG Tutorial Series - #20: AI Behavior Trees Patrolling
Unreal Engine 5 RPG Tutorial Series - #10: Sword Trace Damage and Hit Reactions
Unreal Engine 5 RPG Tutorial Series - #4: Assassinations
5.0 / 5 (0 votes)