http://game.ceeger.com/forum/read.php?tid=11284
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//2013.07.25
应大伙需求再分享一些资源,方便学习和研究。
(以下压缩包内容一样,为防止失效,使用两个地址)
ShaderAndScript.rar http://w47.myzcm.com/2013/06/wjmwjm119/ShaderAndScript/shaderandscriptandmap.rar
ShaderAndScript.rar http://kuai.xunlei.com/d/NmZeDHeqx4fwUQQA299
压缩包里含有4个Shader和1个镜面脚本,2张贴图,1张CubeMap,分别为:
1.MGKJ_Base_1.02.shader,基本材质,场景默认所有物体都可以使用这个材质。
2.MGKJ_Cubemap_1.00.shader,带CubeMap反射的材质(假反射),应用在有反射的物体,如圆形的罐子等曲面物体,画框玻璃。
3.MGKJ_Glass_Base_1.00.shader,玻璃材质,表现窗户玻璃。
4.MGKJ_Mirror_Base_1.00.shader,镜面反射(真实反射),可以使用一张Normal图来表现粗糙的反射面。
5.MirrorReflection.cs,镜面反射脚本。有平面物体A,将MirrorReflection.cs挂载到A物体,给A物体MGKJ_Mirror_Base_1.00.shader,脚本能自动生成镜面反射贴图到材质球上。
6.Normalmap_512.tga,一张表现粗糙的Normap图(在Unity中将图片格式设置为Normap)
7.Nromal_map_flat.tga,一张平的Normap图(在Unity中将图片格式设置为Normap)
8.MyCubeMap.cubemap,一张室内的CubeMap;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Unity3D Demo: http://kuai.xunlei.com/d/NmZeDALo9wAoS7hR0a4
3dsMax 到出的FBX和烘培好的LightMap,EXR 版 :http://kuai.xunlei.com/d/NmZeDAIn8gBhNLhRa61
3dsMax 原文件及贴图 :http://kuai.xunlei.com/d/NmZeDGTHzYfZUQQA6bb
虚拟现实精装流程(MentalRay商业化烘培流程).pdf : http://kuai.xunlei.com/d/NmZeDAKt8gD2NbhR593
置顶的4个链接都本教程需要用的资源和最终的DEMO
1.最终的Demo,需运行在Diretx11下 ,可以通过 “-”和“+”调节亮度,通过"["和“]” 调整对比度
2.包含了Unity 场景中的FBX模型文件,DiffuseMap 和烘培好的LightMap(Exr)
3.3dsMax原工程文件
4. 一个MentalRay烘培流程,主要介绍Mentalray使用技巧和Max烘培场景整理,已商业化应用,应用实践已有两年。
PS: 用到软件版本:#3dsmax2012 #unity3d 4.1 #PhotoShop CS5
从事房产虚拟现实有几年了,在烘培和光影上有些心得,拿出来和大家分享下,促进行业的发展。
这里主要想接受怎么实现在unity3d LinnerSpace下HDR版LightMap的烘培,为了实现现在看到的效果走了好多弯路也查阅了许多资料,先看看最后能呈现的效果
上图为3dsMax渲染效果,未添加光泽效果
上图为Unity3d 最终的效果
上图为Unity3d 实时改变亮度和对比度——01
上图为Unity3d 实时改变亮度和对比度——02
上图为Unity3d 实时改变亮度和对比度——03
上图为Unity3d 实时改变亮度和对比度——04
上图为Unity3d 实时改变亮度和对比度——05
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
以下为具体流程,因为内容比较多,介绍最重要的几步,有问题可提问。
上图:先看图理解下为什么需要HDR才能实现真确的DiffuseMap×Lightmap。因为如果不使用HDR普通的图片最高亮度只能为1,所以在普通烘培贴图的时候超过1的全部被裁切到1.
上图:指定渲染器为Mental ray 渲染器
上图 :指定Gamma校正,Gamma校正是为了在Unit3yd 中使用线性空间渲染 (Linear Color Space)
上图: 指定烘培的图为.exr,指定为全浮点格式
上述几步设定正确后烘培出来的exr才是HDR版本。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
以下为Unity3d 中设置,以使烘培的LightMap能正确的显示
上图:设置颜色空间,Dircct3d 11 这个勾选因为自己使用到了Dircct3d 11的shader ,没使用可以不勾选
上图:将exr版的贴图的Texture Type 选为 Lightmap,必须选,不然不会转换为HDR(Unity3d 目前支持的最大亮度值为8)
上图:配合特殊Shader实现正确的现实。(原理和Unity3d 中自带的LightMap工作方式是一样的)
目前为止就能正确的实现HDR的LihgtMap。但是要想达到理想的效果Max中的模型制作和灯光测试,还有uinty3d最后的效果调节都需要用心制作才能达到好的效果。