《虚拟现实技术》实验12指导书创建游戏环境.docx

上传人:b****3 文档编号:13281918 上传时间:2023-06-12 格式:DOCX 页数:19 大小:2.67MB
下载 相关 举报
《虚拟现实技术》实验12指导书创建游戏环境.docx_第1页
第1页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第2页
第2页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第3页
第3页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第4页
第4页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第5页
第5页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第6页
第6页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第7页
第7页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第8页
第8页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第9页
第9页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第10页
第10页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第11页
第11页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第12页
第12页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第13页
第13页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第14页
第14页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第15页
第15页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第16页
第16页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第17页
第17页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第18页
第18页 / 共19页
《虚拟现实技术》实验12指导书创建游戏环境.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《虚拟现实技术》实验12指导书创建游戏环境.docx

《《虚拟现实技术》实验12指导书创建游戏环境.docx》由会员分享,可在线阅读,更多相关《《虚拟现实技术》实验12指导书创建游戏环境.docx(19页珍藏版)》请在冰点文库上搜索。

《虚拟现实技术》实验12指导书创建游戏环境.docx

《虚拟现实技术》实验12指导书创建游戏环境

实验1-2创建游戏环境

一、实验目的:

学会使用Unity的地形编辑器。

二、实验内容:

使用Unity自带的地形编辑器工具构建一个小岛——太阳、海水、天空。

三、实验步骤:

1.创建新工程。

打开Unity,选择File|NewProject创建新工程,选择好你自己的文件存放路径(注意:

不要在路径里包含中文,Unity不支持中文路径),然后按照下图在导入包复选框中勾选相应选项,点击Create完成创建。

2.了解地形工具。

在层次面板点击Create|Terrain,创建地形。

然后按下键盘上的F键,聚焦我们刚才创建好的地形。

这时候检视面板中就会出现如下Terrain组件:

下面我们依次来看看Terrain(Script)面板中的几个主要工具的功能。

①提升工具(Raise/LowerTerrain)

使用这个工具在地形上绘制可以提升地形的高度,你还可以预先设定笔刷大小(BrushSize)、不透明度(Opacity)。

按住Shift键绘制则会起到降低地形高度的效果。

②绘制高度(Paintheight)

这个工具的使用方法和提升工具差不多,只不过在Settings选项栏中多了一个绘制高度(Height)的额外设置,这意味着你可以设置特定的绘制高度。

也就是说,你可以让地形提升到一个特定高度,然后即便你继续绘制,地形也不会再升高。

我们可以用这个工具来创建一些平原。

③平滑高度(SmoothHeight)

通常我们把这个工具和绘制高度的工具配合使用,它允许你柔化地形边缘。

④绘制纹理(PaintTexture)

绘制纹理是一个用来刷纹理的工具,通俗的说就是绘制地表。

我们可以加载我们需要的任何纹理进行绘制,来得到我们想要的地表。

⑤植树(PlaceTree)

使用这个工具,我们可以通过用鼠标点击粉刷,在地形上绘制树木。

在Settings面板中我们可以调整以下参数:

◆BrushSize(笔刷大小):

每次点击时,种植树木的数量。

◆TreeDensity(树的密度):

种植树木之间的距离。

◆ColorVariation(颜色的多样性):

绘制树时产生随机颜色。

◆TreeWidth/Height(树的宽度/高度):

所使用树木的大小。

◆TreeWidth/HeightVariation(树高/树宽的多样性):

产生随机大小的树木,从而创造更加真实的森林场景。

你也可以使用Shift键来移除绘制的树木。

⑥绘制细节(PaintDetails)

这个工具的使用方法和植树工具相似,它被用来绘制细节部分的物体,如花、草、岩石和其他植物。

⑦地形设置(TerrainSettings)

在这个工具中我们可以对地形进行许多设置,具体我们会在接下来的实验步骤中部分讲解。

3.创建小岛——太阳、海水、天空。

①设置地形

首先,在层次面板中选中Terrain对象,然后在检视面板中选择地形设置工具(TerrainSettings),在Resolution面板中修改地形的长、宽、高参数,其它设置保持默认不变。

接下来,选择绘制高度工具,点击其中的Height选项栏,然后输入30,按回车键确认。

最后,点击Flatten应用修改。

(我们输入30,意味着我们绘制的最大高度是30,当地形高度小于30时,绘制操作使地形上升至30,而当地形高度大于30时,绘制操作便会使地形降低至30;而点击Flatten,便可使得全部地形都变化到30高度水平,也就是说我们使地形整体从创建初始的0升到了30。

②勾勒小岛轮廓

在检视面板中选择地形编辑器的第一个工具,也就是提升工具。

选择第一个笔刷,设置BrushSize(笔刷大小)为100,设置Opacity(不透明度)为75。

在场景视图的右上角点击场景手柄工具的y轴(绿色圆锥体),将视图角度改成俯视。

使用Shift键和笔刷在地形边缘粉刷,降低边缘地形高度,直到地形不再下降(高度为0)。

同学们创建的地形不必和上图一模一样。

接下来,在场景视图中单击鼠标右键拖拽回到透视图,继续使用提升工具为地形创造更多的细节,之后我们用平滑高度工具在地形边缘粉刷,使得尖利的边缘变得平滑。

但记住在地形的左下角保留一块平地,我们将在此创建火山。

③火山

现在,我们开始创建火山。

为了创建火山,我们将联合使用提升工具、绘制高度工具和平滑高度工具。

首先,选择绘制高度工具。

选择第一个笔刷,然后把笔刷大小设置为75,不透明度设置为50,Height设为100(YG:

第一个笔刷好像没有height这个变量,第二个笔刷才有)。

点击场景手柄工具选择俯视视角,然后在地形左下角创建一片高原。

记住,这个工具在地形高度达到100以后就会停止作用,这是因为我们在之前的设置中把高度设为了100。

操作完成后,你的小岛应该和下图类似。

接下来,我们继续来创建火山口。

选择绘制高度工具,把Height设置为20,BrushSize设置为30,Opacity设为60,仍旧在俯视图中进行绘制操作。

按住鼠标左键,从高原中心向外粉刷,直至在高原中心形成一个向下塌陷的空洞,如下图所示。

转回透视图,我们发现火山口的边缘过于尖锐,看起来不自然。

这时,我们就要使用平滑高度工具了。

选择该工具,把BrushSize设为30,Opacity设为100。

然后在火山口部分和山脊部分粉刷,直到他们边缘变得很平滑,如下图所示。

④添加纹理

在铺设纹理时,有一点特别重要:

就是你添加的第一种纹理,会自动地作用在整片地形上。

当你意识到这一点,你要确保你添加到检视面板的第一种纹理是我们地形的主要纹理。

此外,我们在创建游戏工程的时候,导入了地形资源包(TerrainAssets),这个资源包中就有我们所要的地形纹理,下面我们把这些纹理加入到检视面板中。

点击检视面板中Terrain选项栏中的EditTexture(编辑纹理)按钮,在弹出菜单中选择AddTextures(添加纹理),我们把我们需要的4种纹理添加到检视面板中。

当你点击AddTextures时,将会弹出一个对话框,选择Texture栏中的Select按钮打开纹理选择窗口,在该窗口的众多选项中选择Grass(Hill),并且保持Size和Offset的默认值,因为纹理将被应用到整个地形上,小的数值让小草的纹理更加细致,然后点击Add确定导入。

重复上面的步骤,把其它三种纹理Grass&Rock、GoodDirt、Cliff(LayeredRock)添加到检视面板中。

注意其中Cliff(LayeredRock)纹理的Size的x、y属性全都改为70,其它的纹理则保持默认值。

而接下来的纹理,就需要我们手动粉刷。

现在,你应该已经把纹理都添加到了检视面板中。

首先,确保每个纹理的参数设置与上面所说相符,然后选择GoodDirt纹理。

把它的BrushSize设为60,Opacity设为50,TargetStrength(目标强度)设为1。

然后使用它在小岛地形的外部进行粉刷。

粉刷完毕后,你将得到类似于下图的结果。

(YG:

Opacity是[0,100],表示的是一个百分量,表明当前纹理与原有纹理混合时的百分权重;而Targetstrength是[0,1],表示当前纹理混合时的强度。

我理解在计算时Opacity与targetstrength会相乘。

如果在粉刷过程中失误了,你可以在Edit|Undo撤销到上一步。

你也可以把鼠标定位在场景视图窗口,然后按下Space(空格)键最大化当前窗口,以方便绘制。

接着,我们在检视面板中选择Grass&Rock纹理。

把笔刷大小设置为25,不透明度设置为30,目标强度设置为0.5。

现在,你可以对小岛的凸起丘陵地带和火山上半部分进行粉刷。

完成后,你应该得到如下效果。

为了让我们的火山更加真实,我们对它使用Cliff(LayeredRock)纹理。

在检视面板中选中它,把笔刷大小设为20,不透明度设为100,目标强度设为1。

在火山整个内部和外围上半部分进行粉刷,你粉刷外围的时候,随着高度的下降,缓慢减小笔刷大小和不透明度,这样可以使得整个火山外表看起来更加精细,而且有一个渐变的过程。

(YG:

注意,笔刷大小与纹理的精细尺度其实没有关系)当不透明度处于较低水平时,你也可以对地形中的丘陵地带进行粉刷,完成后,将得到类似于下图的效果。

⑤树木

现在我们有了一个铺设好纹理的小岛,接下来我们来绘制一些树木来装点它。

在地形编辑器工具栏中选择植树(Placetrees)工具,然后点击EditTrees按钮,在弹出菜单中选择AddTree。

接着会弹出AddTree对话框,点击Tree设置最右边的圆形按钮,在弹出的菜单中选择Palm(棕榈树),并且把BendFactor(弯曲系数)设为2,弯曲系数允许我们控制树木是否能在风中摇曳,这需要消耗很大电脑运算能力,如果你的电脑表现很吃力,你应该把它调回0。

最后点击Add完成添加。

(YG:

如果设为0,树确实就一动不动了)

这时,棕榈树已经被添加到了检视面板中。

你可以看到它的缩略图有蓝色边框,说明它出于选中状态,接下来按下图设置我们植树的相关参数。

在小岛沿岸地带通过点击鼠标放置树木,为了使环境更为自然,在小岛内部也植上一些树。

记住,当你把树木放错地方时,你可以选择撤销绘制;同时,还可以按住Shift键,移除绘制好的树。

⑥太阳

在层次面板点击Create按钮,选择DirectionalLight(平行光),这时我们场景中便有了一盏平行光。

平行光是从一个方向照射到另一个方向,只有投射的光线才能被看到。

由于我们在本实验中要用它来模拟太阳,因此我们要对它使用镜头光晕特效。

在检视面板中调节DirectionalLight的位置为(0,250,-200),为了让它更好地照射在小岛地形上,我们把绕X旋转设为30,设置光强(Intensity)为0.8。

下一步,为了模拟太阳,我们将使光源变得可见。

要做到这一点,我们将使用镜头光晕特效。

在Unity顶部菜单选择Assets|ImportPackage|LightFlares导入资源包,在弹出菜单中选择Import完成导入。

然后在层次面板中选择DirectionalLight,在检视面板点击光源组件的Flare设置右边的圆形选择按钮,在弹出的对话框中双击选择Sun,完成操作。

⑦天空盒

在创建3D环境时,我们用一个天空盒代表地平线的远方。

一个天空盒是由Cubemap构成的,Cubemap是在一个立方体里面放置的6个纹理,使得它们无缝衔接,作为游戏的天空和地平线。

Cubemap始终存在于3D世界中,跟现实的地平线一样远不可及。

在顶菜单栏中选择Edit|RenderSettings。

这时检视面板中会出现渲染设置面板,在SkyboxMaterial(天空盒材质)选项的右边点击圆形按钮,在弹出的选择材质对话框中选择Sunny2Skybox,这是我们的场景便有了蔚蓝的天空。

哇!

(YG:

注意,skybox并不是作为某个物体的组件来添加的,而是在Edit菜单--Eender中来Settings中来全局性设置的)

⑧海水

我们构建好海滩之后,应该在小岛的四周加入海水了。

Unity免费版中的水其实是把一个动画材质应用在物体表面,从而得到流动的效果。

Water(Basic)Assets资源包为我们提供了2个现成的水材质,在工程面板选择StandardAssets|Water(Basic)|DaylightSimpleWater.prefab,把它拖到我们的场景视图中,修改它的位置(250,4,250)我们把水材质放在了小岛的中心,并把高度调为4,这样就覆盖了我们的海床。

然后我们把它的Scale的X、Z属性增大到1600,从而使得小岛被海水包围。

(YG:

你离近了就能看出水面的动态波澜效果。

不过如果你进入水面一下就会看到原先的地面,没有一个在水体中的那种感觉了。

(YG:

注意水是作为一个预制的物体加入的,是一个圆形的片。

⑨创建角色

在工程面板中,按下图所示路径选择我们的角色控制器,我们选择FirstPerson(第一人称)控制器。

在场景视图中放大的你场景,我们需要放置我们的角色控制器。

放大场景视图后,从工程面板中把控制器拖入到场景中,由于地形对象自带碰撞器,我们的角色控制器放在了地形的上方,而没有往下掉。

把鼠标移动到场景视图中,按下F键聚焦我们的第一人称控制器,你会发现控制器有一半陷进了地里,这是由于Unity把物体的中心对齐到地形的表面。

解决这个问题很简单,选择变换工具(快捷键W),然后拖动控制器的绿色Y轴手柄,把控制器拽到地表之上就可以了,现在你的控制器便是一个激活的游戏对象了。

由于角色控制器自带相机,现在我们不再需要创建工程时自带的MainCamera了。

在层次面板选中它,delete删除。

感谢它陪伴了我们这么久!

(YG:

用不着删除Maincamera,只要在inspector面板中将其前面的对勾去掉即可)

4.测试我们的游戏场景。

点击Play按钮,现在你可以通过键盘上的W/S/A/D键来实现走动,通过鼠标转动来改变角色行动方向和视角。

当你调整到太阳的方向就可以看到太阳光晕的效果。

当你对测试结果满意时,再次点击Play按钮退出播放模式。

好了,到现在为止我们的小岛地形就全部完成了。

到主菜单中选择File|SaveScene保存场景。

(YG:

要加快速度就修改inspector面板中:

movement---maxforwardspeed;空格是跳跃)

小结:

这一节实验中,我们用Unity自带的地形编辑器创建了一个迷人的小岛,以一块平地作为开端,然后为它添加各种各样的元素,最后完成了一个室外游戏场景的搭建。

(YG:

你可以试试加个第三人称控制器3rdPersonController)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2