Ogre Terrain Scene Manager参数详解

Ogre Terrain Scene Manager参数详解
      

Terrain Scene Manager参数详解

       在场景中地形的形状和染色从一张高度图,一张地形纹理和一张细节贴图中被计算出来。高度图是一张灰度图,每个象素表现一个高度值,0表示地平面,255表示地形最高点。

    地形上面覆盖的的那层纹理被拉伸。这些地形纹理具有代表性的是斑驳的褐色,绿色,白色或者灰色适合于地表,草,雪或岩石地形。地形纹理通常比要覆盖地形小的多,所以近看时通常很模糊。为了解决这个问题,使用了一张细节纹理,当近看时混合地形纹理。细节纹理没有被拉伸,消除了近看模糊问题。

    地形被分成一个地形小块表格。地形小块可能在不同的细节层次被场景管理器显示出来,依赖于小块的布局和离观察者的距离。整个地形被投射到一个世界坐标空间中,在里面地形的尺寸。

目录

  • 1 Configuration Parameters
    • 1.1 Basic Configuration Parameters
    • 1.2 Advanced Configuration Parameters
    • 1.3 More Advanced Parameters
  • 2 Using Custom Materials

Configuration Parameters

地形场景管理器通过terrain.cfg教本被设置。

Basic Configuration Parameters

1.      WorldTexture: 指定地形纹理的名称。

2.      DetailTexture: 指定细节纹理的名称。

3.      DetailTile: 这个指定细节纹理在每个地形小块中重复次数,也就是说,如果这个值是n,细节纹理将在每个地形小块的n*n格中被显示。如果这个值设置过低,地形在近看时会模糊,反之则会在放眼观察时看起来有反复模式(露馅了,^_^) 。

4.      PageSource: 指定高度图数据的来源,默认为Heightmap.

5.      Heightmap.image: 指定高度图的名称。尺寸必须是方形,而且要符合2^n+1, 高度图越大,地形细节就越高,但是程序消耗的的资源也越多(包括程序启动时间)。

6.      PageSize: 地形将会有PageSize * PageSize那么大。如上所述,必须要符合2^n+1 (如651292575131025)。

7.      TileSize: 地形小块有 TileSize * TileSize大小。这个数必须小于PageSize这个数必须要符合2^n+1须要符合2^n+1。设的过小会严重影响性能,太大的话又会在场景的某些部分导致不必要的高细节。

8.      MaxPixelError: 指定当决定哪个细节层次被使用时的最大允许误差。设置过高会导致地形撕裂,过低则会影响性能。

9.      PageWorldX, PageWorldZ: 设定地形在世界坐标系中的范围,地形越大,细节越低,地形使用的顶点数基于高度图,不是世界大小,你可以缩放地形到你想要的任意大小。

10.  MaxHeight: 在世界坐标系中地形的最大高度。高度图中的0..255 缩放到世界坐标系中的 0..MaxHeight

11.  MaxMipMapLevel: 指定渲染地形使用的细节层次的数目。地形的远处和平坦处会以低细节渲染。

Advanced Configuration Parameters

有些高度图保存为raw格式,下列参数描述raw格式。

12.  Heightmap.raw.size: 指定高度图的尺寸,要求同上。

13.  Heightmap.raw.bpp: 指定每象素字节数,1=8 bits, 2=16 bits

14.  Heightmap.flip: 如果设置为true,则翻转高度图。

 

高度图处理说明

    高度图必须是灰度图,如果不是,可以使用photoshop处理,选择菜单【图像】->模式->灰度,然后存为png格式即可。


 

坐标系问题

    Terrain Scene Manager把纹理图的左上角作为世界原点(000),以从左到右为x正方向,从上到下为z正方向,从屏幕里到屏幕外为y正方向,符合右手坐标系。

 

你可能感兴趣的:(Ogre Terrain Scene Manager参数详解)