萌新求教,Unity5.1替换FBX模型问题,烘焙问题

问萌新求教,Unity5.1替换FBX模型问题,烘焙问题答最佳答案Unity5终于正式发布了,我们也赶紧尝试着把现在的项目升级到Unity5.0,升级的过程遇到了不少问题,估计也是大家将来会遇到的,分享出来供大家参考 一、先说说Unity4.0 烘焙面板里常用的参数 Quality 烘焙质量一般会选...

萌新求教,Unity5.1替换FBX模型问题,烘焙问题

答最佳答案

Unity5终于正式发布了,我们也赶紧尝试着把现在的项目升级到Unity5.0,升级的过程遇到了不少问题,估计也是大家将来会遇到的,分享出来供大家参考
一、先说说Unity4.0 烘焙面板里常用的参数
Quality 烘焙质量一般会选择高
Bounces 反弹 这个值一般选1,如果选2,烘焙的时间会增长50%左右,所以设置这个值要谨慎。
Sky Light Intensity 天空光强度 这个一般我也不会设置的太高
Bounce Boost 反弹增强,同一单位面积内增大光的反射数量,相比较来说,这个值增大会直接影响渲染时间。
Bounce Intensity 增强光的反射强度
Contrast Threshold 对比度,这个只是偶尔会调。
下面是我烘焙大场景时用到的参数,基本是在效果和时间上达到了一个合理的平衡点。
二、再说说 Unity5.X,和4.X的区别,首先光照烘焙技术就不同,
Unity4.X版本采用的是Autodesk的Beast技术
Unity5.X版本采用的是PowerVR Ray Tracing和Enlighten技术,所以Lighting Window 面板里的参数差别就很大。
整体的参数介绍这个的网址里有,
docs.unity3d/Manual/GlobalIllumination
我只说说常用的。
(一)Object面板
Lightmap Static: 必须把烘焙的物体设置成静态
Scale in Lightmap: 数值的大小与该物体的表面积有关,这个值影响烘焙时间,值越大时间越长。(效果如下图)
Scale In Lightmap 设置成0.1时的效果
Scale In Lightmap 改成1时的效果
(这个值也影响光影图的数量)
Preserve UVs: 如果物体没有在3dmax里展好UV,那么这里必须勾选。
(二)Scene面板
Skybox:会直接影响你的环境光
Ambient Source:环境源,这里选 的skybox
Ambient Intensity: 环境光的强度值,也就是环境光的亮度值
Reflection Source:反射源,这是Unity4.X里没有的。烘焙后会在场景文件的同名文件夹中多出一个名为 LightmapSnapshot的文件。
Realtime Resolution:实时分辨率,这个物体所产生的GI对其它物体的影响程度,值越大影响越大。例如
Realtime Resolution 参数设成比原默认的小10倍即 0.2 ,
这个值调成1后,墙上的绿玻璃颜色,能更多的影响地面了
Realtime Resolution 参数改成 0.4后的效果绿色墙所产生的环境光,影响范围变小了。
CPU Usage:选的默认。
Baked Resolution:烘焙分辨率,如果数值是10,那么就是每个单位里分布10个纹理元素,实际测试的效果如下
Baked Resolution的参数值调成10后,阴影的边变实了
Baked Resolution的参数值调成1后,阴影的边变的很虚了
Indirect Intensity:间接强度,这个和unity4.x里的参数有些像,可以简单的理解为光的反射强度。
Bounce Boost:反弹强度,同一单位面积内增大光的反射数量,相比较来说,这个值增大会直接影响渲染时间。
Default Parameters:默认参数,这里还可以自己创建自己的参数。一般情况在预烘焙时选择最低设置。
Atlas Size:烘焙图的大小,以前4.X版本只能通过脚本来调整,现在好了。
(三)灯光参数
这里需要注意的是Baking 选项里要设置成Baked ,否则烘焙不起作用。
剩下的两个参数,基本和Unity4.X的参数功能相同。
最后说一下,下面这几个参数一定要注意,它们影响烘焙速度和光影图数量,当初就在这上面吃过亏,场景太大,参数没调小,烘了一晚上啥也没出来。“Scale In Lightmap 、RealtimeResolution、Baked Resolution、Atlas Size”
总体来讲要想提高烘焙速度,就从这Scale In Lightmap 、Realtime Resolution、Baked Resolution三个参数入手基本就可以了。
其实升级到Unity5 ,我们遇到了很多问题,很多以前的脚本、插件都不好用,都需要我们一步步解决。

这是肯定的啊,unity3d本来不是建模、渲染的专门工具。max里的很多材质在unity3d都不能表现出来的,需要在unity3d中再对材质进行设置,而且如果你用的vary这些渲染器就更不能渲染出来了。最简单的办法就是烘焙图啊,在max里烘焙,在unity3d里直接贴图就是了,这样效果几乎就没变化了。

首先Unity不支持VRay的材质,所谓材质 = shader(GPU程序)+数据(包括贴图、混合百分比、颜色和各种调节参数),而具体的视觉表现 = 材质 + 光照
Unity 只支持它自己的材质和光照,你也可以自己写 shader 来扩展 Unity 的材质,除非 VRay 的制作商给 Unity 写了 shader,否则 Unity 是不能支持 VRay 的。
但是 VRay 的渲染后效果还是可以在 Unity 里表现的,就是用烘培贴图的方法。
首先备份一份你的 .max 文件。
在工作 .max 里,把模型塌成可编辑多边形,这是为了容易导出 fbx。导入 Unity 最好用标准交换模型 fbx 或 collada(虽然它也支持 .max 但最好不要用)。然后在 Max 里烘培光照贴图(render to texture),这个网上的视频教程很多,你可以把光照(包括阴影在内)全部烘培到漫反射贴图里(另外一种方法烘培一张漫反射贴图 + 一张高光贴图,对应Unity里的漫反射+高光材质)。烘培完先在 Max 里用普通光照和标准材质测试一下(你可以把原来的VRay材质删了,新建个标准材质,把烘培后贴图载入漫反射通道),应该和用VRay的相差不大。然后导出 fbx 和贴图(不用把贴图嵌入 fbx)。
最后把 fbx 和包含光照的漫反射贴图全部导入 Unity 里,Unity 里也用普通的漫反射材质,然后把漫反射贴图拖到给材质的Texture框里就可以了。

首先Unity不支持VRay的材质,所谓材质=shader(GPU程序)+数据(包括贴图、混合百分比、颜色和各种调节参数),而具体的视觉表现=材质+光照Unity只支持它自己的材质和光照,你也可以自己写shader来扩展Unity的材质,除非VRay的制作商给Unity写了shader,否则Unity是不能支持VRay的。但是VRay的渲染后效果还是可以在Unity里表现的,就是用烘培贴图的方法。首先备份一份你的.max文件。在工作.max里,把模型塌成可编辑多边形,这是为了容易导出fbx。导入Unity最好用标准交换模型fbx或collada(虽然它也支持.max但最好不要用)。然后在Max里烘培光照贴图(rendertotexture),这个网上的视频教程很多,你可以把光照(包括阴影在内)全部烘培到漫反射贴图里(另外一种方法烘培一张漫反射贴图+一张高光贴图,对应Unity里的漫反射+高光材质)。烘培完先在Max里用普通光照和标准材质测试一下(你可以把原来的VRay材质删了,新建个标准材质,把烘培后贴图载入漫反射通道),应该和用VRay的相差不大。然后导出fbx和贴图(不用把贴图嵌入fbx)。最后把fbx和包含光照的漫反射贴图全部导入Unity里,Unity里也用普通的漫反射材质,然后把漫反射贴图拖到给材质的Texture框里就可以了。

提示就是说默认的UV坐标对于Unity3D的lightmap来说没法用

在FBX模型导入之后,选中提示中出错的模型,看提示你那里是pCube6176

在Inspector标签中

勾上最后一个Generate Lightmap然后应用即可

在 Maya 或者3DMax 里导出时,单位设成米或厘米,不要用英寸。造成这个原因多半是 fbx 有好几个常用的格式标准,它们之间不兼容导致的,操蛋的 Autodesk!!我们模型一般都是在Blender3D里做的,外来的模型也都先导入到 Blender 里做统一的整理。标准这个东西很麻烦的,我们以前喜欢直接在 Unity 里用 Blender 的源文件,后来遇到各种不兼容,现在都是统一导出 fbx 再复制到 Unity 里,所以一直没有太多问题。Fbx 导入 Unity 时,优先考虑复制粘贴的方法,建议不要拖动。随便搜了一下,这里有答案:File Scale FBX帖子里也说到.meta文件会影响到 filescale 的值,至于 Unity 官方为什么这么设计就不得而知了。不过解决方案依然不完美。只能先这么凑合着用,在3D 软件里建模时多迁就一下。记得Unity 里所有的 fbx的 filescale都保证为统一的值,一般是0.01。

如果要烘焙贴图材质光影效果,可以安装使用VRAY渲染器,打开GI,选择"高"或"中等"品质,打开天光,调好灯光。(如下图)


然后选中场景模型。

点选渲染菜单里的"渲染到纹理",设置"边缝填充"6以上,贴图方式为"使用现有通道",然后"添加一个名称为"VrayCompleteMap"的烘焙类型,再修改合适输出路径。然后调整合适大小,点渲染即可输出烘焙贴图。

然后把场景模型输出为不带动画的FBX文件,即可导入UNITY.再把刚刚烘焙的CompleteMap贴图导入UNITY,然后指定给场景模型的相应材质,即完成贴图光影的烘焙。(提示如下图)


另一种烘焙类型:VrayLightingMap也可以使用。但添加的烘焙类型名称要选VrayLightingMap,贴图方式为使用自动展开"。这种方式可保证贴图细节,在虚拟现实或虚拟看房类应用程序里比较常用。

LightingMap说明如下:

测试unity5的烘焙,发现一个问题,单面物体烘焙后阴影效果不准确,不知大家发现这个问题没。
我们项目用的是简模,一些看不到的面都是不做出来的,但结果就是在unity4内烘焙没问题,到了unity5烘焙就出现黑面。经过测试,似乎确实是单双面的问题。如图,模型都是用内部的cube和plane拼凑的,上方的两个横面一个实单面(单个plane)一个实双面(两个位置相同,方向相反的plane),结果双面投影,正常,单面投影出现严重色斑。
估计原因是unity5阴影计算方式是模拟真实的光线折射计算的,而现实中是不存在“单面”物体的,所以造成光线折射不准确。面包产业网

本文来自早川希奈子投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/22/243911.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 03-04
下一篇 03-04

相关推荐

  • 萌新求教,Unity5.1替换FBX模型问题,烘焙问题

    问萌新求教,Unity5.1替换FBX模型问题,烘焙问题答最佳答案Unity5终于正式发布了,我们也赶紧尝试着把现在的项目升级到Unity5.0,升级的过程遇到了不少问题,估计也是大家将来会遇到的,分享出来供大家参考 一、先说说Unity4.0 烘焙面板里常用的参数 Quality 烘焙质量一般会选

    2023-03-04 19:33:01
    284 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信