在实现现各种有趣的操作前,我们先来建立一个太空生态场景。场景中应该有:一个自转的星球、围绕着星球的半透明行星带、在行星带上自转和公转的卫星、太空垃圾、两个在上空的人造卫星...
(简化版平面场景示意图 Cr. to Steven Feiner)
在开始大篇幅的文字教程前,这是这部分视频版的教程。内容与本篇相差无几,但可以更好的展示一些操作和流程。(提前感谢你的三连!)
这游戏怎么做来着?Step by Step的太空清理游戏教程
给物体加上纹理 – Material
首先用一个巨大的球体来代表中间的星球:
-
在上方菜单栏中选择“GameObject” – “3D Object” – “Sphere”(球形)。可以改名为Planet(星球)方便辨认。
-
将右上角的”Transform”中的位置和比例改为(0,0,0)、比例改为(5,5,5)。
(第一步)
(第二步)
接下来我们给它加上一个纹理,让他从光秃秃的球形变得看起来更像星球一些。
-
在屏幕下方“Asset”(资产)栏中右击鼠标 – “Create” – “Folder”
-
建立一个名为”Materials”的文件夹, 双击进入新建的“Materials文件夹
-
右击 – ”Create“ – ”Material”, 可以将其命名为“Planet Material”,会更好辨认
*前两步并非必须的,但这样做会让你的所有资源更有条理、使用起来更有效率。尤其是在完成比较复杂或者需要多方合作的项目时,乱糟糟的资源栏只会令人头疼。所以初学时尽量保持较好的条理,有益无害。
-
新建材料后,将用作纹理的图片拖入资产栏中
-
选中文件里的“Planet Material”,再将资产中的图片拖拽到右上角“Albedo”旁边的小正方形中,当前material就会变成这个图片的纹理了
(Albedo旁边的小正方形)
-
选中场景中的球体,将“Planet Material”拖拽到右侧栏中,就成功给星球加上了纹理。
(加上材料后星球的样子)
让物体自转 – Rotate
现在我们拥有了一个安静的星球。我们还可以在右侧”Transform” – “Rotation”中略微改变x或z的值,产生一个星球倾斜的效果。下一步就是让它做星球该做的是:自转。
在unity中物体的旋转需要用代码来完成。所以我们还是像之前那样,先建立一个专门用来归类代码的文件夹“Scripts”,在这个文件夹中
-
右击”Create” – “Script”,命名为“PlanetController”,双击打开代码文件。
-
在Update中:输入
transform.Rotate (new Vector3 (0, 15, 0) * Time.deltaTime);
Update和start的区别:Start中的指令只游戏开始运行后的一秒运行一次;Update中的指令在游戏开始后的每一帧都会重复运行。我们希望星球不停地自转,所以将旋转的指令写在update中。
Rotate是Unity中的一个API。我们可以直接拿来用。这里是Unity对于它的描述和用法。简而言之,这里的用法是以一个方向为轴旋转。这个方向就是一个Vector3 – (0,15,0)。
-
保存代码。回到编辑器中。选中星球,将完成的代码拖拽到右侧。
这时点击运行,就可以看到场景中的星球开始旋转了。
创造更复杂的形状 – ProBuilder
Unity中自带的形状比较基础和规整,比如球形、圆柱、立方体等等。对于行星带这种中间空的圆形平面,在Unity中是很难制作出来的。对于更加复杂的形状,比较常用的方法有:
- Unity Store中搜索其他人制作上传的模型
- 用Blender等应用自己创造
- 使用ProBuilder插件:适用于一些进阶但不是极其复杂的形状
这里有ProBuilder的简介和安装步骤,它不如Blender强大和流行,但已经足够我们本次使用了。
按照链接中的步骤安装:
-
Window - Package Manager
-
左上角选择“Packages:Unity Registry
-
找到ProBuilder(可以从右上角搜索)
-
Install
选择顶部的GameObject,我们刚刚安装的ProBuilder在这里就可以用了。
-
GameObject – ProBuilder – Torus,将创建的Torus命名”Planet Belt”
-
Scale改为(9,1,9),位置移动到以星球为中心(可以单击y坐标轴一键转换到俯瞰视角,方便调整位置)。我调整后的位置大概为(-8.86, -1, -9.14)。
-
创建新的材料”Belt Material”。选取颜色后,将透明度降低到25%。拖拽到星球上。
这就是本部分的所有内容了!主要了解Unity中的基础操作和API使用。由这样简单的一步步,就可以积累成你想象不到的有趣应用和游戏。
下期预告:太空场景建设(二)
- 围绕一点旋转:RotateAround
- 变量的用法
- 批量生产物体:Prefab
- 贫穷或富有、你的好伙伴:Unity Asset Store
欢迎在下方评论友好交流、共同学习!