找回密码
注册

QQ登录

独立游戏 >
独立动画 >
独立音乐 >

【Substance Painter】PBR官方基础教程-1(译)

一 光和物质 渲染和阴影的物理基础理论光是一种复杂的现象,因为 ...

100条Unity基础小贴士

1. 高亮选择在Scene面板右上角的Gizmo下拉列表中,可以通过设置S ...

3ds max 渲染lightingmap的时候出现的小问题

今天遇到渲染的时候出现自动渲染多张贴图的问题 解决办法就是 ...

MipMap

Mipmap技术有点类似于LOD技术,但是不同的是,LOD针对的是模型资 ...

如何评价暴雪游戏《守望先锋》及其场景和美术设计? ...

【一开始问的时候没想到会有这么多人答 真的好涨专业姿势啊 批量 ...

版号审批开放释放利好 中小游戏公司“抢人”备战

(图片来源:互联网资料图) 上周游戏版号审批即将开放的消息传 ...

unity 模型锯齿,阴影不正常,阴影不出现终极解决办法

本文作者使用的是2017.3.0版unity 一.阴影不显示, 1.打开平行 ...

苏州赞歌招聘啦,快来点进来看看

2D游戏动作师 5k~12k 岗位职责: 1. 根据项目要求,负责游戏项 ...

Unity3D自带功能:地形(Terrain)

Unity3D中的地形类似于Maya中使用置换贴图来变形高段数的多边形 ...

作者: 九艺网
查看: 79|回复: 0
搜索

more +最新主题Download

more +社区更新Forums

more +随机图赏Gallery

【Substance Painter】PBR官方基础教程-1(
100条Unity基础小贴士
3ds max 渲染lightingmap的时候出现的小问
MipMap

more +文章更新News

[翻译文档] 第3.6.2.3篇 UV重叠结果(UV overlap feedback)

[复制链接]
九艺网 发表于 2018-9-7 12:32:45 | 显示全部楼层 |阅读模式
查看: 79|回复: 0

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本章原文所在章节:【Unity Manual】→【Graphics】→【Graphics Overview】→【Lighting】→【Global Illumination】→【Progressive Lightmapper】→【UV overlap feedback】
UV重叠结果(UV overlap feedback)每张光照贴图都包含了一些图表(charts)。在运行时,Unity 将这些图表映射到网格表面,然后利用它们的光照数据计算最终的外观效果。由于 GPU 采样的工作方式,如果图表相互靠得太近,那么一个图表上的数据可能会渗透到另一个图表上。这通常会导致意料之外的锯齿、像素感,以及其他的图像效果(这些被称为人造效果)。


2464776-73fbb04ca779abbb.webp.jpg


由于图表的相互渗透而产生的人造图像效果


为了避免灯光渗透,图表之间就必须具有足够的空间。当 GPU 对一张光照贴图采样时,光照系统将对采样点周围最近的四个纹素(texels)进行采样,从而计算得出最终的采样值(假设使用的是双线性(bilinear)过滤)。这四个纹素被称为采样点的双线性“相邻纹素”。如果纹素相互重叠,就说明图表靠得太近了——即:一个图表上任意一点的相邻纹素,与另一个图表上任意一点的相邻纹素重叠了。在下图中,白色像素代表了图表的相邻纹素,而红色像素代表了重叠的相邻纹素。

2464776-9966c008afb0e60e.webp.jpg


红色像素代表了图表中重叠的相邻纹素


决定图表的最佳布置和间隔比较困难,因为牵涉到一些参数设置(比如光照贴图分辨率、网格 UVs 和导入设置)。因此,Unity 提供了简单识别这些问题的功能,下面几部分将介绍这些内容。
识别有三个方法识别重叠:
  • 看一眼 Unity 的 console 窗口。如果 Unity 检测出重叠的 UVs,它会打印一个附带受影响游戏对象列表的警告信息。
  • 在 Scene View 中开启 UV Overlap 绘制模式。当你开启该模式后,Unity 将为那些与其他图表纹素靠得太近的纹素添加红色高亮。如果你法线场景视图中有个人造效果,并且想要快速检查是否是 UV 重叠造成的,那么这个方法就很有用。


2464776-e48ec50f10ea029e.webp.jpg

使用了 UV Overlap 绘制模式(在左上角的下拉选项中选择)


  • 使用 Lighting 标签页中的 Object Maps。选中一个对象,进入  Lighting 标签页并选择 Object Maps。确保在下拉选项中选择了 Baked UV Overlap。在该视图中,有问题的纹素会被标记为红色。


2464776-0adcd3cc0d7ea5af.webp.jpg

Lighting 标签页中的 Object Maps


解决方案对于 UV 重叠,没有单一的解决方案,因为导致它的原因有很多。这里有一些最常用的解决方案以供参考:
  • 如果是 Unity 自动创建的光照贴图 UVs,那么你可以增加 Pack Margin。导航到 Mesh 的 import settings 窗口,确保 Generate Lightmap UVs 已被开启,然后展开 Advanced 属性,使用 Pack Margin 滑动条来增加该值。 这会增加图表间的间隔,进而减少重叠的可能性。然而,这同样会增加光照贴图所需的空间占用,因此要尝试应用足够避免人造效果的值,但是又不能太大。想要了解更多关于 Unity 自动创建光照贴图 UVs 的信息,请查看 Generating lightmapping UVs 一节。
  • 如果是你自己提供的光照贴图 UVs,你可以尝试使用你的模型打包工具来增加间隔。
  • 增加整个光照贴图的分辨率。缺点就是你的光照贴图可能变得非常大。你可以在 Lightmapper Settings 下的 Lighting 标签页下设置该属性。
  • 增加单个游戏对象的分辨率。这将只增加具有重叠 UVs 游戏对象的光照贴图分辨率。虽然可能性较小,这也可能会增加光照贴图的大小。你可以在游戏对象的 Mesh Render 中的 Lightmap Settings 属性下更改光照贴图分辨率。


2464776-54385fbd2e85573b.webp.jpg

和前面一样的网格,但是没有渗透的人造效果。



作者:何三思


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表