找回密码
 立即注册
查看: 216|回复: 4

Unity开发一款第一人称射击(FPS)游戏Demo技术指南

[复制链接]
发表于 2022-3-10 13:43 | 显示全部楼层 |阅读模式
2001年,FPS游戏老大哥《CS》横空出世,迅速在国内外掀起了一波FPS游戏的热潮,随后《CF穿越火线》在国内上线,一举拿下“玩家最喜爱的十大网络游戏”大奖,到现在,《PUBG》、《使命召唤》等,依旧延续着FPS游戏的火热。
而FPS游戏项目的立项和开发也在很多知名游戏大厂的开发计划中,很多小伙伴想要进入FPS游戏开发的项目组,那么在面试前,你的简历中如果有FPS项目案例的开发经验,那将会对你的面试增加不少胜算。
那本篇文章我们就来为大家分析一个FPS游戏案例的一个核心技术点。
市面上几乎所有的FPS类型游戏都具备换枪功能,今天我们主要就聊聊在Unity中如何实现这个功能。
本篇文章涉及到的源码以及素材资源,可以通过点击下方的小卡片免费领取。
不同的枪械虽然玩家体验上完全不同,比如狙击枪可以开镜(不开镜也没有十字瞄准器),手枪可以连发,刀只能近战(而且攻击范围是根据武器长度来决定)
但是在切换武器这件事情上,他们非常类似,因为每一个武器都具备武器切换进入动画,有些会上膛、拉栓或者更干脆的耍个酷,退出动画也是同样。我们按Q或者按1、2、3、4键时候就会看到当前武器退出后紧接着新武器的进入。


并且武器的攻击无非是通过鼠标左键、鼠标右键、F键等等进行,不过有些武器还会存在状态,比如击右键后武器进入XX模式之类的,不过虽然表现不同但是逻辑进入的入口都是一致的。

根据这样的粗略总结,我们其实可以得到两个结论:
第一,我们完全可以创建一个武器的基类去修饰他们的共同点
第二,切枪只是就是退出当前武器,进入切换后的武器,按Q切枪癌也不过是要记录一下上一把武器是什么
这里,为了方便理解,我们不考虑武器从AssetBundle或者其他什么地方加载获得,假设他们都已经挂载在了玩家正确的位置,只是隐藏起来。
我们可以用数组保存我们的主武器、副武器、近战武器等,可以看出来这个数组是一个固定长度的,我们通过访问数组其实就可以访问具体的武器,然后可以去决定他们是否显示还是隐藏。


看到这里你应该会发现,这其实非常Easy,不过我们还需要处理一些逻辑,比如我们一定是当前武器退出动画播放完毕才能显示下一把武器的进入动画,这里可以采用动画当前播放进度或动画事件来完成。
本篇文章涉及到的源码以及素材资源,可以通过点击下方的小卡片免费领取。
最终需要注意的是,不同武器还有不同的UI界面,也许你需要提示这个武器的Icon,但是更重要的是是否具备屏幕中心的十字准心、子弹数量、子弹的上限数量、攻击的时候有没有后坐力体现之类的。
关于FPS射击游戏换枪技术点的分析就到这里,,为了让喜欢游戏开发的小伙伴能尽早开发出自己的《FPS射击游戏》Demo,我们开设了《FPS射击游戏》5天训练营,让大家从0做出一款第一人称射击游戏Demo。
原价198,现在限时免费领取。


课程每晚8点以直播方式进行,报名后还会进入专属的学习辅导群,课程大纲如下 :


现在点击下方卡片就可报名参加!
学完你能收获什么?
1) 掌握游戏开发基本流程
2)掌握玩家移动原理及具体操作实现过程
3)掌握弹幕设计的优化技术:对象池
4)掌握智能AI设定与逻辑
5) 掌握求职阶段准备方式和流程,具备应对面试的能力
6) 了解游戏开发工程师职业发展路径
7) 针对个人情况,在直播现场得到职业发展建议

连续5天,450+分钟

不仅仅让你做出第一人称射击游戏Demo,更会让你了解游戏行业求职所面临最重要的问题,让你在入行前避过这些坑。
快点击下方立刻免费参加本次训练营吧!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2022-3-10 13:50 | 显示全部楼层
问题我纯小白。
发表于 2022-3-10 13:53 | 显示全部楼层
荣誉勋章,使命召唤虽然比CS晚,但是比CF早谢谢!而且提到到使命召唤不得不提荣誉勋章,这俩一家,最早都是荣誉勋章。
发表于 2022-3-10 13:57 | 显示全部楼层
训练营课程开课前会有基础小课程给到你哦,可以点击小卡片去领取
发表于 2022-3-10 14:02 | 显示全部楼层
pubg算fps吗
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-19 19:20 , Processed in 0.106345 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表