下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验1-2创建游戏环境一、实验目的:学会使用Unity的地形编辑器。二、实验内容:使用Unity自带的地形编辑器工具构建一个小岛一一太阳、海水、天空。三、实验步骤:1.创建新工程。打开Unity,选择File | New Project创建新工程,选择好你自己的文件存放路径(注意: 不要在路径里包含中文,Unity不支持中文路径),然后按照下图在导入包复选框中勾选相 应选项,点击Create完成创建。-Hierarchy 二1Greaxe * L _Panicle SystemCameraGUI TextGUI Texture 3D TextDirectional LightPoint Lig
2、htSpotlightArea LightCubeSphereCapsuleCylinder Plane QuadClothAudio Reverb ZoneRagdoll.Terrain free- Wind Zone然后按下键盘上的F键,聚焦我们刚才创建好的地形。这时候检视面板中就会出现如下 Terrain 组件:下面我们依次来看看Terrain (Script)而板中的几个主要工具的功能。提升工具(Raise/Lower Terrain)使用这个工具在地形上绘制可以提升地形的高度,你还可以预先设定笔刷大小(Brush Size)、 不透明度(Opacity)。按住Shift键绘制则会起到
3、降低地形高度的效果。指 Scene CarrietqxojkcIs ; RGB t 1未:R | 副Gizmos &all绘制高度(Paint height) 国Terrain (Script)Paint heightHold shift:to sample target height.这个工具的使用方法和提升工具差不多,只不过在Settings选项栏中多了一个绘制高度 (Height)的额外设置,这意味着你可以设置特定的绘制高度。也就是说,你可以让地形提 升到一个特定高度,然后即便你继续绘制,地形也不会再升高。我们可以用这个工具来创建一些平原。平滑高度(Smooth Height)通
4、常我们把这个工具和绘制高度的工具配合使用,它允许你柔化地形边缘。0Terrain (Script)Smooth HeightPaintta smooth the terrain.绘制纹理(Paint Texture) 0Terrain (Script)口 *Paint TextureSelect a texture below, then click t。paint绘制纹理是一个用来刷纹理的工具,通俗的说就是绘制地表。我们可以加载我们需要的任何 纹理进行绘制,来得到我们想要的地表。植树(Place Tree)0Terrain (Script)Place TreesHold down shift
5、 to erase trees.Hold down Ctrl to erase the selected tree type.使用这个工具,我们可以通过用鼠标点击粉刷,在地形上绘制树木。在Settings面板中我 们可以调整以下参数:Brush Size(笔刷大小):每次点击时,种植树木的数量。 Tree Density (树的密度):种植树木之间的距离。Color Variation(颜色的多样性):绘制树时产生随机颜色。 Tree Width/Height(树的宽度/高度):所使用树木的大小。Tree Width/Height Variation (树高/树窕的多样性):产生随机大小的树木
6、,从而创造 更加真实的森林场景。你也可以使用Shift键来移除绘制的树木.绘制细节(Paint Details)n 画Terrain (Script)屈柒Paint DetailsHold down shift to erase.Hold down Ctrl to erase the selected detail type.这个工具的使用方法和植树工具相似,它被用来绘制细行部分的物体,如花、草、岩石和其 他植物。地形设置(Terrain Settings)在这个工具中我们可以对地形进行许多设置,具体我们会在接下来的实验步骤中部分讲解。3.创建小岛太阳、海水、天空。设置地形首先,在层次面板中选
7、中Terrain对象,然后在检视面板中选择地形设置工具(TerrainSettings),在Resolution面板中修改地形的长、宽、高参数,其它设置保持默认不变。接下来,选择绘制高度工具,点击其中的Height选项栏,然后愉入30,按回车键确认。最 后,点击Flatten应用修改。BTerrain (Script)口 银5-Paint heightHold shift to sample target height.Brushes 徵,獭鹭 * 棘佛(我们输入30.意味着我们绘制的最大高度是30.当地形高度小于30时,绘制操作使地形 上升至30,而当地形高度大于30时,绘制操作便会使地形降
8、低至30:而点击Flatten,便 可使得全部地形都变化到30高度水平.也就是说我们使地形整体从创建初始的0升至仃3QC勾勒小岛轮廓在检视面板中选择地形编辑器的第一个工具,也就是提升工具。选择第一个笔刷,设置 Brush Size (笔刷大小)为100,设置Opacity (不透明度)为75。在场景视图的右上角点 击场景手柄工具的y轴(绿色圆锥体),将视图角度改成俯视。使用Shift键和笔刷在地形边缘粉刷,降低边缘地形高度,直到地形不再下降(高度为0)。同学们创建的地形不必和上图一模一样。接下来,在场景视图中单击鼠标右键拖拽回到透视 图,继续使用提升工具为地形创造更多的细日,之后我们用平滑高度
9、工具在地形边缘粉刷, 使得尖利的边缘变得平滑。但记住在地形的左下角保留一块平地,我们将在此创建火山。 火山现在,我们开始创建火山。为了创建火山,我们将联合使用提升工具、绘制高度工具和平滑 高度工具。首先,选择绘制高度工具。选择第一个笔刷,然后把笔刷大小设置为75,不透明度设置为50, Height设为100 (YG: 第一个笔刷好像没有height这个变量,第二个笔刷才有)。点击场景手柄工具选择俯视视 角,然后在地形左下角创建一片高原。记住,这个工具在地形高度达到100以后就会停止作 用,这是因为我们在之前的设置中把高度设为了 100.操作完成后,你的小岛应该和下图 类似。(指 Scene &
10、#171;Game一Texturedj| RGB t 米 | £2 | 4)Gi:mo5 &可1 接下来,我们继续来创建火山口。选择绘制高度工具,把Height设置为20, Brush Size 设置为30, Opacity设为60,仍旧在俯视图中进行绘制操作。按住鼠标左键,从高原中心 向外粉刷,直至在高原中心形成一个向下塌陷的空洞,如下图所示。转回透视图,我们发现火山口的边缘过于尖锐,看起来不自然。这时,我们就要使用平滑高 度工具了。选择该工具,把Brush Size设为30, Opacity设为100。然后在火山口部分和 山脊部分粉刷,直到他们边缘变得很平滑,如下图所示。
11、添加纹理在铺设纹理时,有一点特别重要:就是你添加的第一种纹理,会自动地作用在整片地形上。当你意识到这一点,你要确保你添加到检视面板的第一种纹理是我们地形的主要纹理。此外,我们在创建游戏工程的时候,导入了地形资源包(Terrain Assets),这个资源包中 就有我们所要的地形纹理,下而我们把这些纹理加入到检视面板中。点击检视而板中Terrain选项栏中的Edit Texture (编辑纹理)按钮,在弹出菜单中选择Add Textures (添加纹理),我们把我们需要的4种纹理添加到检视面板中。m EJTe rrain (Script)氏 *Paint TextureSelect a text
12、ure below, then click to paintBrushesTexturesNo ten ain textures defined.|1 * Edit "Textu-es.1当你点击Add Textures时,将会弹出一个对话框,选择Texture栏中的Select按钮打开 纹理选择窗口,在该窗口的众多选项中选择Grass(Hill),并且保持Size和Offset的默认 值,因为纹理将被应用到整个地形上,小的数值让小草的纹理更加细致,然后点击Add确定 导入。重复上面的步骤,把其它三种纹理Grass&Rock、GoodDirt、Cliff (Layered R
13、ock)添加到检 视面板中。注意其中Cliff (Layered Rock)纹理的Size的x y属性全都改为70,其它的 纹理则保持默认值。而接下来的纹理,就需要我们手动粉刷。: 0Terrain (Script)应 中|尴3修总钵I辖IPaint TextureSelect n texture balow, than click to paint:Brushes-ISORGBGismos* Scene Tcxdjic d*绷赣w 承停毒可现在,你应该已经把纹理都添加到了检视面板中C首先,确保每个纹理的参数设置与上面所 说相符,然后选择GoodDirt纹理。把它的Brush Size设为60
14、,Opacity设为50,Target Strength (目标强度)设为1。然后使用它在小岛地形的外部进行粉刷。粉刷完毕后,你将 得到类似于下图的结果。(YG: Opacity是0,100,表示的是一个百分量,表明当前纹理与原有纹理混合时的百分 权重:而Target strength是0,1,表示当前纹理混合时的强度。我理解在计算时Opacity target strength 会相乘。)如果在粉刷过程中失误了,你可以在Edit Undo撤销到上一步。你也可以把鼠标定位在场 景视图窗口,然后按下Space (空格)键最大化当前窗口,以方便绘制。接着,我们在检视面板中选择Grass &
15、 Rock纹理。把笔刷大小设置为25,不透明度设置为 30,目标强度设置为0.5。现在,你可以对小岛的凸起丘陵地带和火山上半部分进行粉刷。 完成后,你应该得到如下效果。Iso为了让我们的火山更加真实,我们对它使用Cliff (Layered Rock)纹理。在检视面板中选中 它,把笔刷大小设为20,不透明度设为100,目标强度设为1。在火山整个内部和外围上半 部分进行粉刷,你粉刷外围的时候,随着高度的下降,缓慢减小笔刷大小和不透明度,这样 可以使得整个火山外表看起来更加精细,而且有一个渐变的过程。(YG:注意,然刷大小叮纹 理的精细尺度其实没有关系)当不透明度处于较低水平时,你也可以对地形中的
16、丘陵地带进 行粉刷,完成后,将得到类似于下图的效果。树木现在我们有了一个铺设好纹理的小岛,接下来我们来绘制一些树木来装点它。在地形编辑器 工具栏中选择植树(Place trees)工具,然后点击Edit Trees按钮,在弹出菜单中选择 Add Tree。接着会弹出Add Tree对话框,点击Tree设置最右边的圆形按钮,在弹出的菜单中选择Palm (棕桐树),并且把Bend Factor (弯曲系数)设为2,弯曲系数允许我们控制树木是否能 在风中摇曳,这需要消耗很大电脑运算能力,如果你的电脑表现很吃力,你应该把它调回0。 最后点击Add完成添加,(YG:如果设为0,树确实就一动不动了这时,棕
17、桐树已经被添加到了检视面板中。你可以看到它的缩略图有蓝色边框,说明它出于 选中状态,接下来按下图设置我们植树的相关参数。在小岛沿岸地带通过点击鼠标放置树木,为了使环境更为自然,在小岛内部也植上一些树。 记住,当你把树木放错地方时,你可以选择撤销绘制;同时,还可以按住Shift键,移除绘 制好的树。 GomeGismos 7RGB* Scene TQgn a d太阳在层次面板点击Create按钮,选择Directional Light (平行光),这时我们场景中便有了 一盏平行光。平行光是从一个方向照射到另一个方向,只有投射的光线才能被看到。由于我 们在本实验中要用它来模拟太阳,因此我们要对它使
18、用镜头光晕特效,在检视面板中调节Directional Light的位置为(0,250, -200),为了让它更好地照射在 小岛地形上,我们把绕X旋转设为30,设置光强(Intensity)为0.8。下一步,为了模拟太阳,我们将使光源变得可见。要做到这一点,我们将使用镜头光晕特效。在Unity顶部菜单选择Assets Import Package Light Flares导入资源包,在弹出菜 单中选择Import完成导入。Assets GameObject Component Window HelpCreateShow in ExplorerOpen DeleteImport Nev/ Ass
19、et.Import Package Export Package. Find References In Scene Select DependenciesRefreshReimportCtrl+RReimport AllSync MonoDevelop ProjectC Game; f RGBCustom Package.Character ControllerGlass Refraction (Pro Only)Image Effects (Pro Only)Light CookiesLight FlaresParticlesPhysic MaterialsProjectorsScript
20、sSkyboxesStandard Assets (Mobile)Terrain AssetsTcssdlaticn Shaders (DX11)Toon ShadingTree CreatorWater (Basic)Water (Pro Only)然后在层次面板中选择Directional Light,在检视面板点击光源组件的Flare设置右边的 圆形选择按钮,在弹出的对话框中双击选择Sun,完成操作。0 Light回名TypeDirectionalt |Color Intensity Cookie Cookie Size /QTNone (Texture)。10Shadow TypeNo
21、 ShadowsDraw HaloFlareRender Mode Culling Mask Lightmapping口None (Flare)OAuto1IEverything:|Auto天空盒在创建3D环境时,我们用一个天空盒代表地平线的远方。一个天空盒是由Cubemap构成的, Cubemap是在一个立方体里而放置的6个纹理,使得它们无缝衔接,作为游戏的天空和地平 线。Cubemap始终存在于3D世界中,跟现实的地平线一样远不可及。在顶菜单栏中选择Edit | Render Settings0这时检视面板中会出现渲染设置而板, 在Skybox Material天空盒材质)选项的右边点击圆
22、形按钮,在弹出的选择材质对话框中选 择Sunny 2 Skybox,这是我们的场景便有了蔚蓝的天空。哇!(YG:注意,skybox并不是作为某个物体的组件来添加的,而是在Edit菜单一Eender中来 Settings中来全局性设置的)O InspectorRendersettingsFog1 JFog ColorFog ModeExp2:Fog Density0.01Linear Fog Start0Linear Fog End300Ambient Light夕Skybox MaterialUsunnyz Skybox 0Halo Strength0.5Flare Strength1Halo
23、 TextureNone (Texture 2D) OSpot CookieNone (Texture 2D) 0海水我们构建好海滩之后,应该在小岛的四周加入海水了。Unity免费版中的水其实是把一个动 画材质应用在物体表面,从而得到流动的效果。Water (Basic) Assets资源包为我们提供了 2个现成的水材质,在工程面板选择Standard Assets Water (Basic) Daylight Simple Water. prefab,把它拖到我们的场景视图中,修改它的位置(250, 4,250)我们把水材质 放在了小岛的中心,并把高度调为4,这样就覆盖了我们的海床。然后我们
24、把它的Scale的 X、Z属性增大到1600,从而使得小岛被海水包围。(YG:你离近了就能看出水面的动态波澜 效果。不过如果你进入水而一下就会看到原先的地面,没有一个在水体中的那种感觉了。)(YG:注意水是作为一个预制的物体加入的,是一个圆形的片.)- Transform口 中PositionX 250 一 Y 4Z 250|RotationX 'oT ' Y o- j z 0 ”ale;|x 1600 丫 口 Z 1600 jWater Plane Mesh (Mesh fQ *Mesh圉 waterPlaneMesh Q Assets Standard Assets Cha
25、racter ControllersCreate aii Maren All Models创建角色在工程面板中,按下图所示路径选择我们的角色控制器,我们选择First Person(第一人称) 控制器。曲 Project El Console在场景视图中放大的你场景,我们需要放置我们的角色控制器°放大场景视图后,从工程而板中把控制器拖入到场景中,由于地形对象自带碰撞器,我们的 角色控制器放在了地形的上方,而没有往下掉。把鼠标移动到场景视图中,按下F键聚焦我 们的第一人称控制器,你会发现控制器有一半陷进了地里,这是由于Unity把物体的中心对 齐到地形的表而。解决这个问题很简单,选择变换工具(快捷键W),然后拖动控制器的绿 色Y轴手柄,把控制器拽到地表之上就可以了,现在你的控制器便是一个激活的游戏对象了。由于角色控制器自带相机,现在我们不再需要创建工程时自带的Main Camera 了。在层次面 板选中它,delete删除。感谢它陪伴了我们这么久! (YG:用不着删除Main camera,只要 在inspector面板中将其前面的对勾去掉即可)4.测试我们的游戏场景。点击Play按钮,现在你可以通过键盘上的W/S/A/D键来实现走动,通过鼠标转动来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 听觉口语师核心技能强化考核试卷含答案
- 2025-2026学年大树说课稿美术
- 聚酯增粘装置操作工安全规程评优考核试卷含答案
- 电气试验工岗位潜力考核试卷含答案
- 2025-2026学年大班七步诗说课稿
- 吉林省吉林市四校2025-2026学年八年级上学期期中测试物理试题(含答案)
- 2026年金属表面处理及热处理加工行业技术路线图报告及未来五至十年龙头崛起与格局重塑
- 2026年水上运输辅助活动行业年度综合研究报告及未来五至十年合规风险与监管应对
- 2026年抽纱刺绣工艺品制造行业市场调查研究报告及未来五至十年垂直整合与横向拓展
- 见证取样监理实施细则
- 江苏省南京市2026-2027年高三上9月月考语文试卷(含答案)
- 2025-2026学年辽宁省点石联考高二10月月考语文试题
- 2026秋季苏教版(新教材)小学科学六年级上册(全册)每课课时练习及答案(附目录p97)
- 2026新教材人教版九年级上册英语:各单元话题作文指导(写作模板+满分范文)
- 公共政策不确定性管理:框架、模型与实践
- 2026年中国广电山东网络有限公司招聘笔试参考题库附带答案详解
- 主播经纪协议模板
- 《储能用压缩空气泡沫灭火系统》
- 《DLT 2855-2024变电站无人机巡检系统》专题研究报告深度
- 贵州省公路占道作业安全技术指南(试行)
- 耳鼻喉嗓音训练
评论
0/150
提交评论