开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

蛮牛译馆

关注:546

当前位置:游戏蛮牛 技术专区 蛮牛译馆

查看: 2053|回复: 2

[外文翻译] 针对三维模型进行光照烘培后出现模糊阴影情况的应对方法

[复制链接]  [移动端链接]
排名
373
昨日变化
1

10

主题

238

帖子

2313

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
26143
好友
6
蛮牛币
6294
威望
0
注册时间
2014-5-22
在线时间
649 小时
最后登录
2017-7-25

蛮牛译员活力之星VIP

发表于 2016-6-1 09:51:38 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 caedmom 于 2016-6-3 17:56 编辑

【Unity】针对三维模型进行光照烘培后出现模糊阴影情况的应对方法

图片1.png
【Unity】同じモデルなのに片方だけベイクした影が汚い場合の対処法
【問題】上の画像には赤い2本の棒がある。これらは同じメッシュを使用している。
これらの棒に影をベイクした際、左の赤い棒にかかる影はハッキリしている右の棒にかかる影はボケている。このこの違いが発生する理由を記入欄にry。
问题】 上图中有两根红色的木棒,他们使用的是同样的Mesh。对这两根木条进行阴影的光照烘培时,左侧红色的木棒所显示的阴影非常清晰,而右侧的木棒进行光照烘培后所产生的阴影却略显模糊,请将发生这种不同效果的原因写下来。

【答】左の棒はスケールを変更していない物を使用し、右の棒は引き延ばしたブロックを使用しているため。
【回答】左侧木棒是用未进行过放缩变换的物体构成,而右侧的木棒则是由一块物体通过拉伸操作构成的。

图片2.png
オブジェクトを引き延ばした時、Lightmapも伸びる
Object物体进行拉伸操作后,光照贴图也会拉伸

これを引き起こしている要因は、オブジェクトのスケールを引き延ばした時でも、ライトマップのUVは変わらないという事です。
这是引起这种效果的主要原因所在,Object物体的Scale大小进行变换过后,光照贴图的UV一般说来是不会变化的。

どういう事かといえば、SceneのBakedで比較すればわかります。左(青)が左の赤い棒、右(赤)が奥の赤い棒のライトマップ解像度です。
左のライトマップは正方形ですが、右のほうは引き延ばされているのが分かります。
虽说一般是不会变化的,但通过在场景中进行烘培后进行对比就明白产生的原因了。下图所示的是,左边蓝色框中的红色木棒和右边红色框中的红色木棒的分辨率。左边的光照贴图的像素点是正方形的,而右边的则被拉伸了。

图片3.png

右のライトマップはどのようにUV展開されるのかといえば、こんな感じで展開されます。これを見てわかる通り、UV的には6面正方形を展開しようとしています。
说到右边光照贴图中UV被展开后的效果,像这样展开就可以了。通过这图中6个正方形面展开时的UV效果就可以明白为什么会造成阴影模糊的原因。

つまり、6面正方形として展開する予定のUVを引き延ばして展開しているため、影が引き延ばされた、汚い感じで表現されているわけです。
也就是说,为了将这6个正方形面展开进行光照贴图的烘培才造成了原UV的拉伸,因而阴影才会被拉伸,这才是造成了不清晰感觉的原因。

图片4.png
「拡大縮小」では問題は発生しない
「放大缩小」并不会导致问题发生

ちなみに、この現象は「特定軸の引き延ばし」を行ったモデルを「Baked GIでベイクした」場合に発生します。
なので、リアルタイムな影を使用した場合は発生しませんし、単純にモデルを拡大・縮小した場合、拡大したモデルの影が荒くなる…といった事も無いみたいです。
顺带一说,造成这种现象主要是由于”沿着特定的一个轴进行拉伸”后,再对模型进行”全局光照烘培”这种情况下才会发生的。
也就是说并不是所有在通过实时光照而产生阴影的情况下会发生这种现象。仅仅通过对模型进行等比放大或是缩小就会造成阴影变得模糊不清,谁都不会希望发生这种无意义的事情的。


图片5.png

引き延ばしたLightmapを何とか良い感じにする
如何使得拉伸后的光照贴图效果变得更好

引き延びてしまったライトマップですが、一応は何とかする方法があります。それは、スケールを変更したLightmapを一旦メッシュとして出力し、Generate Lightmap UVsを設定する事です。
对于拉伸后光照贴图所产生的效果应该是有解决方法的。那就是当Scale大小变化后的光照贴图重新输出到对应的Mesh网格上,只需要勾选Generate Lightmap UVs 的选项就可以了。

图片6.png


オブジェクトをメッシュとして出力する場合は、OBJ Exporterがとりあえず便利です。
要对Object物体进行Mesh网格输出操作的话,通过OBJ Exporter 目前是最为方便的。

これがうまく行けば、ライトマップ用のUVが新しく生成され、特定のメッシュだけライトマップが伸びるような事無く焼けます。
如果顺利可以输出的话,可以生成光照贴图所需要使用的新的UV、其实像一些较为特殊的Mesh网格去进行拉伸这样的操作也是没事找事。

まぁ、メッシュを2倍持つ事になりますが、そのあたりは色々な所と相談で。
虽说这样会使得Mesh网格输出的工作量翻倍,但这方面还是有商量的余地的。

图片7.png
图片8.png

という事で、スピードレベルデザイン的な物をプリミティブな(Unityに標準で付いている)オブジェクトでやろうとするとオブジェクトの拡縮が多発する訳ですが、場合によってはライトマップが悪くなるので注意というお話でした。
めでたしめでたし。
像这样的问题常常发生在快速关卡设计时,为制作游戏原型而需要对基础物体进行频繁放缩操作时需要注意,根据不同情况可能会造成光照贴图变得效果很差因而要多多注意。
可喜可贺,终于写完了。

原文作者:tsubaki_t1
原文链接:http://tsubakit1.hateblo.jp/entry/2016/04/21/003737





回复

使用道具 举报

4四处流浪
321/500
排名
9156
昨日变化
4

0

主题

63

帖子

321

积分

Rank: 4

UID
27728
好友
0
蛮牛币
11
威望
0
注册时间
2014-6-2
在线时间
176 小时
最后登录
2016-11-13
发表于 2016-6-1 13:00:59 | 显示全部楼层
manual上清楚地写着,要烘培光照的话请点开这个选项。图中这个算轻的,严重的时候整个阴影全乱了也很常见。
属于低级错误撩

回复 支持 反对

使用道具 举报

7日久生情
3370/5000
排名
134
昨日变化

1

主题

422

帖子

3370

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
13097
好友
1
蛮牛币
4740
威望
0
注册时间
2014-1-21
在线时间
1125 小时
最后登录
2017-7-27

活力之星

发表于 2016-6-2 18:13:50 | 显示全部楼层
有外语瞬间感觉高大上
打开选项可能会增加顶点数等问题,不过如果烘焙有问题,最好打开这一项了

回复 支持 反对

使用道具 举报

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

本版积分规则

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