`
plmkome
  • 浏览: 41499 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Vision引擎环境中地形纹理介绍

 
阅读更多

 

引言
vForge 地形编辑器能够使用不限数量的细节纹理来绘制一张地形。 这些细节纹理存放在地形编辑器的纹理选项卡中。 基于使用的着色器类型,可以混合到最终地形中的纹理数量是有限的。
 
地形编辑器会将每一块细节纹理作为一个独立的混合通路进行渲染,而不使用实际着色器,所以您可以混合大量纹理而无需考虑逐区块纹理,但这也非常耗费性能。
 
选择地形烘培选项时,这些纹理会基于逐区块每个纹理通道的烘培优先度被计算。 以此方式,每个区块能使用的混合为 5 个纹理、 4 个独特纹理(基底贴图 + RGBA 混合)或 9 个纹理--如果选中的着色器使用两个权重贴图(1 个基底 + 8 个附加纹理)。
 
如果一个区块中参考的纹理数量超过上述值,最不重要的通道(例如不透明度最低的通道)会被略过。 因此,切换到烘培模式可能会使一些细节纹理消失。
 
场景导出时,权重贴图始终会被烘培,因为零售版程序不应渲染单个加权通路。
 
添加和移除纹理
纹理列表可存放任意数量的细节图像,能在绘制时直接使用,添加和移除纹理可通过对应图标进行。
 
添加
要在列表中添加纹理,点击添加纹理图标。

选择该图标将打开位图浏览器,供您选择用于该纹理卡位的图像。

选中该文件后,点击 OK,该纹理将出现在列表中。
 
移除
要从列表中移除纹理,只需选中该纹理并点击删除图标:

纹理重排序
纹理列表排序是有意义的,因为细节纹理可能要提供 alpha 通道(例如树叶覆盖纹理)。 带 alpha 的纹理通道应位于列表末尾,从而使它们在所有其他纹理之后应用。 纹理工具栏中的箭头图标可调整纹理的排序。

绘制地形
用细节纹理绘制地形时,谨慎使用笔刷类型和调整强度设置对获得出众的结果至关重要。
 
绘制和混合纹理
要在地形上绘制,请从列表中选择一个纹理,设置笔刷大小和强度。

然后使用 CTRL + 鼠标左键将纹理喷涂到地形上。

使用 CTRL + 鼠标右键擦除当前选中纹理。
   注:在视图框中使用 B 键改变笔刷大小和旋转。
在地形上用低强度的笔刷绘制纹理时,可以让纹理混合得更为有效。 或者,您可以使用在边缘包含不止一种混合的其他笔刷。

绘制时务必定期在烘培模式中检查地形,确认地形纹理是否还能显示。因为存在权重贴图限制(可使用 1 个基底贴图 + 4 个独特纹理。 例如沙、青草、岩石、泥土就是 4 个独特纹理)。 为确保纹理在烘培时依旧被绘制,请调整纹理 Bake priority(烘培优先级)的数值,vForge 会根据优先级数字决定在烘培时使用哪些纹理,数值较高的会被用来烘培。
 

纹理属性设置
添加到细节纹理列表的每个纹理通道都由铺块因数、散射纹理文件、法线贴图文件和高光贴图文件构成。
   注:法线贴图纹理和高光纹理需要被(自定义)着色器引用和处理。 编辑器仅负责将纹理文件嵌入合适的纹理采样注册器中。 一些引擎内置的地形着色器确实在合适的情况下使用法线贴图,例如在延迟模式下或使用凹凸光照贴图时(默认着色器都不包含纹理通道的高光贴图,因为这需要占用着色器中的大量采样器)。

下面是可用纹理通道属性列表:
 
Name(名称): 喷涂到地形上的细节纹理的名称。 该名称被引擎忽略。
 
Bake Priority(烘培优先级): 当每区块烘培纹理数量超出限制时,该值设定导入纹理通道的优先顺序。 值越高,对应通道在烘培模式中的优先级就越高。 美工可切换到烘培模式(工具栏切换按钮)来使用真正的着色器,这样就能看到地形在最终成品中的实际外观。

切换到该模式后,地形系统会评估最具相关性的细节纹理,并将这些纹理烘培到权重贴图纹理之中。 
 
Diffuse Filename(散射文件名): 散射贴图纹理,通过位图浏览器定位该文件。
 
Material ID(材质 ID): 设置材质 ID。
 
Normal Map Filename(法线贴图文件名): 法线贴图的文件名。 通过位图浏览器定位您想要的法线贴图。
 
Specular Map Filename(高光贴图文件名): 高光贴图的文件名。 通过位图浏览器定位高光贴图。
 
UseThreeWayMapping(使用三向贴图): 三向贴图可消除陡峭区域的拉伸纹理。 无法在基底层上使用。
 
Tiling Offset X(铺设补偿 X): 使用该属性,您可以设置纹理在 X 轴上的铺设补偿。 该值在 0 到 1 之间。
 
Tiling Offset Y(铺设补偿 Y): 使用该属性,您可以设置纹理在 Y 轴上的铺设补偿。 该值在 0 到 1 之间。
 
Tiling X(铺设 X): 这是纹理在 X 轴上的铺设。 数值越大,铺块就越多。 尝试改变纹理缩放比例,使其在您的主玩家角色视角中有正确的外观。
 
Tiling Y(铺设 Y): 这是纹理在 Y 轴上的铺设。 数值越大,铺块就越多。 尝试改变纹理缩放比例,使其在您的主玩家角色视角中有正确的外观。
 
Uses per Sector Textures(使用逐区块纹理): 指定该通道是否使用独特的逐区块纹理。
 
Export Filename(导出文件名): 纹理通道可以导出为一个光度纹理。 设置您希望为导出文件命名的名称。 您不能从这里导出,而需要从上下文菜单启动导出。 
 
   注:当网格中的某个纹理属性发生变化,引擎会立刻更新细节纹理布局。 因为这回占用不少时间,您可以双击列表中的项,一次性编辑所有属性。 见下一章节了解更多信息。
 
整理编辑器
当您双击纹理选项卡列表中的纹理时,整理编辑器对话框就会出现。 这一面板提供的信息和纹理面板非常类似,但以其自己的窗口展示。 这一编辑器可以一次编辑不止一个属性,而且仅在按下 OK 按钮后才会更新引擎。 这与主纹理属性的情况相反,在主纹理属性中,每次个别更改都会立即更新场景,在巨大的场景中,这会导致一些延迟。

Member(成员)列显示了您的列表中的所有纹理,使用上下箭头可调整列表排序。

   注:您可以更改基底贴图的排序。

在成员列底部有添加和移除按钮,可以用来添加或移除库中的纹理。

整理编辑器的靠右侧是每个纹理的属性,就算在大场景中也可更改而无需等待延迟。

程序化生成细节纹理权重
工具栏提供两种辅助选项,用来为地形自动生成细节纹理权重。 使用这些方法并结合程序化植被选项,很大的地形也可迅速完成植被覆盖,节省大量开发时间。 使用任何程序化选项后,您依然可以手动再编辑,添加 / 移除细节及装饰。
 
从文件导入权重贴图
该选项载入一个 RGBA 纹理,并从 R,G,B,A 图像通道相应地映射权重到任意细节纹理中。 这对现有地形的移植非常有用。
 
从寻址创建细节纹理
绘制地形时,有时最快的方法是分配纹理到地形的特定斜度,即平坦区域分配青草,陡坡分配岩石等等。 斜度寻址过滤器载入一个 RGBA 寻址纹理,即水平寻址表 512 x 1 *.bmp/*.tga 纹理。 (如果您需要 A 通道混合基底纹理,则为 *.tga 格式)
 
该纹理作为一个表格,用于从斜度值映射到具体细节纹理:

您可以有四种纹理,每一种以颜色 黑 > 红 > 绿 > 蓝 的顺序混合,左侧图像代表 0 度斜度,右侧图像代表 90 度斜度。
黑(Alpha 通道 - 基底贴图纹理): 很细致的平面,例如泥土、基底草地、沙地
红:例如青草
绿:例如中等大小的石块 / 青草
蓝:例如岩石
 
    注:为斜度生成权重贴图时,确保您不在烘培视图模式下,否则无法看到变化。
 
要使用“从斜度创建细节纹理”选项,请选择以下图标。

选中后将出现一个新窗口,提供设置选项,让您设置颜色和纹理的对应关系。

选择SlopeLookup( 斜坡寻址)属性,并用位图浏览器定位一个斜坡贴图图像(512 x 1 pixels.tga)
 
然后在 Destination(Color)(目标(颜色))卡位设定纹理,如下图所示:

Normal Noise(普通噪点): 如该值为 0,纹理权重严格按斜度计算,例如 5 度为青草,6 度为岩石。 如该值大于 0,地形会略带随机性,从而添加一些变化,使其看起来不完全一样。
 
导入大纹理并分割成逐区块纹理
vForge 允许您导入一个大纹理,该纹理会覆盖整个地形,然后根据可用区块数量分割。
 
大纹理的空间量度受如下限制: 划分后的区块边长必须为 2 的乘方,所以逐区块纹理的大小最终会是 2 的乘方。 如果启用”添加过滤边界”选项,则每个铺块必须为 2 的乘方减 2。
 
大图像需为 2 的乘方,例如,有 10×10 个区块的地形可被一张 2560×2560 的区块覆盖,形成每区块 256 x 256 的纹理。 启用过滤边界后,2540×2540 是纹理有效尺寸,因为 254+2 是 2 的乘方。
 
要使用该窗口,请打开 Editor(编辑器)> Terrain(地形)选项卡并选择如下图标:

按下该图标将显示如下窗口:

转自:project anarchy中文社区

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics