Chinaunix首页 | 论坛 | 博客
  • 博客访问: 40210
  • 博文数量: 59
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 328
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-11 09:27
文章分类
文章存档

2015年(7)

2014年(52)

我的朋友

分类: 信息化

2014-08-20 15:49:39

引言

在应用程序中,有时有必要在世界的特定位置访问材质信息。例如,为准确播放脚步声或应用墙壁痕迹效果,就需要访问材质信息。 为了在运行时、在世界中任何给定位置提取这一材质数据,材质贴图是非常重要的功能。

因为权重贴图的存在,这一信息访问起来不太容易,因为权重贴图纹理驻存在 GPU 内存中。 为此,地形有一可选功能,可生成材质 ID 贴图。 该贴图本质上是一个 2D 数组,包含每个区块的值,范围为 0 到 255,其中每个输入值代表最显著的材质的 ID。

材质贴图分辨率
材质贴图分辨率可在配置对话框中设定:

地形创建后,该分辨率可以随时修改。 默认分辨率为 0,也就是说没有材质贴图。

材质贴图不是手动编辑的,始终在细节纹理被烘培时从纹理信息生成。 材质贴图信息本身随区块文件一同保存,而非独立的实体文件。

材质贴图数据
编辑器中的细节纹理资源可带一个材质 ID 值。 该值默认为 -1,表示材质贴图不考虑该纹理。 用户可指定 0 到 255 之间的任意值:

该值没有写死在代码中的语义关联, 而是让用户决定如何在工作流中使用。 它可以作为地形自定义材质表中的索引使用,甚至作为 8 位逻辑符解读。 并非每一个细节纹理都需要有效 ID,多个纹理甚至还能共享相同的 ID。

材质贴图为带材质 ID 的最显著的材质的每个样本储存材质 ID。 如果该材质上层还绘制了不透明度 100% 但不带有效材质 ID 的另一个纹理,该纹理将被忽略,材质贴图储存下一个带有效 ID 的显著材质的 ID。
   注: 切换到烘培试图模式以查看材质 ID 贴图

材质贴图可视化
材质贴图可作为覆盖层实现可视化,显示纹理在当前场景贴图中的覆盖情况。

覆盖层表现了最近一次烘培流程的状态。 请注意,该覆盖层不会插入这些值,因为插入材质 ID 值也没有意义。

转自:
阅读(132) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~