Unityunity3d 5 lightmapp 在模型边缘有不规则阴影,这是什么原因

9470人阅读
UNITY3D(41)
UNITY3D UNITY3D 5.x(35)
&Unity5中光照系统替换为Enlighten是非常大的革新。但是对手游来说,好处还未享受到,坑先踩上了。并且是我研究了两天都没有很好的解决办法的深坑。& & & & 我并没有系统的学过图形学,所以以下所说的内容都是自己的理解,可能存在错误的地方,敬请见谅。& & & & 所谓lightmap,就是用一组预先烘焙好的贴图来替代运行时光影计算。在Unity5之前使用的是beast系统,Unity5使用的是enlighten系统,新系统的好处是支持运行时光照计算,支持全局光。& & & & 作为使用者来说就是两个部分,一个是烘焙的部分,一个是加载的部分。& & & & &Unity5的lighting分页中有两个勾选,一个是precompute GI,一个是baked GI。一般来说手游还是无法承载precompute的计算量,从效率的角度考虑这两个GI系统在一个场景中只开启一个。我们使用baked GI,其实也就跟之前的光照系统差不多了。另外烘焙的过程真心慢(万一同时勾选了两个GI,那么就是慢上加慢),GI Cache文件夹如果不限制大小的话,动辄几十G,可见其计算量。& & & & &烘焙如果勾上auto则所有的烘焙结果存在GI Cache文件夹下,一般这种模式没有什么价值。点击Bake按钮进行烘焙,烘焙完成后会生成跟场景同名的文件夹,里面有光照贴图和一个lightmapsnapshot.asset文件。这个文件就是第一个坑。& & & & &光照贴图的加载原理其实很简单,每个renderer中记录了一个lightmapindex和lightmapscaleoffset,LightmapSetting中有一个全局的光照贴图的数组,包含当前场景中所有光照贴图的索引。每个renderer根据index和offset确定自己应该使用光照贴图的哪个部分,最终渲染出实际带光影的效果。& & & & &原本这些数据是存在每个renderer里面的,也即存在scene或者是prefab中。但是Unity5为了多场景合作编辑,把这些数据移到snapshot文件中了。场景中不再保存这些信息,snapshot中保存了场景中的renderer对应的光照数据是什么。但是Unity并没有提供访问snapshot的方法。所以原本很简单的问题在这里变得非常恶心。& & & & & 由于snapshot中保存的是当前场景中的renderer的信息,所以拷贝新的renderer或者在代码中实例化一个物体都是没有光照信息的。如果场景中的物体保存为prefab,则光照信息也会丢失,因为此时场景中关联的是一个prefab文件,而场景物件是保存在prefab中的。& & & & &补充说明,snapshot中根据GameObject的udid来保存对应的光照信息。所以只要udid不变,则光照信息正常,只要改变,则光照信息丢失。所以新实例化的物体是没有光照信息的,这个要自己手动设置(其实也很简单,把原物体所有Renderer中的光照信息赋值给新物体中对应的Renderer就好)。 如果烘焙的时候物体不是Prefab,后来保存为Prefab,或者原来烘焙的时候是Prefab,后来取消Prefab的关联,这两个操作都会使光照信息丢失。& & & & &一个简单的解决办法是将光照信息保存在一个组件上面,然后加载场景或者物体的时候再恢复。代码如下:PrefabLightmapDataEditor.cs[csharp]&PrefabLightmapData.cs[csharp]&& & & & & & 场景中的光照贴图的设置跟之前版本一样,直接设置LightmapSetting中的lightmap数组就可以了,光照贴图同样可以打包成assetbundle,只要能够正确的加载并设置就可以。& & & & & & 如果我们有做地图动态生成、动态加载等需求,那么就必须要自己处理lightmap的加载。大体思路是将场景中物体的光照信息(lightmapindex等)和当前场景的光照贴图(lightmapsetting中获取)保存成一个配置,然后运行时自己加载这些信息。不过这样做有一个前提是场景中的物体一定不能做成prefab,原因如前文所述。& & & & & & 如果不考虑场景的动态更新,那么就简化很多。一个场景一个Scene,每个场景自己烘焙,然后使用LoadLevelAdditive加载场景就可以了。Unity可以正确处理好光照贴图的合并和索引的更新。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:964406次
积分:10552
积分:10552
排名:第1351名
原创:152篇
转载:102篇
译文:31篇
评论:133条
文章:20篇
阅读:75283
(1)(2)(6)(1)(1)(2)(4)(3)(2)(2)(1)(1)(6)(8)(1)(4)(3)(8)(3)(2)(4)(3)(5)(11)(10)(8)(20)(11)(15)(26)(9)(5)(9)(8)(4)(8)(6)(3)(10)(7)(3)(6)(2)(7)(19)(1)(3)温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
我是阿赵,请多多指教!
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
然后使用3dmax自带的光线追踪渲染一下,会出现这样的效果:
很明显的,光线追踪之后的渲染效果比没有光线追踪时立体感强了很多。这是因为高级渲染器模拟了真实环境里面光线的各种反射和散射,使物体看起来接近真实的效果。
我们所要做的烘焙,其实就是把这种经过高级渲染器计算的光影效果,记录在贴图上面。
我对上面的几个物体展了UV,并使用3dmax的烘焙功能,烘焙出相应的贴图。并把这个带着UV信息的模型导出为FBX,放进Unity里面。
在unity里面,我拉出了两个模型,一个按照原来的颜色直接给予他材质,另外一个把3dmax里面烘焙的贴图贴上了模型,会出现上图的情况。场景里面也没有打灯光,假如是只有颜色的材质时,模型会没有任何的轮廓和立体感。而贴上了烘焙贴图的模型,看起来会和在3dmax里面使用光线追踪时渲染的效果差不多。
接下来我们对只有颜色的这个模型进行LightMapping烘焙处理。选择该模型,然后在Static里面选择Lightmap Static。
在菜单栏的Window——&lightMapping打开lightMapping面板,在bake栏里面设置一下烘焙的参数,我这里用了如下参数:
设置好之后,就可以烘焙了,在烘焙之前先保存场景,然后点击Bake Scene按钮。
经过漫长的等待(等待的时间取决于你的模型的复杂程度),烘焙结束,生成了贴图,我们可以在maps里面查看:
&这时候,我们可以进行一个小对比了:
&同样是场景里面没有灯光,但不论是经过Lightmapping烘焙的模型,还是在3DMax里面烘焙贴图的模型,都有了较为真实的光影效果。
&&&&& 既然两者都能达到差不多的效果,那么究竟他们之间有什么差别呢?
3dmax烘焙:
1、可以使用各种高级渲染器对模型进行烘焙,比如Vray。
2、可以烘焙像反射这样的效果。
3、因为光影是固定了,所以在引擎里面只能按照在3DMax里面的摆放,不然就会穿帮。所以模型贴图不能在各个不同场景通用。
unity的LightMapping烘焙:
1、设置的参数相对没有3DMax里面高级渲染器丰富。
2、只能烘焙光影的追踪效果,不能烘焙反射。
3、可以一个模型放在不同场景单独烘焙,模型可以通用。&
4、由于每个场景需要烘焙一组贴图,所以如果场景多了,也会增加贴图数量。
至于两者之间的具体效果对比,这要根据烘焙时的具体参数来看。
这里注意的一点是,无论哪种烘焙,你都需要对模型进行展UV操作,假如UV没有展,或者UV的范围超出了0-1的框,烘焙都是会出错的。
阅读(17027)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'unity自带LightMapping和3Ds Max烘焙贴图的小对比',
blogAbstract:'&&&&&&& 对于做虚拟现实的朋友来说,烘焙贴图应该不是一个陌生的东西。想要在有限性能的电脑上面即时运算较好的光影效果,一般都会采用烘焙贴图的方法。而除了在3dmax里面烘焙贴图之外,Unity3D也自带了LightMapping烘焙贴图的功能。下面我们来做一个小例子,对两者的意义和效果做一个小对比。
在3dmax里面,我简单的建立了几个模型,并分别赋予他们不同的颜色:
然后使用3dmax自带的光线追踪渲染一下,会出现这样的效果:
blogTag:'unity,lightmapping,烘焙,贴图,阿赵',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:8,
publishTime:6,
permalink:'blog/static/',
commentCount:21,
mainCommentCount:4,
recommendCount:2,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'我是阿赵,请多多指教!',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}最近浏览论坛:
关注/收藏的论坛:
热门论坛推荐:
验证码:输入右侧的字母和数字
下次自动登录
还未注册用户?&&&
您的赞赏是对楼主的鼓励!
1~200元之间
金额须在1~200元之间
去车系频道
自动加载图片
行车电脑液晶屏有不规则阴影,见图求大神
这种情况有没有遇到液晶屏规则阴影平时光线强还真容易发现新车到半年时就发现去4s店要求换屏幕4s店告诉我这里面脏进灰只能讲整个模块拆掉寄回原厂清理看我信还拿出官方关于这种问题处理文件给我看看样子数车子这个样子现在就快出保知道这个问题还需需要处理
引用 code-15 12:42:30 发表于 主楼 的内容:
禁止发布色情、反动及广告内容!
发布用车问题,分享用车经验,即可获得知道上线勋章。
参与汽车之家10周年“真交情,十年如初”活动,获此勋章,感谢一路上有你的陪伴。
完成汽车之家·知道升级任务,解答问答,并被提问者采纳为满意回答,可得解答达人一级勋章
12:55:26 | 来自
当然要处理,就怕越来越严重
字写的不好就不签了
引用 科百文
12:55:26 发表于 1楼 的内容:
禁止发布色情、反动及广告内容!
12:55:26 发表在
当然要处理,就怕越来越严重
看上去感觉不像是进灰了啊 这1年多以来也没有增加的迹象,是不是液晶屏质量问题,4s不承认 就坑人
引用 code-15 12:59:34 发表于 2楼 的内容:
禁止发布色情、反动及广告内容!
参与汽车之家质量评价调研,反馈真实质量情况,特授予汽车之家“质量评价员”称号,并奖励专属勋章。
开了2年多了,没发现过,能换就换吧
来捧场买雨刷:
引用 陈钱多
13:02:15 发表于 3楼 的内容:
禁止发布色情、反动及广告内容!
所属:爱车:
为庆祝汽车之家口碑上线,填写真实汽车口碑,分享对汽车的真知灼见,即可获得口碑达人勋章。
发表500字以上推荐口碑,点评客观公正,通过工作人员审核,特授予【推荐口碑】专属勋章。
参与加油站之家上传加油票活动,上传加油票并通过审核,并符合升级规则,即可得加油站调查员一级勋章。
汽车之家九周年,征集你与数字9的合影说出你的祝福,赢取汽车之家九周年特别版勋章
Olá,Olá,2014巴西世界杯来啦~快来加入汽车之家世界杯车迷盛宴吧,下一个预言帝就是你。
我的跟你一样,不过我无视它算了。
引用 ben_zhao
14:00:53 发表于 4楼 的内容:
禁止发布色情、反动及广告内容!
可能进水了吧
17:33:45 发表于 5楼 的内容:
禁止发布色情、反动及广告内容!
发布用车问题,分享用车经验,即可获得知道上线勋章。
参与汽车之家10周年“真交情,十年如初”活动,获此勋章,感谢一路上有你的陪伴。
完成汽车之家·知道升级任务,解答问答,并被提问者采纳为满意回答,可得解答达人一级勋章
19:33:27 | 来自
12:59:34 发表在
看上去感觉不像是进灰了啊 这1年多以来也没有增加的迹象,是不是液晶屏质量问题,4s不承认 就坑人可能是有一颗灯坏了
字写的不好就不签了
引用 科百文
19:33:27 发表于 6楼 的内容:
禁止发布色情、反动及广告内容!
完成汽车之家·知道升级任务,解答问答,并被提问者采纳为满意回答,可得解答达人一级勋章
完成汽车之家·知道解答问答任务,并被提问者采纳为满意回答。并符合升级规则,即可得解答达人二级勋章
参与汽车之家10周年“真交情,十年如初”活动,获此勋章,感谢一路上有你的陪伴。
完成汽车之家·知道升级任务,解答问答,并被提问者采纳为满意回答,可得解答达人三级勋章。
12:42:30 发表在
这种情况有没有遇到的?液晶屏上不规则阴影,平时光线强还真不容易发现,新车不到半年时就发现了,去4s店要求更换屏幕,4s店告诉我这是里面脏进灰了,只能讲整个模块拆掉寄回原厂清理。。看我不信还拿出官方关于这种问题的处理文件给我看,看样子不是少数车子这个样子的。现在就快出保了,不知道这个问题还需不需要处理
背光板估计是掉了!
引用 无照开车哈哈
19:45:59 发表于 7楼 的内容:
禁止发布色情、反动及广告内容!
所属:爱车:
问答平台通过“采纳”这一功能,向问题背后的解答者送出一份感谢,同时也将让这些解答脱颖而出。
完成汽车之家·知道升级任务,解答问答,并被提问者采纳为满意回答,可得解答达人一级勋章
参与汽车之家10周年“真交情,十年如初”活动,获此勋章,感谢一路上有你的陪伴。
参与汽车之家质量评价调研,反馈真实质量情况,特授予汽车之家“质量评价员”称号,并奖励专属勋章。
完成汽车之家·知道解答问答任务,并被提问者采纳为满意回答。并符合升级规则,即可得解答达人二级勋章
12:42:30 发表在
这种情况有没有遇到的?液晶屏上不规则阴影, 平时光线强还真不容易发现,新车不到半年时就发现了,去4s店要求更换屏幕,4s店告诉我这是里面脏进灰了,只能讲整个模块拆掉寄回原厂清理。。看我不信还拿出官方关于这种问题的处理文件给我看,看样子不是少数车子这个样子的。现在就快出保了,不知道这个问题还需不需要处理
貌似我的也这样.徐州的啊.我刚从徐州回来.
引用 君临天下love
19:47:00 发表于 8楼 的内容:
禁止发布色情、反动及广告内容!
参与我的汽车之家抢沙发活动,抢到5个话说沙发得到此勋章一枚。
发表500字以上推荐口碑,点评客观公正,通过工作人员审核,特授予【推荐口碑】专属勋章。
母亲无微不至的包容着我们的一切,你是否记得你与母亲的点滴!母亲节,请说出你心中对母亲的爱~
确认有用答案,拿弹指神通勋章
参与汽车之家问答主题活动,发布问答帖并确认有用答案可得问题达人一级勋章
引用 迷乱情怀
20:46:18 发表于 9楼 的内容:
禁止发布色情、反动及广告内容!
所属:爱车:
上传购车发票,点评购车服务感受,通过工作人员审核,特授予【真实报价员】专属勋章。
参与汽车之家10周年“真交情,十年如初”活动,获此勋章,感谢一路上有你的陪伴。
完成汽车之家·知道升级任务,解答问答,并被提问者采纳为满意回答,可得解答达人一级勋章
参与汽车之家质量评价调研,反馈真实质量情况,特授予汽车之家“质量评价员”称号,并奖励专属勋章。
这里面进灰的可能性很他吗小吧
引用 温柔尖叫
21:22:11 发表于 10楼 的内容:
禁止发布色情、反动及广告内容!
路过 我也这杨 转速表里还有好多灰 直接无视!
引用 kedaIPC
21:22:33 发表于 11楼 的内容:
禁止发布色情、反动及广告内容!
完成汽车之家·知道升级任务,解答问答,并被提问者采纳为满意回答,可得解答达人一级勋章
完成汽车之家·知道解答问答任务,并被提问者采纳为满意回答。并符合升级规则,即可得解答达人二级勋章
楼主的里程和我差不多
引用 subtle_eyes
22:25:20 发表于 12楼 的内容:
禁止发布色情、反动及广告内容!
正在提交回复,请稍候...
mainTopic.xRender=YES
楼主有更新时通知我
已取消此帖的收藏
您已被楼主屏蔽,不能回复该帖子}

我要回帖

更多关于 unity3d 5 lightmap 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信