上节课我们重点说了游戏开发和其他开发岗位的区别,以及如何高效地学习游戏开发。今天这节课,我们就正式开始运用上节课中提到的HOPL(hands-on project learning)学习大法开始第一个案例 — 《Flappy Bird》。同学们,千万不要担心自己有没有基础,哪怕你一点基础都没有,通过这个案例,你会发现游戏开发并没有想象中那么难,人人都可以学!
好了,废话不多说,我们直接上硬菜!本节课我们会完成《Flappy Bird》的场景动画以及角色动画制作,全程不需要一行代码,妥妥的!
(获取本教程视频教程、美术资源以及本教程答疑请加U3D游戏开发入门到精通QQ群:730399676,或点击链接:http://c7.gg/cccgC 即可加入,申请进群备注CSDN)
本案例使用的是最新版本的Unity,当然你用其他版本也是可以的,没有特殊的要求。不过作为技术人,我们应该走在时尚的最前沿~技术的更新迭代很快,Unity出版本的速度也绝对是杠杠的。新的版本都会有新的功能特性更新,用最新版有助于我们在技术上不掉队,有百利而无一害^ ^
下面是Unity最新版本的下载地址:
https://store.unity.com/cn/download?ref=personal
点击接受条款后,再点击 “下载Windows版安装软件” 即可。如果你是MAC电脑,则点击按钮下方的 “Mac OS X” 即可下载MAC电脑上运行的版本啦!装电脑哪个盘随意,我一般不装再C盘。另外安装的时候,它还会顺带帮你安装Visual Studio 2017 Community,这是晚点要用来写程序的微软的IDE(集成开发环境),这是个跨平台的IDE,功能十分强大。作为程序员,选择一个功能强大的IDE是必要的,Unity默认的IDE就是微软的Visual Studio。
我建了个名叫 “U3D游戏开发入门到精通” 的QQ群(群号:730399676),或点击链接:http://c7.gg/cccgC 即可加入。
案例的美术资源可以到群内的共享文件夹进行下载。案例所有的美术资源都是用铅笔绘画制作,有绘画天赋的朋友也可以自己画,毕竟随便涂个鸦谁还不会呢?对吧!
下图就是美术资源展示:
自己制作美术资源的同学要注意,小鸟的身体和两个翅膀要分开画,因为晚点我们要分别制作小鸟和翅膀的动画。
下载完毕Unity最新版本后,双击打开并注册一个帐号即可使用,大家可以使用personal版本,这个版本不需要付费,学习使用完全足够。
如下图,
大家都知道,Flappy Bird是款手游,所以我们需要把我们的场景视图(新手可以理解为创作游戏的区域)和游戏视图(新手可以理解为预览游戏效果的区域)的尺寸改成手机屏幕尺寸,具体操作如下:
成功设置后会呈现下图的状态,原来的“Switch Platform”的按钮会变成“Build”按钮。这表示已经成功切换到iOS平台模式,我们就可以把这个Build Settings的弹出窗口关闭了。
(获取本教程视频教程、美术资源以及本教程答疑请加U3D游戏开发入门到精通QQ群:730399676,或点击链接:http://c7.gg/cccgC 即可加入,申请进群备注CSDN)
接下来,我们还需要设置场景(Scene)和游戏(Game)视图的尺寸。在U3D中,只要我们设置好游戏视图的尺寸,场景视图的尺寸会自动匹配。所以我们这需要做的操作如下:
具体如下图所示:
设置成功后,我们的场景和游戏视图将会变为下图所示的样子:
(获取本教程视频教程、美术资源以及本教程答疑请加U3D游戏开发入门到精通QQ群:730399676,或点击链接:http://c7.gg/cccgC 即可加入,申请进群备注CSDN)
下面,我们就需要把我们前面准备好的美术资源导入到我们的Unity游戏引擎中了。Unity中导入美术资源是很方便的,我们可以通过拖拽的方式直接将美术资源导入到U3D中。
具体操作如下图:
(获取本教程视频教程、美术资源以及本教程答疑请加U3D游戏开发入门到精通QQ群:730399676,或点击链接:http://c7.gg/cccgC 即可加入,申请进群备注CSDN)
美术资源导入后,我们第一步要做的是在我们的Scene(场景)视图中搭建我们的场景。《Flappy Bird》这个游戏的场景是由一个地面和一个由房屋树木组成的背景图组成的。U3D中将美术资源添加到Scene视图中是非常简单方便的,依然用简单的鼠标拖拽即可完成。
具体操作步骤如下:
具体操作示意图如下:
(获取本教程视频教程、美术资源以及本教程答疑请加U3D游戏开发入门到精通QQ群:730399676,或点击链接:http://c7.gg/cccgC 即可加入,申请进群备注CSDN)
场景搭建好以后,我们就开始场景的动画制作啦~《Flappy Bird》的场景动画相当简单,为了达到玩家感觉小鸟是在向前飞翔的目的,我们只需要让地面,也就是我们的ground图片在不断向左移动就行。
具体操作步骤如下:
(获取本教程视频教程、美术资源以及本教程答疑请加U3D游戏开发入门到精通QQ群:730399676,或点击链接:http://c7.gg/cccgC 即可加入,申请进群备注CSDN)
创建小鸟的动画文件:在Hierarchy中选中player,并在软件窗口上方工具栏中选择window->Animation->Animation。在出现的Animation窗口中点击“Create”按钮创建player的动画并命名为player_ani.
让小鸟整体上下浮动:通过顺序点击Add Property -> bird -> Transform 出现以下画面,然后点击position右方的“+”号添加小鸟的动画。
添加小鸟向上关键帧: 将时间线(白色那根线)拖到整个0:15处,并点击添加关键帧,并将该关键帧的Y轴方向坐标改为0.2,具体如下图
添加小鸟向下关键帧: 将时间线(白色那根线)拖到整个0:45处,并点击添加关键帧,并将该关键帧的Y轴方向坐标改为-0.2,具体如下图
调节关键帧,使移动更顺滑:选中任意一个关键帧,并鼠标右键点击。在出现的菜单栏中按照 Broken -> Both Tangents -> Linear设置。给四个关键帧都设置成这样。
添加两个翅膀:
添加两个翅膀:按顺序点击Add Property -> bird -> wing_f ,然后点击“Is Active”旁的“+”号。另一个翅膀也一样操作,按顺序点击Add Property -> bird -> wing_n ,然后点击“Is Active”旁的“+”号。然后我们要把藏在身体下面的那个翅膀隐藏掉,方法是,在第一帧和最后帧把wing_n : Game Object.Is Acitve的打钩给去掉,具体如下:
做完以上六部操作,小鸟的上下浮动的动画就做好了,我们点击播放看下效果:
(获取本教程视频教程、美术资源以及本教程答疑请加U3D游戏开发入门到精通QQ群:730399676,或点击链接:http://c7.gg/cccgC 即可加入,申请进群备注CSDN)
我们做的小鸟的上下的动画其实游戏开始前小鸟翅膀不动只上下运动的待机动画,而游戏开始后小鸟就要开始挥动翅膀了。所以,游戏的角色实际上是有很多种状态的,不同的状态要播放的动画是不同的。这里就以《Flappy Bird》游戏举例,游戏状态和动画之间存在的关系如下:
那怎么样才能做到在不同状态下播放不动的动画呢,这里我们就要用到动画状态机。脚本程序就是通过控制动画状态机中的参数去实现在不同的状态下播放不同的动画的。这里我们就来做本案例的动画状态机吧!
我们在Hierarchy中选中player,然后在软件窗口的上方工具栏中按顺序点击Window -> Animation -> Animator,这样就可以创建出我们player的动画状态机了。创建出来后,我们调整下各工作窗口视图的大小,这样看起来更舒服。调整的方式就是鼠标左键按住某工作窗口的边界,然后直接拖动就行。比如:Hierarchy窗口,我们鼠标左键按出窗口右边框,然后往左拖到不能拖为止,这样这个窗口就能占比较小的为止,使得其他窗口占的面积更大。具体如下:
(获取本教程视频教程、美术资源以及本教程答疑请加U3D游戏开发入门到精通QQ群:730399676,或点击链接:http://c7.gg/cccgC 即可加入,申请进群备注CSDN)
下节课,我们讲《Flappy Bird》UI与交互及动态关卡技术,不见不散~
(获取本教程视频教程、美术资源以及本教程答疑请加U3D游戏开发入门到精通QQ群:730399676,或点击链接:http://c7.gg/cccgC 即可加入,申请进群备注CSDN)
我们的本教程的大纲如下(已出课时,已增加跳转超链接):
1. U3D游戏开发从入门到弯道超车:序章
2. 《Flappy Bird》场景动画及角色动画制作
3. 《Flappy Bird》UI与交互及动态关卡技术
4. 《Flappy Bird》刚体与碰撞器、碰撞与检测
5. 《Flappy Bird》角色状态控制与游戏计分实现
6. 《Flappy Bird》开发流程图绘制与知识点思维导图总结
7. 《Flappy Bird》中所用知识点学习
8. 《Flappy Bird》独立完成指导与难点总结
9. 《Crazy Bird》角色自由飞翔与子弹发射
10. 《Crazy Bird》怪物自动生成
11. 《Crazy Bird》战斗主逻辑实现
12. 《Crazy Bird》不同怪物制作及战斗难度升级
13. 《Crazy Bird》BOSS制作及导弹自动跟踪效果实现
14. 《Crazy Bird》BOSS战斗实现
15. 《Crazy Bird》关卡管理与游戏优化 — BOSS、AI与关卡
16. 《Crazy Bird》关卡管理与游戏优化 — 关卡管理
17. 《Crazy Bird》关卡管理与游戏优化 — 游戏优化(1)
18. 《Crazy Bird》关卡管理与游戏优化 — 游戏优化(2)
19. 《Crazy Bird》开发流程图绘制与知识点思维导图总结
20. 《Crazy Bird》中所用知识点学习
21. 《Crazy Bird》独立完成指导与难点总结
22. U3D游戏开发从入门到弯道超车:总结