`
projectanarchy
  • 浏览: 14837 次
  • 性别: 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(地形)选项卡并选择如下图标:

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

 

转自:projectanarchy中文社区

分享到:
评论

相关推荐

    vision-zjh

    首先,文档可能会介绍Vision引擎的基础概念,包括它如何处理图像数据,如何进行像素级别的操作,以及如何支持常见的图像格式如JPEG、PNG等。基础部分还会涉及色彩空间转换、图像缩放、旋转和裁剪等基本图像操作。 ...

    vision.rar_C# VISION引用_C#引用NI_Vision_c# vision_ni vision

    在本文中,我们将深入探讨如何在C#编程环境中引用并使用National Instruments (NI) 的Vision库,以便进行图像处理和机器视觉应用。标题"vision.rar_C# VISION引用_C#引用NI_Vision_c# vision_ni vision"以及描述"C#...

    vision介绍

    本文将详细介绍 Vision Assistant 的基本操作流程及其核心功能。 #### 二、启动界面与欢迎界面 - **启动界面**:如图1所示,Vision Assistant 的启动界面简洁明了,用户可以看到软件的基本信息和版本号。 - **欢迎...

    NI Vision Assistant中文入门教程2011

    《NI Vision Assistant中文入门教程2011》是一本详细介绍了NI Vision Assistant软件安装和功能应用的教程。这本书由Andy YUAN编写,涵盖了机器视觉领域的多个核心功能模块。通过介绍NIVision Assistant软件的各项...

    海康VisionMaster中使用OpenCvSharp程序

    在海康VisionMaster中使用OpenCvSharp,首先需要确保你的开发环境已经配置了.NET Framework,并且安装了OpenCvSharp的NuGet包。`LICENSE`文件通常包含了开源许可协议,确保你在使用时遵循正确的法律条款。`README.md...

    纹理_matlab_纹理分类_相关算法_图像纹理提取_

    MATLAB作为一种强大的数值计算和编程环境,为纹理分析提供了丰富的工具和库。本资料主要探讨的是利用MATLAB进行纹理分类的相关算法以及图像纹理特征的提取。 首先,纹理分类是图像分析的一个关键部分,其目标是根据...

    NI Vision Builder AI中使用RS232进行通讯

    在本文中,我们将详细介绍如何在 NI Vision Builder AI 中使用 RS232 进行通讯,包括新建状态、状态转移、新建 RS232 通讯、设置通讯参数、检查项目设置等步骤。 首先,我们需要新建一个状态,以便在接收到外部命令...

    NI Vision Assistant中文入门教程(带书签)

    NI Vision Assistant中文入门教程(带书签)

    GigE Vision Spec2.0中文完整版

    4. **接口规范**:详细介绍了GigE Vision接口的具体实现细节,包括通信协议、数据格式等。 5. **设备控制**:描述了如何通过网络对设备进行配置和控制。 6. **合规性测试**:规定了产品需通过的测试项目和流程。 7. ...

    µVision3中文帮助

    中文 µVision3 IDE用户指南 本用户指南描述了µVision3 IDE/Debugger,包含如下内容: 1.µVision3 综述 描述了µVision3 IDE及集成的调试器的主要...12.命令行调用介绍了如何从命令行或批文件中调用µVision3功能。

    LabVIEW--中Vision各模块说明

    本文将详细介绍LabVIEW Vision模块中各个组成部分的功能与用途。 #### 二、LabVIEW机器视觉前面板模块 LabVIEW Vision模块的前面板包含了多种用于图像处理的控件。这些控件按照功能大致可以分为四类: 1. **...

    NI Vision Assistant中文入门教程1.zip

    在提供的"NI Vision Assistant中文入门教程 (1).pdf"中,你将找到详细的步骤和示例,包括如何使用基本工具、执行特定的图像处理任务以及如何设置和优化检测流程。教程中的案例涵盖了从简单的边缘检测到复杂的形状...

    MATLAB 中Computer vision system toolbox的官网指南和用户手册

    MATLAB中的Computer Vision System Toolbox是进行计算机视觉研究和开发的重要工具箱,它为图像处理、计算机视觉算法的实现以及系统设计提供了丰富的函数和模块。这个工具箱覆盖了从图像采集到高级视觉应用的广泛领域...

    基于 Unity 实现的 rm_vision 项目视觉仿真环境.zip

    以上是基于 Unity 实现的 rm_vision 项目视觉仿真环境中涉及的关键技术点,这些内容涵盖了从基础的引擎使用到高级的视觉效果模拟,以及项目管理和优化等多个方面。理解和掌握这些知识点,对于创建一个高效、真实的...

    NI Vision函数详解_NIVision函数详解_NIVision截取

    本篇文章将深入探讨NIVision函数及其在图像处理中的应用。 首先,NIVision的核心是其丰富的函数集合,这些函数涵盖了从图像获取到图像分析的全过程。在“NIVision函数详解”中,我们将重点关注以下几个方面: 1. *...

    VisionMaster算法平台用户手册V3.1.0.zip

    1. **平台简介**:介绍VisionMaster平台的基本功能和架构,包括其在智能视频分析中的定位,以及对硬件和软件环境的要求。 2. **安装与启动**:指导用户如何下载、安装和启动VisionMaster平台,确保用户能够顺利进行...

    VISION库模型.zip

    在VISION中,用户可以通过图形化的编程界面来创建和编辑虚拟仪器,进行数据采集、处理和分析。 在这个"VISION库模型.zip"中,我们可以期待找到各种电子元器件的模型,如电阻、电容、电感、二极管、晶体管、运算放大...

    Vision Pro开发的Unity模板

    2. **环境感知**:在虚拟现实中,Vision Pro可以帮助游戏理解真实世界环境,调整虚拟内容以适应玩家的物理空间。 3. **游戏AI**:结合机器学习算法,Vision Pro可以为游戏的敌人或NPC提供更智能的行为,使它们能够...

Global site tag (gtag.js) - Google Analytics