欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Unity制作即时战略游戏毕设

程序员文章站 2022-09-10 15:04:44
创建项目双击Unity,选择New Project:我们将它命名为rts,悬着其他本地磁盘例如C:,选择3D然后点击Create Project:然后我们通过File->Save Scene,保存当前的场景为“scene”(不需要“”)摄像机Unity会自动添加相机到工程中。如下图所示,我们在Hie ......

创建项目


双击unity,选择new project:
我们将它命名为rts,悬着其他本地磁盘例如c:,选择3d然后点击create project:

然后我们通过file->save scene,保存当前的场景为“scene”(不需要“”)

摄像机

unity会自动添加相机到工程中。如下图所示,我们在hierarchy中选择摄像机,在inspector分别修改position和rotation的值,让摄像机看向地面。

注意:我们还看不到任何东西,因为我们的场景还是空的。

灯光

unity已经在我们创建场景的时候自动添加了directional light。让我们在hierarchy直接选中它。然后分别如下图所示调整角度和灯光的设置:

注意:我们可以根据我们自己的需要设置这些属性,但上面这种设置在我们后面的游戏里看起来好些。

开始装满这个世界
现在所有的事情都准备就绪了,我们可以在场景里添加多种多样很酷的东西了。
地面

地面是一个简单的unity plane。我们可以通过在顶部菜单中选择gameobject->3dobject->plane来创建它。我们将其命名为ground并且在inspector中调整它的缩放比例。

注意:取一个恰当的名字“ground”是很重要的。

让我们给地面添加些颜色。首先我们可以通过我们选择的工具(例如paint.net)创建一个简单40x40的材质。

然后我们将其从project区域中拖动到我们的ground上:

展现给我们的效果是这样的:

这看起来相当的光滑,但是我们需要进一步的将其像素化,好让它能表现出一种更独特的风格。因此我们想要在project区域里选择我们的材质,并且在inspector中修改它的import settings:

现在的结果是这样的:

这种平滑的效果叫做插值法。通常情况下这是一种好的效果,但是对我们的像素游戏来说我们需要将filter mode设置值成point,再将format设置成turecolor。

注意:我们需要为游戏里所有的材质进行这些设置。

建立3d模型

现在是时候为我们的游戏创建3d模型了。别担心,这里并不会用到cad。我们通过unity实现这一切。

技巧

在unity的gameobject->3d object菜单中我们可以创建一些基础的几何模型,例如球,立方体,平面和圆柱体等等:

我们将这些都放入一个空的gameobject中,命名并且将它保持为预制件(prefab),只需要简单的将它拖到project区域中就可以实现了(最好新建一个文件夹名为“prefabs”)。

创建一个箭头

我们创建一个箭头用来射击,首先我们需要新建第一个空的gameobject来将所有的东西装入里面,点击gameobject->createempty创建,并将它命名为arrow。然后点击gameobject->3dobject->cube创建三个新的cube把它放入arrow中如图所示:

注意:arrow被称为根节点,cubes被称为子节点。

现在需要做的就是通过移动位置,调整角度,缩放大小这些操作,直到它看起来像一根箭头
现在我们要为它添加一个简单材质:

注意:右击图片,选择save as...将它保持到assets/textures文件夹中。

然后将它从project区域中拖拽到每一个cube上。最终的结果如下:

我们不需要在场景中总是显示箭头。所以我们需要将箭头gameobject保存成一个箭头预制件(prefab)。更多有关于预制件的知识可以阅读相关预制件的教程。

为了创建预制件,我们可以在project中创建一个prefabs目录,将arrow从hierarchy中拖拽到文件夹:

现在我们可以将arrow从hierarchy中删除了。

城堡和弓箭射击物体

我们使用之前的方法统一创建我们的3d游戏模型。

有一件我们需要牢记的事情是所有的子gameobjects的坐标在某种程度上都要接近于(0,0,0),因为当一个gameobject为子节点时,它的坐标都是相对于父节点的。换句话说:如果子节点的x轴坐标是1,这就意味着它位于父节点x轴方向上1米远的地方,不论父节点现在身在何处。不管父节点如何移动,子节点总是跟随移动。

好的,让我们来用cube创建一个城堡
用cube创建作战单位每个cube的坐标:
我们将城堡复制一份,并将它们分别命名为“castleplayer”和“castlenpc”。同样的把作战单位也复制一份,分别命名为“arrowshootingthingplayer”和“arrowshootingthingnpc”。随意给他们上一些颜色
注意:所有玩家的模型我们使用橙色和白色,所有npc模型我们使用黑色和白色



更多unity2018的功能介绍请到paws3d爪爪学院查找。