雷神战争中简单megetexture地图制作

原文地址 http://wiki.splashdamage.com/index.php/A_Simple_First_Megatexture

本指南将逐步介绍使用雷神战争的关卡编辑器如何创建详细的Megatextured Terrain。

我个人认为对于理解Id的Magetexture技术有所帮助,所以翻译

请确保您在尝试本教程之前熟悉一个简单的第一个Megatexture

内容

[ 隐藏 ]

介绍

对于本教程,您必须:

  • 有一个可以导出为LWO,ASE或OBJ的建模包
  • 有基本的建模技巧
  • 具有基本的绘图技巧,如“ 简单的第一地形”

本教程包括:

  • 创建详细地形网格的步骤。
  • 如何分配Megatexture
  • 如何将地形网格添加到地图
  • 如何制作Megatexture
  • 如何编译Megatexture
  • 如何添加水到地图

本教程中使用的程序有:

  • Mudbox中
  • 世界机器
  • 光波
  • 玛雅(简单使用)

可以使用其他类似的程序来代替这些程序,但是在本教程中不会介绍。

本教程没有详细介绍:

  • 如何使用Mudbox / ZBrush / World Machine / Blender / Lightwave / Maya / 3DSMax

如果您已经有一个地形网格,并且不想使用Mudbox和World Machine,请跳到

准备Terrate for Megatexture

泥地:塑造地形

泥盒图层

这些是在Mudbox中雕刻地形的基本步骤。

  • 创建一个平面(3d平面,有局限的,并不是 数学中严格意义上 的平面),并细分(但仍然保持低细分)。
  • 更改您使用的任何工具将编辑方向设置为Y轴。
  • 创建一个新的图层,并为地形绘制粗糙的布局。
  • 再细分到你想要的细节水平(或可以)。
  • 创建另一层,并将更多细节雕刻到地形中。
  • 导出到 OBJ。

将网格转换为高度图

如果要将当前地形网格导入World Machine,则需要执行此步骤。

  • 首先,旋转地形网格。在光波中,围绕X轴旋转-90°。对于3ds Max&Maya,绕X轴旋转+ 90°。
  • 盖住网格中的任何孔,并对网格进行三角测量。
  • 使用带有nVidia显卡的机器,
  • 在ETQW控制台中运行以下命令来获取  heightmap
  • (其中<model>是.lwo.obj.ase网格的相对路径):
    • RenderBumpFlat - floatHeightmap - size 2048 2048 <model>
  • 一个.r32(原32位)高度图将被保存在同一文件夹中你的模型,

  • 这个高度图可以在世界机床使用。

世界机器:添加流

世界机器设备视图

World Machine用于向地形添加侵蚀流线。

它也很有用,因为可以导出流程图,以便稍后在Terrain Editor中为纹理分发创建掩码。

这些是构建世界机器设备节点的基本步骤。

  • 将由Mudbox网格制成的高度图与Perlin Noise混合,以帮助侵蚀过滤器。(翻译 待定)
  • 在岩石周围使用过滤器(使用面罩),因此岩石看起来像是坐在土壤中。
  • 通过两个侵蚀节点传递高度图,它们设置不同,并且组合给出一个自然流畅的外观。
  • 两个侵蚀节点在岩石周围都被掩盖,因此它们将保持其形状。
  • 第一个侵蚀节点被设置为具有反向过滤器的通道侵蚀,
  • 将大的流动线切割到地形中。
  • 第二个是一个没有过滤器渠道侵蚀设置,增加了更精细的流水线。

世界机器高度图

  • 侵蚀的高度图输出被分割,因此可以保存高度图(以后用于创建网格),
  • 并且进一步创建的过滤器(沉积物和法线贴图)以帮助稍后对纹理分布进行掩模。

流图

  • 来自侵蚀节点的沉积图通过简单转换节点传递,从而使保存的输出变亮。
  • 将上面保存的高度图导入并以较低(可用)分辨率呈现到创建OBJ网格的“ 网格输出”节点。


这个World Machine的例子是使用World Machine 2,目前是Beta版

World Machine v1.25中没有几个功能显示。

它们是Snow节点(不需要)和网格输出。




这里可以找到从高度图创建网格的替代方法

高至低聚

优化

悬挂边框多边形删除

这个阶段将简要介绍世界机器出口的高分子网格如何优化到低聚合物网格。

  • 将从World Machine导出的OBJ加载到首选的3D应用程序中。
  • 旋转使其正确定向。
  • 外部网格边框看起来像被拖动(从高度图构建的网格的工件)。
  • 因此,通过选择网格边框多边形来删除它,并将其删除。
  • 三角网格并保存为.OBJ,因此可以加载到Lightwave中。
  • 在Lightwave中,使用称为qemLOSS3的插件
  • (一旦安装,在“实用程序”选项卡中找到)
  • 将多边形减少到合理的数量
  • (ETQW为32,768单位宽度的地形使用了大约30,000个多边形)。
  • 如果您在运行qemLOSS3时遇到问题,
  • 请应用默认值以外的其他材料。
  • 修正以错误方向进行三角测量的边缘。
  • 平滑细分网格,并再次通过qemLOSS3运行您的网格(与以前相同的多边形数量)。
  • 这将给出一个更平滑的地形,更容易为球员的运动和更少的严格的轮廓角度。
  • 重复一遍,直到您对网状平滑度感到满意。
  • 再次修复以错误方向进行三角测量的边缘
  • (这些显示最明显的是通过应用光泽材料,
  • 并确保网格具有单个平滑组(所有软边缘,180度平滑角度)。
  • 如果你打算用水,沿着水线切割网格,所以在水面上方或下方都不会有多边形。
  • 这就是水雾有一条清晰的路线停下来。

紫外线地形

UV布局

这个过程是为Maya编写的,其他3d包将不得不修改进程。

  • 为了实现轻松的UV边界,使用一个名为worldSpaceUVLine的mel脚本 -
  • 可以在Highend3D找到。将.mel复制到My Documents \ maya \#。#\ scripts文件夹中,
  • 并输入worldSpaceUVLine; 在玛雅命令行。
  • 捕捉所有4个角落到UV 0-1平方。
  • 选择一侧的所有边缘uv,在worldSpaceUVLine工具中选择相应的UV布局方向
  • (水平为U,垂直为V),然后按所选线按钮上的对齐UV。为每一方重复。
  • 确保网格中的所有孔都被盖住,
  • 并运行“放松UV”工具,选择“ 边缘重量”设置为“ 世界空间”,并选择“ 引脚UV边框 ”。
  • 继续重复放松紫外线,直到看不到更多的紫外线。

扰动图像(普通地图)

扰动图像(切线空间本地图)

扰动图像是应用于大震级的图像,并且校正低聚合网格法线以匹配高聚物的

  • 将高和低多边形网格加载到首选的3D应用程序中。
  • 使用表面取样器
  • (也称为烘烤纹理或渲染到纹理,最好的3D应用程序将具有此功能)
  • 将高聚法线渲染到低聚合物模型上,法线设置为“切线空间”。
  • 您可能需要修复正常的地图频道(红色和绿色),
  • 因为3D应用程序使用法线映射与游戏不同。
  • 确保绿色通道的白色朝下,红色的白色正面朝下。

将世界机器面罩转换为紫外线空间

在世界机器(流程,沉积等)中创建的所有面具都不符合新的游戏网格UV坐标

  • 将高和低多边形网格加载到您首选的3D应用程序中。
  • 复制游戏网格并应用平面的UV投影。
  • 将在World Machine中创建的蒙版应用于平面映射网格。
  • 表面采样从平面映射的网格漫游到游戏UV网格。

还将网格法线(世界空间)渲染成图像。

创建分发掩码时,蓝色通道将变得有用,因为它表示多边形的垂直方向。

为雷神战争游戏准备地形

现在网格已经准备好了,只有几个步骤。

准备网格

  • 将游戏网格缩放到正确的大小,因为从heightmap转换后可能不是正确的大小。
  • 这个教程网格是一个小的8,192 x 8,192 单位网格
  • (敌后威胁:雷神战争 地形是 32,768  x  32,768)。
  • 将资料重命名为megatextures / sdk / terrain_mesh_sdkmegatextures / <map_name>)。
  • Maya将会遇到这个命名约定的问题。
  • 将网格法线设置为平滑。
  • 将网格保存到/models/terrain/sdk/terrain_mesh_sdk.lwo
  • <map_name> .lwo.obj/ models / terrain)。

设置材料

  • 创建一个名为/materials/megatextures_sdk.mtr的文本文件
  • 添加以下文本以创建材料:
material megatextures / sdk / terrain_mesh_sdk 

{

useTemplate megatextures / default_ambient <“sdk / terrain_mesh_sdk”>

}
  • 保存文件。在加载任何新文件之前,
  • 您将需要重新启动整个游戏和编辑器。
  • 如果您刚才将声明添加到现有的.mtr文件中,
  • 可以使用reloaddecls console命令。

构建MEGATEXTURE

本节将介绍使用地形编辑器(EditWorld中的检查器选项卡)

逐步创建Megatexture。

有关Feilds的详细说明和这里没有讨论的设置,

请查看Terrain Editor

设置地图

  • 加载EditWorld,并创建一个新的地图。
  • 带来地形编辑器检查员。
  • 人民币在左边空白(白色)区域。在弹出菜单中选择New | 树...
  • 在根节点上,将模型字段设置为/models/terrain/sdk/terrain_mesh_sdk.lwo
  • 并将ST模型设置为相同的模型。
  • 如果您的网格中有孔(用于建筑物的孔),
  • 则需要制作不带网孔的单独ST模型版本。
  • 通过创建填缝船将地图封住。确保地形网格的起点在这个船体内。
  • 要让太阳照亮的地区,在填缝体内部创建一个刷子,用“编辑/外部”进行纹理化。
  • 设置氛围创造一个氛围实体,并将气氛设置到Valley01
  • (或者您正在使用的气氛)。

细节纹理

在Root节点上也是分配细节纹理的地方。

在创建的每个图层中,您可以分配使用这4个细节纹理中的哪一个。

细节纹理需要是一个灰度512x512纹理(最好保存在基本/纹理/细节/)。

细节纹理0纹理/细节/ temperate_dirt.tga
细节纹理1纹理/细节/ temperate_grass.tga
细节纹理2纹理/细节/ temperate_gravel.tga
细节纹理3纹理/细节/ temperate_rock.tga

图像来源

在这里,我们将开始创建构建Megatexture的纹理图层。

这些步骤将逐步跳过有关图层设置的重复信息。

Ground_Base

  • 创建一个组节点RMB,弹出菜单选择New | 集团
  • 在右侧栏中,您可以输入该组的名称,我们将其命名为Ground_Base

污垢

  • 现在我们将创建一个基本的Image Source节点。

  • (.......)在组节点上,并创建一个图像源节点,这应该创建它作为小组的小组。
  • 如果您不小心创建了根下的图像节点,那就别担心,因为您可以拖动并释放“组”节点,
  • 使其成为一个 孩子节点 。命名Layer Dirt,与Group节点相同。
  • 通过在检查器的右侧面板上选择Diffuse应用漫反射纹理,然后选择File Name(文件名)字段,然后按...按钮选择纹理。对于这个层,我们将使用texture / megagen / temperate / dirt_06_d.tga
  • 本地图像重复相同的过程,方法是选择右侧的“ 本地 ”,然后应用纹理纹理/ megagen / temperate / dirt_06_local.tga
  • ​​​​​​​
  • 由于这是基础层,所以分布需要覆盖整个地图。所以应用一个完整的白色图像与上述相同的方式,但分配
  • 这个层是一个污垢层,所以我将细节纹理类型设置为0,以匹配污垢细节纹理的数字。
  • 另外由于这个层是污垢,我将设置Sur Type Properties | 键入污垢。有关可用表面类型的完整列表,请查看“ 表面类型”部分。
  • 漫反射纹理的尺寸为1024 x 1024,而地图覆盖8192.要保持正确的纹理比,请设置纹理属性 | 缩放8 8
  • 纹理属性 | 旋转设置为270,以保持与大气的纹理照明相匹配。

与分布模式混合

  • 随着天气的流逝,沙子将沿着流水线流下来。
  • 以与Dirt层相同的方式创建此图层。在弥漫地方也可以选择除设立以同样的方式纹理/ megagen /温带/ dirt_07。*的纹理。
  • 此图层将需要一个唯一的分布图像。流口罩(UV修正)从创建世界机床被用来帮助创建纹理/ megagen / terrain_mesh_sdk /口罩/ masks_sand.tga施加的分布
  • 为了使混合更加合适和独特,将分布图案设置为texture / megagen / temperate / dirt_06_mask_inverse.tga。这将使沙子融入到山峰(石头)之前的泥土裂缝中。
  • 斜坡宽度更改为0.5,因此混合将变得更加紧密。
  • 分布图案纹理旋转缩放应与污垢层的匹配,
  • 因为它使用与污垢相匹配的分布图案。
  • 细节纹理类型设置为0
  • ​​​​​​​(污垢,因为它是四个最好的匹配)和表面类型属性 | 键入
  • 要了解Megatexture的进展情况,请提交Megatexture Preview  ​编辑

碎石

  • 把松散的石头从路上散开来看看。
  • 以与上述相同的方式创建。是在路层放置后创建的。
  • 格局对于这层图像将匹配它自己的沙砾弥漫,
  • 所以旋转缩放漫反射分布格局的图像应该是相同的。
  • 细节纹理类型设置为2纹理/细节/温度格栅)和曲面类型属性 | 键入碎石

Dry_Dirt

  • 发出干涸的破裂的地球外观,站立的水将曾经有过。
  • 轻微的透明度给予这样的层混合在更轻的沙子和更暗的污垢,Alpha设置为0.75
  • 斜坡宽度设置为0.25,使混合更均匀(更锐化)。

  • 帮助草与泥土融合。
  • 在草地之后创建,然后通过在Grass_OuterDry_Dirt之间拖动并释放层移动到上面。
  • 斜坡宽度设置为0.75,所以混合可以更软。

Grass_Outer

  • 使用的纹理是一片斑驳的草地,对草丛边缘的草有好处。
  • 分布图案纹理细致地使弥漫混合的污垢部分在最后。
  • 纹理旋转设置为300,这是打破纹理平铺在同一个方向的外观。
  • 细节纹理类型被设置为1纹理/细节/ temperate_grass.tga),
  • 表面类型属性 | 类型

Grass_Inner

  • 浓密的草,混合覆盖的斑块草地纹理(Grass_Outer)的污垢,其中面具变得更加坚实(白色)。
  • 使用相同的分配掩码Grass_Outer,为分布格局纹理制作,使其永远比片状草强。
  • 纹理旋转缩放需要与Grass_Outer的相匹配,
  • 因为两层草地层的分布图案纹理与之一致,具有相同的分布

石头

  • 在固体岩石层之后创建石材分布,因为当石头融入石头时,岩石会更好看。查找岩石分布的位置,预览渲染大地震的岩石层着色黑色,只有一个白色的基础层。预览Megatexture将保存到<span style =“padding:0 0.5ex; background:#def;” title =“一个名为”base / imagesump / maps / <map_name>“的文件或文件夹,base / imagesump / maps / <map_name> </ span>并垂直翻转。
  • 除了集中在固体岩石段之外,石头应该沿着周围的山坡流下。
  • 使石头在岩石附近更密集。
  • 分布格局纹理已经创建这样的石头将通过一进一融为一体。

地基层

卵石

  • 泥泞的鹅卵石在水线周围工作得很好。
  • 分布掩模由稍深,其中沙分布的。这将给出很好的变化,因为卵石将首先融合(由于分布模式),使它们看起来像沙子而不是泥土。

  • 根节点下创建一个新的,以将岩石元素整齐地保持在一起。

Rock_Base

  • 通常在制作Megatexture的开始附近创建(分布)岩石,因为岩石通常会影响所有其他元素的分布。
  • 纹理旋转两个分布格局被设定为0.45,这是这样的岩石漫旋转以匹配在地图岩石的方向。如果你在各个方向都有岩石,你可以为不同的旋转制作单独的岩石面具。
  • 一个Heightmap图像被分配,textures / megagen / temperate / rock_01_h.tga。这将有助于Rock_Stain_(HeightMap)融入裂缝。
  • 通过勾选该框,将“ 传播分发”设置为true。这将屏蔽具有此层分布的所有子层。
  • 细节纹理类型被设置为3纹理/细节/ temperate_rock.tga),和表面类型属性 | 类型石头

Rock_Smooth

  • 通过在平坦的高平坦区域分布平滑的岩石,而不是在裂缝和岩石边缘周围,将有助于它的形状。
  • 该层可以像Rock_Base(包括高度映射图像)一样设置,除了不需要传播分发
  • 使用相同的分布格局中使用Rock_Base所以光滑的岩石上会形成脊第一。

Rock_Horizo​​ntal

  • 该层将使用不同的技术在岩石中创建水平裂纹线。
  • 大多数设置可以像以前的岩层一样设置。
  • 使用相同的分布格局中使用Rock_Base(包括相同的缩放和旋转)。
  • 投影机图案图像设置为水平岩石分布图案(texture / megagen / temperate / rock_04_mask.tga)。
  • 设置混合参数的最后一个值为0 0 0 0.75,这样可以控制投影仪图案混合的锐度
  • 分布掩模应该只包含面向投影角度陡多边形(这将防止纹理拉伸)。
  • 设置图像渲染器 | UV型平行边。这将强制图层渲染具有侧面投影。为了使其正常工作,地形网格需要围绕网格原点居中。
  • 设置图像渲染器 | 投影角度135 °,所以投影方向是垂直的岩石面(这将绕Z轴旋转投影)。
  • 纹理属性 | 缩放6 2,因为这是一个侧面投影,瓦片的数量应该匹配网格的侧面轮廓。

摇摆与水平投影

Rock_Stain(高度图)

  • 通过使用高度图混合,这个层将在岩石上形成较暗的染色。
  • 这种混合方法的工作方式是首先渲染每个图层的所有高度图,然后将漫反射和局部图像混合到高度图的较低(较暗)部分。
  • 将黑色纹理(纹理/兆像素/ black.tga)分配给Heightmap图像,这将有助于基于分布蒙版更强的染色。
  • 设置混合参数的前2个值,得到0.33 0.25 0 0。第一个值(0.33)控制混合发生的高度,而第二个(0.25)控制混合中的衰减的锐度。
  • 通过纹理或颜色着色将图层的颜色设置为黑色
  • 否需要本地地图
  • Alpha设置为0.5,所以下面的岩石纹理显示通过。
  • 细节纹理类型设置为-1,这将禁用分发此图层的细节纹理。
  • 离开表面类型属性 | 键入字段空白。

吃水线

  • 根节点下创建一个新,以将水线元素整齐地保持在一起。

Water_Line_(Geometry_Based)

  • 这一层将会看到湿地。
  • 混合模式设置为乘数(d * s),这将在下面的纹理下变暗(乘以)。
  • 漫射分配给纹理/ megagen / white.tga色彩色调为色相0,饱和度0,亮度180
  • 对于分发,将“ 源类型”更改为geometryBased使所述海拔高度上,设置800(32个单位只是在水位线以上),以及模糊性0.075(衰减)。 分辨率可以设置为1024(生成纹理尺寸的掩码)。
  • 再次细节纹理类型设置为-1
  • 表面类型属性 | 类型设置为,所以允许在海岸线上形成飞溅。

Water_Fade_(Geometry_Based)

  • 这将有助于提供水深(并减少巨大的震级);
  • 设置方式与上述Water_Line_(Geometry_Based)相同,除了:
  • 混合模式设置为混合,这将覆盖下方的纹理(看起来类似于雾)。
  • 色调设定为色相60,饱和度115,亮度22
  • Source Type设置为geometryBased,更改Altitude Upper | 768(水高度)和模糊性1(较大衰减)。

Perturbate

  • 根节点下创建。将法线恢复到高分辨率网格物体,从而改善烘烤照明。
  • Blend模式设置为Perturbate Normals,这将会将法线添加到其他层已经生成的法线。
  • 分散漫射纹理。
  • 分配白色质地的分布(以覆盖整个megatexture)。
  • 将“ 局部”纹理设置为texture / megagen / terrain_mesh_sdk / local.tga(网格的法线贴图)。
  • 细节纹理类型设置为-1
  • 离开表面类型属性 | 键入字段空白。

环境遮挡图

环境光遮蔽

  • 也在根节点下创建。渲染在玛雅仿效光线被缝在缝隙中。
  • 混合模式设置为倍数(d *(s * 1.6)。在此混合模式下,漫反射图像颜色比160以下将使以前的图层变暗,而比160更亮的颜色会变浅。
  • texture / megagen / terrain_mesh_sdk / ambient_occlusion.tga指定为Diffuse。图像是平衡的,使得不改变的区域的颜色亮度大约为160。
  • 分配白色质地的分布(以覆盖整个megatexture)。
  • 细节纹理类型设置为-1
  • 离开表面类型属性 | 键入字段空白。

道路工具

在这里,我们将使用道路工具创建一条铺好的道路。

  • 首先,我们将创建一个道路模板(.rtl),以指定要分配给道路的纹理和表面类型。
  • 创建一个名为/megagen/roadtemplates/terrain_mesh_sdk.rtl的空白文本文件,并添加所需的信息:
roadTemplate sdk_main_road {
    {
        漫反射图像sdTextureTGA_Properties {
            名称“textures / megagen / temperate / road_01_d.tga”
        }
        本地图片sdTextureTGA_Properties {
            名称“textures / megagen / temperate / road_01_local.tga”
        }
        分布图像sdTextureTGA_Properties {
            名称“textures / megagen / temperate / road_01_mask.tga”
        }
        偏移量(-1 1)
        surfaceType“路面”
        detailtexture“textures / detail / temperate_gravel.tga”
        }
}

在这里,我们将道路材料命名为sdk_main_road,并设置漫反射局部蒙版纹理。还将Surface Type设置为pavemant,并将Detail Texture设置为texture / detail / temperate_gravel.tga(也必须在根节点中分配)。

道路工具

主路

  • 创建节点,人民币在根节点,一个弹出菜单将出现,并选择新建 |
  • 道路模板设置为sdk_main_road,将道路工具指向正确的道路模板。
  • 开始沿着地图放置道路:
    • 选择节点
    • 单击XY顶部窗口
    • 进入顶点编辑模式(V
    • XY顶部窗口中按住CTRL SHIFTLMB开始放置组成道路曲线的点。
  • 现在要修复道路的宽度和方向。
    • 如果还没有,你需要处于顶点编辑模式(用V切换)。
    • 移动路点 LMB将蓝点分段。
    • 更改点方向 LMB将黄点分段
    • 更改道路宽度 LMB将红点分段。或者,您可以通过选择道路节点,然后在道路旁边的LMB碎片,在顶点编辑模式之外拓宽整个道路。
    • 添加新点按住CTRL SHIFTLMB要创建新点的区域。
    • 删除点 LMB并按住要删除的蓝点,然后按Backspace
    • ESC退出顶点编辑模式。
  • 道路工具绝对不能穿过网格边框,因此请确保您至少在一个单位的路上碰撞。如果它跨越边界,道路工具将呈现一个延伸到网格角的工件。
  • 最后将层移动到正确的渲染场所。拖动并释放Ground_BaseRock组节点之间的节点。

放映机

使用投影机节点,可以将本地化纹理细节投影到megatexture上。

投影机

创造了一个团体,使事情变得整洁。

Cracked_Road

  • 给火山口附近的裂缝焦油的外观。
  • 创建道路节点人民币投影机集团的节点,一个弹出菜单将出现,并选择新建 | 投影机
  • 以与标准图像源节点相同的方式设置投影机,除了您只需要分布屏蔽(而不是分布式图案),因为纹理不应该比源纹理更大的投影。
  • 放置投影机移动/缩放/旋转,就像普通画笔(包括顶点编辑)一样。投影机应位于地形网格上方。

弹坑

  • 放置火山口焦斑。
  • 设置方式与Cracked_Road相同。
  •  

    生成一个巨型纹理

    ETQW SDK启动器包括生成MegaTexture所需的所有设置。

    它包括MegaGen(渲染原始纹理图块),Renderlight(将照明信息嵌入图块)和

    MakeMegaTexture(将图块编译为压缩的.mega文件)的选项。

    这是一个一站式编译MegaTextures的 方案

    每个部分都包含一个“查看命令行”按钮,它将为每个进程输出一组选项。

    您可以添加这些到的命令行ETQW.exe蝙蝠如果需要自动化您的MegaTexture编译文件。

    内容

    [ 隐藏 ]

    使用工具

    路径设置

    首先,您需要在主要的“启动SDK”选项卡中选择有效的游戏路径和有效的保存路径。

    如果您已将其设置为使用您的自定义地图和MODs,则不必在此处更改任何内容。

    只需确保您具有包含您选择的自定义地形,纹理和地图的正确“保存路径”“模块名称”

    生成一个巨型纹理

    要访问MegaTexture生成工具,请运行ETQW SDK Launcher,然后转到“生成MegaTexture”选项卡。

    加载表面树

    现在,您将需要加载一个表面树.sft)文件,

    其中包含要渲染到MegaTexture中的纹理和表面信息。

    表面树由EditWorld从Terrain Editor自动生成。不要手动编辑.sft文件,或者每当保存地图时可能会丢失更改。

    • 单击“1.选择曲面树”字段旁边的“浏览...”按钮。
    • 浏览到您的保存路径的/ maps /文件夹,并选择您的<span style =“padding:0 0.5ex; background:#def;” title =“名为”<mapname> .sft'“> <mapname> .sft </ span>的文件或文件夹。

    创建一个RenderLight模板

    在编译完整的MegaTexture之前,您将需要创建一个.rlt模板。

    您可以在base / renderlight /中找到这些的例子。

    您可以创建一个空白的<mapname> .txt文件并将其重命名为<mapname> .rlt

    重要:您的.rlt文件的名称必须与地图的.world文件完全相同

    RenderLight模板如下所示:

    {
    	网格“模型/地形/ <terrainmodel> .lwo”
    	漫画“maps / <mapname> _d.tga”
    	bump“maps / <mapname> _local.tga”
    	out“megatextures / <mapname> _lit.tga”
    	地图“maps / <mapname> .entities”
    	气氛“<气氛名>
    }
    
    • 网格 - 这应该指向您的地形模型的相对路径。
    • diffuse - 这是从MegaGen阶段输出漫反射贴图的路径。
    • 碰撞 - 这是从MegaGen阶段输出局部法线贴图纹理的路径。
    • 出来 - 这是RenderLight将输出点亮的纹理图块的地方。
    • 地图 - 这是您的地图的.entities文件的路径,它是在编译地图时创建的。
    • RenderLight应该从此文件读取大气信息。
    • 如果Renderlight提供关于缺少气氛的警告,
    • 请确保您的地图具有气氛实体,并已成功编译。
    • 气氛 - 如果您不希望使用与主地图相同的灯光设置来点亮MegaTexture,
    • 您可以指定不同的气氛名称
    • (例如,点亮时,雪纹理往往会变得太亮,
    • 因此您应该重复你的地图的气氛与阳光的颜色一样明亮)。

    重要笔记

    • 您必须至少完成一次地完整编译地图,才能使这些进程成功运行。
    • 您的地图地形模型必须具有“MegaTexture”材质,
    • 并且必须在0-1范围内进行UV映射。如果您不确定如何执行这些步骤,
    • 请阅读简单第一地形教程。
    • 这些过程可能需要很长时间,并且使用大量的内存和硬盘空间。
    • 对于全分辨率(32k x 32k)的MegaTexture,
    • 您将需要至少18GB的可用空间安装在驱动器ETQW上。
    • 确保所有路径设置正确,否则文件可能会丢失。
    • 确保所有的<mapname>实例被替换成与地图的.world文件相同的文件名。
    • 如果它们没有正确命名,则该过程将无法正常工作。

    过程

    MEGAGEN

    MegaGen是制作MegaTexture的第一个阶段。它扫描您的.sft文件的纹理,

    然后将它们全部呈现为平铺“瓷砖”,横跨4096x4096像素。

    每个瓦片分为两部分:“漫射”瓦片(包含未点亮的表面颜色)

    和“局部正常”瓦片(用于凹凸和方向信息)。

    这些图块将输出到您的/ maps文件夹,格式为

    <span style =“padding:0 0.5ex; background:#def;”

    title =“名为”<mapname> _d_0_0.tga'“>

    <mapname> _d_0_0.tga </ span>

    的文件或文件夹,

    <span style =”padding:

    0 0.5ex; background:#def;“

    title =“名为”<mapname> _local_0_0.tga'“>

    <mapname> _local_0_0.tga </ span>

    的文件或文件夹。


    点击“MegaGen选项>>”按钮展开选项列表。设置相当简单:

    • 分辨率 - 设置最终MegaTexture的宽度和高度(以像素为单位)。
    • 对于ET:QW,我们使用1像素到1游戏单位的比例,
    • 所以32,768单位的地形将使用MegaTexture,分辨率为32,768。
    • 您可以选择较小的尺寸,以获得更快的“预览”编辑,或为较小的地形大小选择。
    • 视频内存 - 程序允许使用多少显卡的内存。128是大多数现代显卡的一个很好的价值。
    • 缓存内存 - 用于缓存所有源图像和写入图块的内存。
    • 给它尽可能多的电脑将允许!对于具有2GB RAM的计算机,1536是一个很好的价值。
    • 附加选项 - 这是为高级用户选择特定设置。在MegaGen文章中可以找到更全面的指南。

    RENDERLIGHT

    RenderLight将大气照明信息烘烤到您的MegaTexture中。

    根据这里使用的设置,MakeMegaTexture将输出3声道(RGB)或4声道(RGBA)

    MegaTexture。RenderLight读取之前的MegaGen舞台上的“瓷砖”,

    并根据地形模型,凹凸贴图和地图的气氛来计算照明。它将以相同的方式输出图块

    要使RenderLight正常工作,首先需要创建一个包含各种选项的.rlt文件

    (RenderLight Template)。

    您可以通过阅读RenderLight文章了解如何创建RenderLight模板。


    单击“RenderLight选项>>”按钮展开选项列表。设置如下:

    • 烘烤照明 - 当选中时,此选项将烘烤大气阳光进入MegaTexture。
    • 烘烤环境 - 当选中时,此选项将烘烤环境大气光线进入MegaTexture。
    • 留下两个烘烤照明烘烤环境未核对将产生一个4通道MegaTexture,
    • 这是在磁盘上较大的尺寸,但包含更多的精确的表面凹凸的信息,
    • 并且需要不同的材料设置为默认设置中找到的/materials/megatextures.mtr
    • 附加选项 - 这是为高级用户选择特定设置。在RenderLight文章中可以找到更全面的指南。

    制作MEGATEXTURE

    MakeMegaTexture是将从RenderLight进程输出的瓦片  编译成压缩的.mega文件的过程。


    点击“Make MegaTexture Options >>”来展开选项列表。设置如下:

    • 最佳质量 - 表示使用最好的质量压缩。你通常应该让这个启用。
    • 亮度错误 - 控制亮度压缩质量,其中较低的数量意味着更好的质量,但较大的文件大小。
    • 色度错误 - 控制颜色压缩质量,其中较低的数量意味着更好的质量,但更大的文件大小。
    • Alpha错误 - 控制Alpha压缩质量,其中较低的数量意味着更好的质量,但更大的文件大小。


    对于我们的零售Megatextures,我们使用RenderLight的3通道输出,

    所有MakeMegaTexture错误设置为1,以获得最佳质量。

    如果您正在制作4通道MegaTexture,我们建议每个值约20-30的错误设置。

    较低的值可能会大大增加文件大小,而较高的值可能会导致非常模糊的MegaTextures。

    运行流程

    一旦您设置了MegaTexture的所有选项,您可以设置运行的进程。

    • 每个过程可以通过单击每个部分右侧的“运行”按钮单独启动。
    • 右下角的“运行所选任务”按钮将启动所有检查的进程。
      • 如果这是您第一次编译MegaTexture,请检查MegaGen,RenderLight和MegaTexture的所有3个框。
    • 您可以取消选中您不想运行的任何进程。
    • 例如,如果要使用不同的压缩设置从RenderLight重新编译某些图块,
    • 请取消选中MegaGen和RenderLight,保留Make MegaTexture,
    • 然后选择“运行所选任务”
      • 或者,您可以在MegaTexture字段中单击“Make MegaTexture”按钮。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值