(Unity游戏开发)五天时间做出一款饥荒类的生存游戏Demo,项目在手,还怕面试官不给offer?

游戏行业作为当下最火热的行业之一,受到了很多人的喜爱,也有很多同学想要进入游戏开发行业,但常常找不到靠谱的学习资源,不知道如何在入行前拥有项目经验,我为大家准备了最实用的unity游戏开发学习资料,助你五天做出一款属于你的游戏Demo!

Unity开发一款饥荒类生存游戏Demo技术指南

《饥荒》作为生存类游戏的老大哥,深受大家喜爱,这款游戏于2012年年底正式公测上线,距今已有10年的时间,从最初的单机版慢慢推出了联机版,也让这个无人问津的小众游戏逐渐成为坐拥千万级粉丝的独立游戏。其实这样的饥荒生存类游戏也是许多游戏开发初学者以及独立游戏开发者比较青睐的一种类型。

本篇文章我们就来讲讲,使用Unity3D引擎制作一款饥荒游戏需要掌握的几个技术点。 总体分为以下二点:

1. UI到3D世界的交互

2. 昼夜系统

1. UI到3D世界的交互

这个技术点在游戏中的体现为:拖拽UI(房屋、木材等)至地上完成建筑物的建造,将木材拖拽到篝火等操作。 这里提供给大家一个实现思路:使用Unity内的射线技术去检测玩家当前将UI拖拽到场景中“某处”的操作,这个“某处”的意义在于判断该地区是否可以建造建筑物。 比如我们如果将木材拖入地面意味着丢弃木材,但是如果将木材拖入篝火中就意味着给篝火添加燃料,因此我们需要给这些物体添加一些Tag来分辨他们。 对于UI元素的拖拽,比较方便的是使用对应的接口并实现相应的函数即可实现 IBeginDragHandler,IDragHandler,IEndDragHandler

2. 昼夜系统

在游戏中有一个很重要的玩法就是昼夜交替,夜晚降临时会有危险悄悄潜入,增加游戏的趣味性。 我们在开发昼夜系统时需要规划好白与夜晚分别占据多长时间,然后主要依靠修改灯光的强度来营造夜晚的氛围。

 但是需要注意的是,Unity中,除了去修改我们自己创建出来的灯光强度以外,还需要修改环境光的强度,也就是Window-Rendering-Lighting Settings-Intensity Multiplier选项,但是我们需要实时修改,那么可以在代码中使用RenderSettings.ambientIntensity = value

《Unity游戏开发——饥荒类游戏中如何实现砍树效果技术分解》

本节我们对饥荒这类游戏中实现建议的砍树效果进行技术讲解。

首先,我们会有一个播放攻击动画的动作,一般角色手中的武器是绑定在手部骨骼上的,所以我们可以为这个斧头添加一个碰撞体,但是我们需要勾选IsTrigger选项,想必每个开发者都不希望游戏中角色的武器把人“拍飞”吧,毕竟我们只是用它来检测“是否攻击到单位”。

需要注意的是,我们拿着斧头走路时如果撞到了树,树并不会被我们直接砍到,因为这不符合我们砍树的逻辑。

所以我们在合适的时机开启和关闭这个碰撞体,一般在“抬手动作”结束至“收招动作”完成之前开启这个碰撞体。

这就是大部分游戏中所提及到的“前摇”,其实不只是砍树这个动作,非常多的游戏战斗部分都有前摇、后摇的概念,比如准备挥剑、开始挥剑、攻击完成等等。

如何确定前摇后摇的时机?最简单的方式就是利用AnimationEvent,在指定关键帧标准指定的事件拉触发特定的函数,以达到开启和关闭碰撞体的目的。

 此时,在有效的打击帧内,武器的碰撞体可以接受到所有接触到的单位,也就是我们确定了“我们打到了那些单位”,所以我们可以根据单位的不同,附加不同或相同的伤害。

 这些单位中当然也包含我们的树,树虽然并不是怪物,但是也具备类似“生命值”、“耐久度”等数值,当每次攻击时都会扣除相应的数值并播放“受攻击动画”,当生命值为0时播放“死亡倒下”动画,但是有必要的话,还可以爆出来一些树木让玩家拾取。


相信大家在看了以上部分关于饥荒生存类游戏开发的技术讲解,一定有了对此类游戏开发的总体的认知,但同时一定有很多关于细节方面的技术盲区和障碍,有不懂的问题或者想要完整版可以私信问我!

1) 游戏开发基本流程

2) 游戏开发中角色控制与角色数值开发

3) 摄像机设定,实现昼夜系统设定

4) NPC的智能AI设定与逻辑

5) 求职阶段准备方式和流程,具备应对面试的能力

6) 了解游戏开发工程师职业发展路径

7) 针对个人情况,得到职业发展建议

完整版私信我

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值