IT圈老男孩1 发表于 2022-3-27 18:14

Unity开发一款潜入类冒险3D游戏Demo技术指南

秘密行动是一款冒险潜入类的3D游戏,核心玩法是玩家需要通过AWSD控制角色,途中需要绕开机关陷阱和BOSS,直到搜索到闯关钥匙的过程。


这个游戏,原型源于早期Unity的官方案例,所以对于初期Unity的学习价值很高,涵盖的技术点方方面面。这篇文章我们就讲解下制作这样一款游戏,需要学习哪些知识点。
13D游戏的基本角色控制
23D游戏的相机跟随
3碰撞器和触发器
4Animator 动画状态机
5音频灯光控制
6. 怪物AI及自动寻路
本篇文章涉及到的源码及素材资源,可以通过点击下方的小卡片免费获取
1.3D游戏的基本角色控制

这里我们涉及到引起如何控制一个游戏体验完成移动的知识。
对于Unity引擎来说,移动一个物体的核心原理是每一帧更新物体在3D坐标系中的位置。
对于3D游戏来说,我们关注的水平和纵深方向的移动,而对于Y轴高度的移动,除了某些特殊情况外,角色部分基本不需要考虑。
而对于移动而言,我们可以使用基本的平移方法Translate来完成移动,也可以通过更新Transform,Position来完成移动,同样可以通过对角色对象添加刚体组件Rigidbody,然后通过设置刚体组件的velocity属性来完成移动。,
当然你也可以通过使用Unity引擎提供的角色控制器CharacterController 完成对角色移动的控制。还有一些提供移动方法的插件这里就不做过多的赘述。
面对众多的移动选择,该选择哪一种程了初学者最容易头疼的地方,由于刚体和角色控制器都自带了碰撞检测,所以很多同学会选择这两者之一作为3D游戏的移动方式。但是具体到区别,依据什么样的情况去选择,可能会有些模糊。下面列了几种常见的移动操作方式:


其实通过上图,你可以粗略的看出这几种方式的差异,比如是否穿墙。当然还有一部分区别是关系到 碰撞器与触发器的区别。
本篇文章涉及到的源码及素材资源,可以通过点击下方的小卡片免费获取
2. 3D游戏的相机跟随

这里我们也有很多知识点需要学习,首先是摄像机如何跟随目标,这里涉及到基本的3D数学。
3D游戏的摄像机要与角色始终保持相对的坐标位置偏移,同时为了提供更好的玩家体验,摄像机要做缓动跟随,以防止玩家快速反复自由移动的时候出现摄像机抖动现象。
当你能做到这一点后,需要进一步优化游戏的体验,我们要对摄像机的操控进行更多功能的实现,比如当玩家被障碍物遮挡时,要优化相机跟随到玩家上方,始终保持玩家可见,比如相机缩放等。


3   碰撞器和触发器

不管2D游戏还是3D游戏,都有触发机关或者阻挡的需求,甚至成为一种核心玩法的需求,可见地位非常重要。其实在Unity引擎中,已经为我们提供了解决方案。
在Unity中分为 Trigger触发器和Collision碰撞器,这两者有什么区别呢,前者不会阻挡移动单位,而后者可能会。这里涉及到不同的触发条件。


对于上述的使用区别,需要做实验体会下。同时,这个区别,一定程度也影响着移动选择的方案。
本篇文章涉及到的源码及素材资源,可以通过点击下方的小卡片免费获取
4.Animator 动画状态机

动画状态机也是个非常重要的知识点,它将控制游戏对象的动画显示,比如 待机、走、跑、攻击、受击、死亡的动画播放。因此,学会动画状态机还是非常必要的。


5.音频灯光控制

游戏中少不了通过音效和灯光,渲染游戏氛围,增加游戏带入感,所以从这点来讲,这两点也是有必要来了解下的,不过对于技术相对不那么重要。
一般情况下,对于音频,在商业游戏中,一般使用Wwise来实现;对于灯光的话,一般是由美术进行制作。


本篇文章涉及到的源码及素材资源,可以通过点击下方的小卡片免费获取

6. 怪物AI及自动寻路

最后我们来说说怪物AI和自动寻路。
首先怪物AI,这个名词想必大家都不陌生,耳熟能详的可能是待机、巡逻、追踪、攻击等,其实这些都是一些行为状态。那我们如何去实现这样的一些状态,组合成我们的怪物AI呢?
其实在这里,我们可以简单通过使用最基本的状态机来实现这些状态的切换,从而模拟AI的效果。


最后关于自动寻路,客户端自动寻路早期在实际游戏开发中一般走网格A*的较多,因为需要提供给服务器网格数据,方便服务器进行自动寻路或者安全检查;
不过现在的话,NavMesh也可以导出数据给到服务器了。所以,我们这里作为演示案例,就可以使用NavMesh进行客户端模拟怪物寻路的功能了。


好了,关于案例《秘密行动》涉及到的知识点我们就分析到这里了。
为了能让喜欢游戏开发的小伙伴能尽早开发出自己的《秘密行动》游戏Demo,我们开设了《秘密行动》5天训练营,让大家从0做出一款潜入类冒险类3D游戏。
我们希望同学们通过训练营不仅能做出游戏Demo,更能掌握学习方法及分析问题,解决问题的能力,这也是成为一个高级游戏开发者必备的能力之一。
原价198,现在限时免费领取。


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


现在点击下方卡片就可免费报名参加!
学完你能收获什么?
1)掌握游戏开发基本流程
2)掌握相机跟随及外围功能实现方式
3)掌握状态机添加方式地图网格化
4)掌握游戏胜负判定方式及伤害计算方式
5)掌握求职阶段准备方式和流程,具备应对面试的能力
6)了解游戏开发工程师职业发展路径
7)针对个人情况,在直播间得到职业发展建议

连续5天,450+分钟

不仅仅让你做出潜行冒险类游戏Demo,更会让你了解游戏行业求职所面料最重要的问题,让你在入行前避过这些坑!
快点击下方立刻免费参加本次训练营吧!
页: [1]
查看完整版本: Unity开发一款潜入类冒险3D游戏Demo技术指南