前言:
从这一篇章开始,我将会通过游戏实例来讲解如何使用unity制作一个标准的游戏,介绍的内容较多,需要整理的东西也多可能中途会有一两天的咕咕咕,预计想要完成两个游戏,一个射击类一个塔防类,从射击类开始。
素材来源于网络、资料附赠、自行制作以及unity商店购买使用等等,整个游戏完成后会放上可用的素材包。思考了下,语言改成英文,涉及到的英文尽量翻译出来放在文章开头或结尾,这次的翻译就放到下篇文章了。
射击类游戏实例
作为第一个用来发布讲解的游戏,我立马就想到了射击类游戏,当然不是第一人称射击的那种,是打小飞机累计得分的那种类型,方便魔改参数以及自行制作一些敌人的模型。
游戏相关设定:
1.在游戏中,我们将操作战舰击坠敌人的飞船,游戏开始后战舰会向前推进,消灭敌人取得分数,战舰被击落游戏才会结束。
2.战舰拥有固定装甲(血量),敌人有多种并拥有独特的飞行轨迹与装甲
3.屏幕上会显示血量、得分等内容
4.待添加
资源
右键【assets】—【import new asset】—选择素材所在文件夹
或者直接将文件拖入窗口
project(项目)窗口是一个浏览器窗口,主要负责资源管理,它与系统硬盘上当前游戏工程的assets文件夹是对应的。也就是说可以在项目窗口进行文件操作。
创建
游戏背景为太空,是一颗巨大的星球与浩瀚的星空(虽然做出来可能有点糊),下面介绍如何创建材质球并为星空完成uv动画。
1.菜单栏【file】—【new scene】创建一个新场景
2.【file】—【save scene as】,将当前场景存放至assets文件夹下并命名
3.菜单栏【gameobject】—【3d object】—【plane】,创建一个平面体作为地图背景
4.右键【project】—【create】—【material】,创建一个材质球并命名为background,选择贴图为背景图片mars(albedo左边有个按钮)
5.选中之前创建的背景模型,在inspector窗口中【materials】一栏下有element0,指定background材质球
6.这时候会发现贴图周围有多出的边框,选择材质球,将rendering mode设为cutout就能显示出透明效果
7.创建另一个平面体,放大一些,置于上一个贴图下方作为星球的背景,为其创建材质球【unlit】—【texture】,指定对应星空图片为背景
星空背景不需要接受光线,直接更换个材质就行,shader类似于模板,选择不同shader有不同的质感表现
8.选中星空模型,右键【project】—【create0】—【animator controller】,创建一个动画控制器,拖动动画控制器至inspector窗口空白处,将动画控制器组件指定给星空背景模型
这操作会给星空模型添加一个animator动画组件,并自动与当前的动画控制器关联
9.【window】—【animation】—【animation】打开动画窗口,create一个动画文件保存在assets文件夹下
10.【add property】—【material_main_tex_st】,前进30帧,将w值改为-1,星空背景就能进行循环移动了
当前完成效果:
总结:
相关的摄像机和灯光强度之类将会放到之后演示,后续会把详细的动画讲解放到一起,上边演示了创建一个贴图星球和会移动的星空背景,使用了现成的素材,之后会替换掉(这个看上去小违和),很多方面只说了如何操作并没有详细讲解,之后的实例内容应该会更简略,具体版块功能使用方法什么的在后续学习后会另开个分类讲解。一个人去完成策划、程序设计、美术制作、项目管理、文章编写属实需要时间,现在越发崇拜个人完成制作的游戏,比如我最喜欢的《我的世界》。