zoukankan      html  css  js  c++  java
  • 地形编辑

    Unity地形::

    新建地形:


    6597408416238626273.jpg


    如图在菜单中新建一个地形。就会在


    6597408416238626274.jpg


    中看到Terrain对象。如果要修改地形参数,可以在Terrain菜单下的SetResolution中设置。


    6597408416238626275.jpg


    如上图所示。地形的参数设置:

    TerrainWidth:全局地形总宽度。其单位为Unity统一单位-米。

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

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

    Heightmap Resolution:全局地形生成的高度图的分辨率。

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

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

    BaseTextureResoution:全局用于远处地形贴图的分辨率。


    unity定制地形:

    如果有美术人员制作好的高度图。那么可以直接导入,但是unity仅支持.RAW格式。图像大小要求是2的幂。导入方法:Terrain-〉Import Heightmap-Raw。选中需要的资源后。会弹出如下属性设置框:


    6597408416238626276.jpg


    Depth:由文件格式来设置,8位或者16位。

    Width:高度图的宽度,根据图像本身大小获得。

    Height:高度图的高。

    ByteOrder:根据文件格式来设置。Mac或者Wndows。使用这个文件编码时所用的顺序。

    TerrainSize:这里是TerrainSet Resoulution的选项。如果觉得高度图和地形大小差别太大。可以由此调整。


    Unity绘制地形:

    在Hierarchy面板中选中地形。在Inspector中查看信息,以下7个横排按钮就是绘制地形工具。


    6597408416238626277.jpg


    6597408416238626278.jpg


    PaintTexture功能从左往右依次是:提高和降低高度[此功能配合Shift可以是地形瞬间平整],绘制目标高度,平滑高度,绘制地形,绘制树木,绘制花草,设置。

    Brushes区下包含各种样式的笔刷,可以用来控制贴图,地形风格。

    Details区下表示笔刷设置,可以通过Edit Details添加笔刷材质。BrushSize:用来控制笔刷大小,Opacity用来控制贴图使用的纹理的透明度,或者说浓度。TargetStrength用来调整目标强度。强度越小,那么贴图纹理所产生的影响越小。


    使用系统自带的材质为地形贴图:

    1:Create Terrain后,在Project面板右键ImportPackage-〉TerrainAssets[该包含有树木绿草资源],在Hierarchy面板中选中Terrain。

    2:在Inspector面板中的Terrain下选择笔刷 6597408416238626279.jpg


    。点击EditTexture。选中Add Texture。

    3:弹出框


    6597408416238626280.jpg


    ,选择Splat后边的圆圈: 6597408416238626281.jpg

    4:弹出材质列表:,选择其中之1


    6597408416238626282.jpg


    。再看看地形,是不是就贴上材质了呢。第一次是完全覆盖,以后的导入的材质不再覆盖首次的材质,根据画笔控制进行材质覆盖。


    添加树木:

    1: 6597408416238626283.jpg

    选择该按钮。点击 6597408416238626284.jpg 。和添加地形贴图一样选择树木。再次在地形上点击。你的蓝色覆盖区域都将种上树木。


    关于Tree的Settings参数详解:

    BushSize:笔刷的半径。以地形单位米计算。

    TreeDensity:树木密度。值越大树木越多。

    ColorVariation:每棵树的颜色所能够使用的随机变量值。

    TreeHeight:树的基准高度。

    Variation:树高的随机变量。

    TreeWidth:树的基准宽度。

    Variation:输的宽度随机变量。


    添加绿草:

    1: 6597408416238626285.jpg


    选择该按钮,在EditDetails中选中GrassTexture像添加树木那样操作即可。

    关于绿草的参数:

    BrushSize:笔刷半径以米为单位。

    Opacity:密度比例。

    TargetStrength:目标区域有效面积百分百。比例越大能种的草就越多,当然这也和密度相关。


    关于地形参数设置:

    6597408416238626286.jpg


    按钮代表当前地形的参数设置:

    PixelError:像素误差,较高的之可能渲染较快,但是贴图可能不是非常精确。

    BaseMapDist:贴图到摄像机的距离超过这个值,就会让地形贴图以低分辨率显示。

    Castshadows:让地形产生阴影。比如山峰产生的阴影。

    以上3项都是地形基本渲染设置。


    Draw选项表示是否渲染除地形以外的对象。当你在也做好各种物体的地形上需要调整地形时候,这个非常有用。

    DetailDistance:当到摄像机超过这一距离,细节玩个停止显示。

    DetailDenstiy:详细密度。更细小的渲染粒度。

    TreeDistance:当到摄像机的距离超过该值,树木停止显示。

    BillboardStart:当到摄像机的距离超过该值,树木以广告牌形式开始显示。

    FadeLength:树木从网格过渡到广告牌的距离。

    MaxMeshTrees使用网格形式进行渲染的树木最大数量。

    以上6个参数为树木或者细节对象渲染参数设置。


    Speed:风吹过草地的速度。

    Size:同一时间收到风影响的草的数量。

    Bending:草跟随风进行弯曲的强度。

    GrassTint:对于地形上使用的所有草和细节网格的总体渲染颜色。


    以上4项为风力设置为主。

    在该视图中所做的修改可以随时在游戏中体现。但是游戏停止后,游戏过程中设置数值的修改不会被保存。所以修改同时,注意保存。






  • 相关阅读:
    tar命令,vi编辑器
    Linux命令、权限
    Color Transfer between Images code实现
    利用Eclipse使用Java OpenCV(Using OpenCV Java with Eclipse)
    Matrix Factorization SVD 矩阵分解
    ZOJ Problem Set
    Machine Learning
    ZOJ Problem Set
    ZOJ Problem Set
    ZOJ Problem Set
  • 原文地址:https://www.cnblogs.com/fftan/p/5132254.html
Copyright © 2011-2022 走看看