您的位置:首页 > 移动开发 > Unity3D

Unity3D笔记 地形、光源、天空盒子

2016-06-20 11:13 316 查看
一、地形绘制

在GameObject->Create other->Terrian 位置创建一个新的地形。
Resolution设置栏里:
TerrainWidth:全局地形总宽度。其单位为Unity统一单位-米。

TerrainHeight:全局地形允许的最大高度,单位为Unity统一单位。

TerrainLength:全局地形总长度,单位为Unity统一单位-米。

Heightmap Resolution:全局地形生成的高度图的分辨率。(是高度贴图,其数值为2的幂次方加1)

Detail Resolution:全局地形所生成的细节贴图的分辨率,所以数字越小性能越好。但是质量也要考虑。(如植物、动物等)

Control Testure Resoulution:全局把地形贴图绘制到地形上时所使用的贴图分辨率。

Base Texture Resoution:全局用于远处地形贴图的分辨率(基础纹理操作,远处地形)

在绘图工具里:第一个



表示升高和降低地形,Setting->Brush
Size 改变绘图笔刷大小,Setting->Opacity改变的强度(升高地形和降低地形的程度)

第二个



表示绘图时设置最高高度,当达到最高高度是绘图将不再升高。

第三个

表示平滑操作,将之前绘图的尖锐部分变得平滑。

第四个



表示绘制纹理,现在Texture里导入不同的纹理,然后选择纹理并进行绘图。

第五个



表示往地形里插入树木。(单击Edit
trees添加树的纹理)

第六个



表示添加细节(植被,草皮等)

第七个按钮式地形设置,包括基础地形设置、树和细节物体的设置、风的设置

创建一个风:GameObject->Create other->WindZone,设置风的位置和大小等属性!

导入SkyBoxs可以设置天空的颜色,导入Water文件夹,可以添加水物体。(设置天空颜色,Edit->Rander Settings里的SkyBoxs Material选择天空的贴图)

创建自己的树木:GameObject->Create other->Tree

二、光源

在unity中有三种不同类型的灯光:

• 点光源(Point lights)从一个位置向所有方向发射相同强度的光,就像灯泡一样。
• 方向光(Directional lights)放置于无穷远处并影响场景中所有的物体,就像太阳一样。
• 投射光(Spot lights)从一个点向一个方向发光,像一个车灯一样照亮一个锥形的范围
• 类型(Type):当前光照物体的类型(透射光、点光源和方向光)
• 方向(Directional):一个放置在无穷远的光源。它将影响场景中的所有物体并不会衰减。
• 点(Point):一个从它的位置向所有方向发光的光源,将影响位于它的范围内的所有物体。
• 投射(Spot):照亮一个锥形(Spot Angle)的范围(Range),只有在这个区域中的物体才会受到它的影响。
• 颜色(Color):光线的颜色。
• 衰减(Attenuate):光照是否随着距离而减弱?如果禁用,物体的亮度将在进入或离开它的光照范围时突变。可以用来制作一些特殊的效果。如果是方向光这个参数将被忽略。
• 范围(Range):光线将从光源的中心发射多远
• 投射角(Spot Angle):如果是投射光,这个参数将决定圆锥的角度。
• 阴影的类型(Shadows Type):将被该光源投射的阴影选项(Hard Shadows表示比较粗糙的阴影,Soft Shadows 仿真度比较高的阴影)
• 类型(Type):Hard或 Soft阴影,Soft阴影更加的费时。
• 分辨率(Resolution):阴影的细节
• 强度(Strength):阴影的浓度。取值在 0到 1之间
• 投影(Projectio):方向光阴影的投影类型
• 恒定偏移(Constane Bias):世界单元的阴影偏移
• 物体大小偏移 (Object Size Bias):依赖于投影大小的偏移。缺省的值为投影者大小的 1%
• Cookie:你可以为灯光附加一个纹理。该纹理的 alpha通道将被作为蒙版,以决定光照在不同位置的亮度。如果光源是一个投射或方向光,这个必须是
2D纹理。如果光源是点光源,就需要一个 Cubemap。
• 绘制光晕(Draw Halo):如果选择了该选项,一个球形的光晕将被绘制光晕的半径等于范围(Range).
• 闪光(Flare):可选的用于在光照位置上渲染的闪光
• 渲染模式(Render Mode):选择光源是作为顶点光,像素光还是自动的渲染方式。详细信息参考性能考虑部分。参数包括:
• 自动(Auto):渲染方法将在运行时确定,依据附近光照的亮度和当前的品质设置 (Quality Settings)来确定
• 强制像素(Force Pixel):光照总是以每像素的品质来渲染。只将其用于非常重要的效果(例如,玩家汽车的前灯)。
• 强制顶点(Force Vertex):光照总是以顶点光来渲染。
• 裁剪蒙版(Culling Mask):用于将一组物体从光照的影响中排除;参考层部分。(将某一层排除在光照之下)
intensity阳光强度!

创建一个树的层:在Inspector窗体里的layer选择add layer选项,创建了树的层之后,选择要放入层的树木将其层选择为Trees!
阴影剔除优化算法:将Shadows Type设置成Soft Shadows时,近处的阴影没有问题,远处的阴影就消失了。(在Edit->Project
Settings->Quality的Shadows Disdance里设置显示阴影的距离)
在Edit->Project Settings->Quality里设置:







以上是在不同的平台上输出不同质量度,越往下所需资源越多质量越好,去除最后的勾选项可以提高运行速率!
贴图质量选择(Texture Quality):最后一个选项是1/8贴图,所需资源也最少!

抗锯齿(Anti-aliasing):由于在3D图像中,受分辨的制约,物体边缘总会或多或少的呈现三角形的锯齿,而抗锯齿就是指对图像边缘进行柔化处理,使图像边缘看起来更平滑,更接近实物的物体。它是提高画质以使之柔和的一种方法。(Edit->Project Settings->Quality里的Anti
Alising设置几倍的抗锯齿)

给场景加上迷雾(Edit->Rander Settings 里的Fog勾选上设置其颜色)

三种渲染方式:File->Build Settings->Player Settings->other Settings 里的Randering Path(Vertext Lid是顶点渲染使用资源最少,forward向前渲染,Defrred Lighting延迟渲染使用资源最多)向前渲染时,点光源是无法设置阴影的!
添加镜头耀斑:1、在project里导入镜头耀斑资源包Light Flares
2、创建一个空的物体,Add Component选择Effects 再选择Lans Flares
3、讲资源包里的耀斑贴图放入Flare里。产生镜头耀斑的两个条件:摄像机已经添加了Flare Layer组件,产生耀斑的贴图要在摄像机的视野内。

三、天空盒子
1、首先导入天空盒子资源包,Import Package->Skyboxes;(每一种天空材质共有六个面的贴图)
2、在摄像机上添加一个Skyboxs组件(Component->Rendering->Skybox),,选择合适的天空贴图。贴图资源只是相对于当前摄像机对象的,如果添加多个摄像机,并且多个摄像机相互切换时,它们无法模拟同一个天空盒子。在场景中添加天空盒子可以避免这个问题(Edit->Render
Settings 里的Skybox Material 选择适合的天空材质)。
四、常用的编辑器组件
1.摄像机在Inspector窗体里设置摄像机的属性,如自身位置、照射方向、照射面积、照射图层等。Culling
Mash设置摄像机里出现的图层,默认是全部显示;Projection设置摄像机的类型,分为放射观察角度和垂直观察角度。代码设置摄像机类型:camera.isOrthoGraphic=true; 放射观察 camera.isOrthoGraphic=false;垂直观察
2.预设(减少内存开支)在project窗体里创建一个空的预设对象(Create->Prefab)在Hierarchy窗体里创建一个要克隆多个的物体,将其拖拽到预设上,这样完成了一个预设的创建。将预设拖拽到Hierarchy或scene里就可以创建一个相同的物体。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: