zoukankan      html  css  js  c++  java
  • 【Unity 3D】学习笔记三十:游戏元素——游戏地形

    游戏地形

    在游戏的世界中,必然会有非常多丰富多彩的游戏元素融合当中。

    它们种类繁多。作用也不大同样。一般对于游戏元素可分为两种:经经常使用。不经经常使用。经常使用的元素是游戏中比較重要的元素。一般须要使用脚本来实现某些特殊功能。比方:玩家控制的主角对象,须要攻击的敌人等。

    因此经常使用的元素直接影响游戏的执行,而不常有的元素。比方说游戏里的天空,云朵等。不影响游戏的主线。只提升游戏的总体效果。


    创建地形

    在3D游戏里,常常会出现起伏的地形。

    本文变总结回想下怎样在游戏里创建游戏地形。

    首先在导航菜单条里选择Terrain----Create Terrain创建一个游戏地形。出现入选图:


    (经过我旋转拉近后的,方便更加直观的观看)



    地形參数

    地形參数包含地形的宽度,高度,长度,分辨率,高度图等。创建完地形后。便能够随意的改动它们。在导航菜单里选择Terrain----Set Resolution后,弹出Heightmap resoluton窗体。直接输入改动就可以。


    简单的介绍下Heightmap resoluton窗体中的參数:

    Terrain Width:地形总宽度

    Terrain Height:地形总高度

    Terrain Length:地形总长度

    Heightmap resoluton:地形高度图的分辨率

    Detail Resolution:细节分辨率,主要用于地形上的草或者其它模型。其数值越高,显示效果越好。当然同一时候也须要越高的机器配置。

    Detail Resolution per patch:细节分辨率补丁

    Control Texture Resolution :控制贴图分辨率

    Base Texture Resolution :相对贴图分辨率



    编辑地形

    到如今为止,我们的地形还仅仅是一个巨大的平面。

    要实现起伏的效果,首先在hierarchy视图中,选择Terrain 。此时会在右側的inspector视图中来编辑地形。



    在地形菜单中有起个button:


    他们的含义分别为:编辑地形高度。编辑地形特定高度,平滑过度地形。地形贴图,加入树模型,加入草与网格模型,其它设置。


    接着以下便是地形画笔:


    brush size:画笔宽度取值范围

    Opacity:画笔高度的取值范围


    选择地形菜单和画笔后,便能够编辑地形的起伏了。

    只是由于地形贴图默认是灰色,故会很的难看。


    在地形菜单中点击第二个button(编辑地形特定高度),此时打开设置地形特定高度页面。与先前的页面一样,仅仅是多了一个Height:


    在编辑地形高度页面中,Opacity:是最大高度。而在编辑特定高度页面,Height才是最大高度。比方在编辑特定高度页面,Opacity的值是100。而Height的值是80,那么地形最高为80


    例如以下图。在地形菜单中点击第三个button(平滑过渡地形),然后选择一个适合的画笔,接着就能够平滑过度地形了。


    平滑后的地形图:


    每当创建完地形后,系统都会自己主动的将Terrain  Collider(地形碰撞)组件加入到地形中。该组件能够让地形感应与其它物体之间的碰撞。

    给地形表皮一个物理材质后。地形上的物体将依据设置的碰撞參数而发生碰撞,比方说:弹力,动力。摩擦力等。


    Material:物理材质,设置模型与地形碰撞后的物理摩擦效果

    is trigger:是否开启地形碰撞

    Terrain  data:地形资源。连接project视图中的地形文件

    create tree colliders:是否创建树木碰撞



    地形贴图

    系统默认的灰色地形实在是不可恭维。

    在实际中。为了让地形看起来更加美观。unity提供了地形标准资源包。首先我们须要将地形资源包导入当前的工程中。在project视图中点击鼠标右键,选择import-----Terrain  Assets。

    导入后。学习怎么给地形加入新的贴图。首先在地形菜单条中点击第四个button(地形贴图),可发现眼下在Textures列表中没有不论什么地形贴图。点击右下角edit---textures(编辑贴图)。将弹出一个选择列表。


    在选择列表中。选择add Textures选项。将会出现下图左边窗体。


    先简要说明下各參数意义:

    texture:在资源目录中选择一张地形贴图

    normal map:在资源目录中选择一张正常地形贴图

    size x:贴图x轴宽度

    size y:贴图y轴宽度

    offset x:贴图x轴偏移量

    offset y:贴图y轴偏移量

    点击texture中的select,将弹出select texture2D窗体,该页面全部的贴图文件都源于project视图中的目录。


    然后在select texture2D窗体中选择随意贴图双击,然后在add terrain Textures窗体中右下角点击add就可以.

    在加入地形贴图后,就能够渲染贴图了。首先选择一个渲染的贴图目录。然后选择一个渲染笔。最后直接在scene视图中渲染即可了。


  • 相关阅读:
    短信发送器小案例 smsManager
    短信大全小案例
    JavaScript学习总结(4)——JavaScript数组
    JavaScript学习总结(3)——JavaScript函数(function)
    JavaScript学习总结(2)——JavaScript数据类型判断
    JavaScript学习总结(2)——JavaScript数据类型判断
    JavaScript学习总结(1)——JavaScript基础
    JavaScript学习总结(1)——JavaScript基础
    Spring学习总结(6)——Spring之核心容器bean
    Spring学习总结(6)——Spring之核心容器bean
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6850251.html
Copyright © 2011-2022 走看看