unity5.X的unity 场景烘培教程速度慢到令人发指是什么原因

3120人阅读
Unity 3D(26)
&&有时候我们需要动态加载场景(比如场景比较大,或者一些无限重复的自动生成的场景),这时如果对场景又使用了烘培,那么在unity5里面就会有一些小问题。
&&1.在这种需求下我们一般会把场景物体存成一个预置,需要的时候加载进来,但是在unity5里面,物体的lightmap信息(index和偏移)并不会记录在预置上,这导致你直接把预置加载进来看不到烘培效果,这里要这样,在加载之后手动的赋值这个lightmap信息,(你可以在烘培时预先保存这个信息),使用render的lightmapIndex和lightmapScaleOffset来设置它的烘培信息。
2.然而使用上面的方法对于一些shader还是会看到错误的结果(编辑器正确,至少android设备上是错的),因为unity5在某些设备上,对于这种动态加载的物体,无论你是否设置它的renderer的&lightmapIndex和&lightmapScaleOffset,&它都不会为其shader设置LIGHTMAP_ON这个关键字,如果看一下unity&支持light&map的shader的源码,可以发现这个
LIGHTMAP_ON是控制显示烘培图的关键,但是这种情况unity5不会设置,并且你自己手动设置也不行。这里有一个方法,就是修改这个shader,自己加一组关键字,比如叫做DYNAMIC_LIGHTMAP_ON,就算没有定义LIGHTMAP_ON,定义了DYNAMIC_LIGHTMAP_ON也会触发lightmap的贴图,然后在代码里加载完毕动态场景后,设置这个keyword就行了
UNity4据说没有这个问题,对于动态场景,直接加载就自动有lightmap里了,因为unity4会把lightmap信息存储在预置里。

&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:780332次
积分:6952
积分:6952
排名:第3465名
原创:131篇
转载:18篇
评论:146条
文章:25篇
阅读:208167
(1)(2)(3)(1)(1)(1)(7)(1)(3)(2)(2)(1)(1)(3)(4)(1)(1)(2)(1)(9)(1)(5)(3)(3)(7)(7)(3)(3)(11)(1)(1)(2)(1)(1)(4)(3)(3)(1)(3)(5)(3)(2)(3)(9)(3)(3)(1)(6)(1)(2)(1)请大神帮忙看下 unity5.0 烘焙炒鸡慢 是何种原因【unity3d吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:77,124贴子:
请大神帮忙看下 unity5.0 烘焙炒鸡慢 是何种原因收藏
场景不超2000个三角面 一个直线灯光 耗时5个小时 我真的醉了
关于外贸软件你不知道的秘密
目前5.0其实挺坑的。建议你看看 你的C盘还剩多少可用空间
详细报一下你的硬件配置吧
电脑型号X64 兼容 台式电脑操作系统Windows 7 旗舰版 64位 SP1 ( DirectX 11 )处理器AMD Athlon(速龙) X4 760K Quad Core 四核主板华硕 A88XM-A ( AMD K15 )内存8 GB ( 威刚 DDR3 1600MHz )主硬盘西数 WDC WD10EZEX-08M2NA0 ( 1 TB / 7200 转/分 )显卡Nvidia GeForce GTX 750 ( 1 GB / 技嘉 )显示器戴尔 DELA0A1 DELL E2214Hv ( 21.7 英寸 )声卡瑞昱 ALC887 高保真音频网卡瑞昱 RTL12 Gigabit Ethernet Controller / 华硕
初步来看你的Lighting页面的设置没有什么问题, 少年你可以看一下你的物体的Scale In Lightmap是不是调得太高了.
哥们,amd的cpu就别想快。我用4.6.3烘焙一个立方体,也要好几分钟。
jibaik淘宝现在400块的cpu还想多强,不过确实引擎太坑 我虚幻4烘培才十几分钟
参数我发在这里 希望大大们帮我看看
哪里出问题了 还是要在Edit 菜单下 调环境参数
我也是拿5烘得很慢,要疯了,你解决了吗?
登录百度帐号推荐应用unity5.0以上版本如何正常烘焙lightmap? - 知乎5被浏览3475分享邀请回答0添加评论分享收藏感谢收起0添加评论分享收藏感谢收起查看更多回答unity3d烘焙 场景设置注意事项
我的图书馆
unity3d烘焙 场景设置注意事项
Fbx、贴图导入Unity时的注意事项:
在导出Fbx之前,Maya中已经对物体连接了正确的贴图,并且贴图文件名不能更改。
把Fbx和贴图放在同一文件夹内,直接把此文件加拖入Unity内。此时Diffuse贴图应能自动识别。
此时,对贴图修改后,在Unity中更新贴图(删除老贴图,导入新贴图,并保持命名,路经一致),模型能够自动更新。
假如Unity中删除贴图,关闭Unity,再打开Unity,导入之前删除的贴图,模型不会自动更新贴图。
------------------------------------------------------
i3D的这篇教程中的模型比例有问题,先根据Unity官方帮助文档中的内容说一下:
Unity官方帮助文档中认为,模型的缩放尺寸是非常重要的。特别是涉及到一些物理特效模拟的时候。
Unity认为,在理想状态下,不要更改模型的Transforms&Scale值,保持Scale值为(1,1,1)。(这样的话,模型在Maya中制作时需要freeze,使缩放值为(1,1,1))。原因是,额外的缩放数值会增加不必要的计算量。
Unity首先推荐模型在创建时使用真实尺寸。其次是在Unity的Import&Settings中更改尺寸。Unity在进行场景优化时会根据物体尺寸来进行优化。
当在Unity中把一个物体parent到另外一个物体时,最好父级物体的坐标值是(0,0,0),否则之后会遇到不少头痛问题。
Unity的粒子系统不受Transforms&Scale值的影响。
物体的不均匀缩放值在Parent后会产生不良后果(这个情况和Maya中是一样的)
Unity中,1个单位尺寸代表1米。即在Unity中创建一个Cube的尺寸是1x1x1米大小。
Unity推荐把人的身高定为大约2个Unity单位高度(2米)。
在Max中,只要正确设置单位尺寸(系统单位尺寸设置以及输出时单位尺寸设置)成厘米后,得到的效果是一致的。
经常有人说模型从maya导入到max中或者模型从max导入到maya之后模型的尺寸会变掉.其实这个就是软件系统内部的单位精度设置不统一的问题,max中默认是英寸(或英尺?),&maya中默认是cm(厘米),统一尺寸之后任意来回互导理论上是没问题的.实际操作之后发现obj没问题,fbx有问题.&不解...
------------------------------------------------------
在unity中导入fbx文件模型、贴图,不建议直接在项目文件夹中操作。
如何把贴图贴上模型,这个教程里不厌其烦的每一个模型都这么操作了一遍,看过的应该很清楚了。
首先是更改材质,diffuse或者diffuse+specular,看你是否需要高光。
高光贴图需要做进color贴图的alpha通道里,这点比较特别。
Unity可以直接根据color贴图的灰度图充当specular贴图,一般的场景这么做足可应付。
Normal贴图有时不能直接正确识别,Unity可以修正。
------------------------------------------------------
下面是关于灯光方面的。
pro版本的Unity可以有实时阴影,free版本没有。
阴影可以实时阴影和bake到贴图上的阴影混合使用(Lightmap),帮助文档里有例子。
Edit&Project&Setting&Quality
Editor&Quality&:&Fantastic
Edit&Rendering&Setting
Ambient&Light&&会影响全局暗部色调,设置成全黑,接下来将手动打光模拟Ambient&Light.
添加预设Skybox天空效果
Asset-&Import&Package-&Skyboxes&添加Unity自带Skybox素材
1.选择Edit-&Render&Settings&from&the&menu&bar.
2.拖动Skybox材质球到Inspector面板中的Skybox&Material栏中.
-----------------------------------------------------------
17_Lightmapping_Part01
Unity自带Beast插件(也有其他游戏引擎集成这个插件)
多边形物体需要2套UVset
一套UVset用来显示普通贴图
另一套UVset用来显示Lightmap
在倒入Unity的Fbx多边形属性中勾选"Generate&Lightmap&UVs"
方法:"Project"面板中选中模型组,"Inspector"面板中找到"FBXImporter"选项,勾选"Generate&Lightmap&UVs"
Window&Lightmapping
Ctrl+A全选所有物体
Static&勾选,表示物体不会移动
小窗口中(Scene窗口中右下角的Lightmap&Display窗口),勾选Show&Resolution,物体表面可看到黑白格子,通过Lightmapping窗口&Object&Scale&In&Lightmap&值来改变需要设置的Lightmap精度
远方的物体用最低的Lightmap精度,画面中能近距离看到的物体用较高的Lightmap精度
Lightmapping窗口&Bake
[Mode]&:&Dual&Lightmaps&创建2套Lightmap,分别对应摄像机远/近距离
[Quality]:&High
[Use&in&forward&rend]:
[Bounces]&:&1&反射次数&(预览1,正式2)
[Sky&Light&Intensity]&:&(预览0.5,正式0.75&。0表示无天光)
[Bounce&Boost]&:&(预览1,正式1.5)提高场景中间接照明光量,如地面上反弹到墙壁上的光
[Bounce&Intensity]&:&(预览1,正式)对间接灯光的强度进行乘积操作(乘以此值后的亮度)
[Final&Gather&Rays]&:&&(预览设置32,正式500,默认1000过高)
[Contrast&Threshold]&:&0.05&默认&&(让表面光滑,较高的值会减少细节,类似PS中的高斯模糊)
[Interpolation]&:&0&默认&&正式0.2&(FG产生的颜色如何进行插值运算,0线形运算,1较高级的算法)
[Interpolation&Points]&:&15&默认&&正式20&(值越高越光滑,相应的丢失细节)
[Ambient&Occlusion]&:&多边形的交接处、凹处产生阴影。与灯光信息无关。
[Resolution]&:&全局分辨率,最影响渲染时间的设置。预览设置10,正式不要超过20
Lightmapping窗口&Maps
Array&Size:&全部场景产生的LightMap数量,范围0-254
选择屋顶,勾选Static,
Scale&In&Lightmap&:&0&参与Lightmap运算,但是不产生Lightmap贴图。
关于透明贴图,
在Unity中,透明材质球不接受阴影。
使用Transparent/Cutout/Bumped&Diffuse材质,透明通道稍差但是接收阴影。
同时对其Cast&Shadow去勾,以便不产生阴影。
Alpha&cutoff&最大
以较低的预览参数设置,bake全体Lightmap。然后检查有无灯光过亮灯问题。
选中灯光,可在Lightmapping窗口中单独设置灯光参数。根据需要跟改Bounce&Intensity值,调整光源。
把SunLight的Bounce&Intensity:&2&(正式)
Ambient&Occlusion:1
Max&Distance:3
Contrast:0.5
选择天窗,Emmit&Light:&50&模拟更真实的天窗强烈照射效果。
------------------------------
OPtimization&Techniques
Per&object&shadow&casting/receiving&&没必要显示影子的物体就不需要设置影子
Shader&complexity:
&-&shader&type
&-&vertex&vs.&pixel&shaders
实时渲染速度最快的材质:&Vertexlit
Light&Linking
Polygon/Traingle&count
Combine&Objects&能合并的多边形尽量合并
Share&Materials&能共用材质球的尽量共用
各内置材质球计算速度由低到高排列:
VertexLit.
Normal&mapped.
Specular.&
Normal&Mapped&Specular.
Parallax&Normal&mapped.
Parallax&Normal&Mapped&Specular
Rendering&Paths&Comparison
TA的最新馆藏
喜欢该文的人也喜欢

我要回帖

更多关于 unity5.6 烘培 的文章

 

随机推荐