创建场景——02地形编辑器

学习笔记适合新手,如有错误请指正。?号处也请各位指点下,谢谢。

在Project视图中点击鼠标右键》Import Package》Environment,弹出资源导入窗口

点击Import按钮,导入环境资源宝

点击导航菜单栏》GameObject》3D Object》Terrain菜单项创建地形

在Scene视图中通过鼠标滚轮调整视距,按住鼠标右键进入观察模式,在该模式下用鼠标调整视角,键盘WASD移动

升降地形工具

选中地形工具栏中的第一栏Raise/Lower Terrain即可看到地形升降工具

Brushes:笔刷区域,选择笔刷的形状

Settings:这只区域,设置参数

Brush Size:笔刷的尺寸

Opacity:变化的力度,在地形升降工具表示升降的幅度

按住Shift键在点击鼠标左键,可以下降地形

绘制高度工具

地形工具栏中第二栏Paint Texture,该工具可以将笔刷覆盖的区域设定为指定高度

Settings中多了一个Height属性,表示将要绘制的高度,将Opacity设置为100,Height设置为120,然后在空白区域绘制

平滑地形工具

选中地形工具栏中的第三栏Smooth Height,该工具主要是用来平滑笔刷区域内的地形

绘制地形工具

选中地形工具栏中的第四栏Paint Texture,点击Edit Textures按钮,在下拉菜单中点击Add Texture

Diffuse(RGB):图

Normal:法线贴图

Size:贴图在地形中尺寸大小,该值越大,贴图在地形中越被拉伸

Offset:贴图的其实偏移

这里我们只选贴图,其他参数为默认即可,点击Texture栏中的Select按钮,选中之前添加的环境宝中的GrassHillAlbedo贴图,点击Add按钮,Inspector窗口中的Terrain栏

放置树木工具

选中地形工具栏中的第五栏Place Trees放置树木工具,点击Edit Tree按钮,在下拉菜单中点击Add Tree按钮,弹出下图,添加树木界面,可以看到参数Tree Prefab,顾名思义就是所要放置的树木预制体

接着点击Tree栏,最后侧的圆形小按钮,选中之前添加的地形包中的预制体,点击Add按钮,Inspector窗口中的Terrain栏

接着将Brush size笔刷尺寸设置为1,绘制一棵树

Mass Place Trees:当有多棵树木是随机放置树木

Brush Size:笔刷的尺寸

Tree Density:放置树木的密度

Tree Height:树木的高度,当勾选Random时,该栏右侧盒相拖动跳决定了高度,盒相拖动跳的左顶点决定树木的最小高度,右侧决定了最大高度,当不勾选Random时,高度为0.02至2之间的一个数值,根据该数值对树木模型沿Y轴放大或者缩小,拖动横向拖动条左右两个半圆形按钮设定区域

Lock Width to Height:勾选表面树木的宽度对应高度,不用再设置,当不勾选Random时,可以通过Tree Width设置树木的宽度

Tree Width:树木的宽度,当勾选Random时,该栏右侧横向拖动条决定了高度,横向拖动条的左顶点决定树木的最小高度,右侧决定了最大高度,右侧决定了最大高度,当不勾选Random时,高度为0.02至2之间的一个数值,工具该数值对树木模型沿着Y轴放大或者缩小

Color Variation:颜色变化,改这为0时,树木的颜色不会变化,当值为1时,颜色会有明显的明暗变化,设置笔刷尺寸为10,数的密度为100,数的高度为1,宽度为一个值域,颜色变为0,在Scene中放置一片树木,按住Shift键清楚掉这片树木,将颜色变化设置为1,在放置一片树木,有了颜色的变化,看起来真实的多,没有单调的感觉了

Random Tree Rotation:数是否沿着Y轴随机旋转后摆放

绘制细节工具

绘制花草之类的细节

地形工具栏中的第六栏Paint Detail绘制细节工具,点击Edit Details按钮,在下拉菜单汇总点击Add Grass Texture按钮,添加树木界面,接着点击Detail Texture栏最右侧的圆形小按钮,选中指点添加地形宝中的Grass贴图,点击Add按钮

Min Width、Max Width、Min Height、Max Height这4个参数是设置花草从最小宽度、最大宽度、最小高度和最大高度,花草丛的宽高会在最大最小值之间随机分布,unity采用了Pelin noise的早点方式来实现随机分布,这种方式会根据花草在场景中的水平位置,也就是X轴Z轴的位置来取值,好处是这种随机不是完全随机的而是一种平滑随机,而Noise Spread就是随机的变化程度,值得注意的是,当Noise Spread为0时,没有随机,草丛的宽高分别为各自的最大值

Healthy Color和Dry Color分别代表哦花草健康的颜色和干枯的颜色,一般来说草丛的内侧比较健康发绿,而外侧则干枯而发黄

Billboard用于设置是否应用广告牌效果(Billboard Effect),当不勾选该项选项时,草丛的旋转角度是固定的,在某些角度,我们看到的是草的侧面,而失去了应有的效果

当勾选该选项时开启了广告牌效果,该效果主要是用花草贴图做出一张张置于地形表面的面片,而这些面片一直面向屏幕,从而不用复杂的模型即可实现逼真的草丛效果,这种永远面向摄像机的面片技术就叫做广告牌效果

另外一种谢姐处理方式Add Detail Mesh的实现方法与此类似

地形参数设置

选中地形工具栏的最后一栏Terrin Settings地形参数设置工具

Pixel Error:像素容差,在显示地形网格时准许的错误数量,这个其实是一个LOD配置

Base Map Distance:基本地图距离,在搞分辨率下地图贴图的距离

Cast Shadows:投影,控制是否投影

Material:渲染地形所使用的材质,如果留空,则使用默认材质,该材质应当使用合适的Shader,如“Nature/Terrain/Bumped Specular”

Physics Material:物理材质,用于地形表面定义其摩擦力和弹性

Draw:绘制,如果选中,所有的树、草和细节模型将被画上去

Bake Light Probes For Trees:为树烘焙Light Probe光照探针

Detail Distance:细节距离,当细节与摄像机的距离大于等于该值,细节将不被显示

Collect Detail PatChes:收集细节斑点

Detail Density:在单位区域内细节/草的数量上限,可以设置小的数值减少渲染损耗

Tree Distance:树的距离,当树与摄像机的距离大于等于该值,树将不被显示,值越高,更远的树将被显示

Billboard Start:开始公告板,当树与摄像机的距离大于等于该值,树将显示为公告板而不是模型

Fade Length:退变距离,树从公告板过度到模型的四元素的总距离差值

Max Mesh Trees:网格树上限数,在地形上种的所有模型树的总数量上限

Speed:风吹过草时的速度

Size:风影响草的面积

Blending:草被风吹时的弯曲程度

Grass Tint:所有草和细节模型整体的色调量

Terrain Width:地形宽度,设置地形在X轴方向的宽度

Terrain Length:地形长度,设置地形在z轴方向的长度

Terrain height:地形高度,设置地形在y轴方向的高度

Heightmap Resolution:高度分辨率,地形高度图的分辨率(值必须是2的N次方加1,如513=512+1)

Detail Resolution:细节分辨率,绘制细节工具所产生的贴图记录图的分辨率,该值越高细节越细致,但同时空间占用也越大

Detail Resolution per Patch:细节分辨率,某长宽的一片细节在一个Draw call内渲染

Control Texture Resolution:控制贴图分辨率,Splat纹理混合贴图的分辨率

Base Texture Resolution:基本贴图,当与摄像机距离达到Basemap Distance距离后,贴图的分辨率

Import Raw:导入Raw文件

Export Raw:导出Raw文件

时间: 2024-08-28 09:05:35

创建场景——02地形编辑器的相关文章

【Unity】4.3 地形编辑器

分类:Unity.C#.VS2015 创建日期:2016-04-10 一.简介 Unity拥有功能完善的地形编辑器,支持以笔刷绘制的方式实时雕刻出山脉.峡谷.平原.高地等地形.Unity地形编辑器同时提供了实时绘制地表材质纹理.树木种植.大面枳草地布置等功能.值得-提的是,Unity中的地形编辑器支持LOD(Level of Detail)功能,能够根据摄像机与地形的距离以及地形起伏程度调整地形块(Patch)网格的疏密程度.远处或平坦的地形块使用稀疏的网格,近处或陡峭的地形块使用密集的网格.这

创建场景

今天开始学习Cocos2d-x,使用的版本是2.1.4,这个版本比较老,对应的参考资料也比较齐全. 在mac/xcode环境下,代码是写在Classes文件夹下的,和iOS应用类似,程序从AppDelegate.cpp开始,这当中也有一些生命周期方法,其中有一个 applicationDidFinishLaunching方法: 1 bool AppDelegate::applicationDidFinishLaunching() 2 { 3 // 创建一个导演类 4 CCDirector *pD

搭建LoadRunner中的场景(一) 创建场景

一.创建场景 1. 使用场景创建设置对话框 场景分类: 1. 人工场景:相比面向目标场景,人工场景在实际工作中的应用更为广泛. 2. 面向目标场景:预先定义了一个测试目标,LoadRunner将根据这个目标自动构建场景,有点类似向导模式. 手动场景的两种方式: 用户组方式:虚拟用户分组,测试工程师可以自由地分配各组用户数量(LoadRunner默认用户组方式): 分布百分比方式:需要测试工程师指定某些用户所占的百分比和用户总数,系统再根据这些数据计算产生出具体某类用户的数量(通过勾选"Use t

创建场景——03风域

学习笔记适合新手,如有错误请指正.?号处也请各位指点下,谢谢. 实现树的摆动,增加风域(Wind Zone) 点击导航菜单栏>GameObject>3D Object>Wind Zone菜单项 创建一个风域 风域的具体参数如下: Mode:风域的模式,Directional方向风域,整个场景的所有树木都会受到风的影响,Spherical球状区域风域,只有球体内包裹的树木会受到风的影响 Radius:在球状区域模式下覆盖的球状区域半径,在方向风域模式下不能设置该参数 Wind Main:风

windows sdk编程 richedit创建,像十六进制编辑器一样显示文件

编译环境 :windows 7 64位 vs2010,工程创建选择"win32项目" 注意添加几个头文件 #include <WinBase.h> #include <commctrl.h> #include <Commdlg.h> #include <Richedit.h> #include <malloc.h> 主文件中找到: 主函数添加 //载入RICHEDIT控件库文件 HINSTANCE hRich; hRich =

【浅墨Unity3D Shader编程】之一 游戏场景的创建 &amp; 第一个Shader的书写

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] 作为一个系统介绍Unity3D中Shader编写的系列文章的开篇,本文的第一部分系列文章的前言,然后第二部分介绍了这个系列文章中我们会使用的游戏场景创建方式,最后一部分讲解了如何在Un

【淡墨Unity3D Shader计划】一间 创建一个游戏场景 &amp;amp; 第一Shader写作

本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] 作为一个系统介绍Unity3D中Shader编写的系列文章的开篇.本文的第一部分为系列文章的前言,然后第二部分介绍了这个系列文章中我们会使用的游戏场景创建方式.最后一部分解说了怎样在U

【浅墨Unity3D Shader编程】之一 夏威夷篇:游戏场景的创建 &amp; 第一个Shader的书写

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] 作为一个系统介绍Unity3D中Shader编写的系列文章的开篇,本文的第一部分为系列文章的前言,然后第二部分介绍了这个系列文章中我们会使用的游戏场景创建方式,最后一部分讲解了如何在U

CocoStudio基础教程(5)使用CocoStudio场景编辑器关联组件

1.概述 我们有了UI交互.有了动画人物.有了物理模拟,还差最后一步——将这些元素融合起来.这就要用到cocoStudio中的场景编辑器了.这次我们要将先前我们做过的所有东西都放到一个场景中去.这项工程比看起来是要简单. 2.创建场景 运行CocoStudio,选择SceneEditor.进入后创建一个新的工程:MyScene.然后找到先前我们制作的UI部分的导出资源.动画部分的导出资源,将其复制到这个场景工程的Resource文件夹下. 资源准备完成,我们就可以开始制作场景了.制作比较简单,就