拍摄过程如下:将相机放在三角架上。白平衡设置为一样的,不要使用auto,否则会增加后期处理的麻烦。对准环绕一周的光线比较适中的地方测光,记下测光参数后调整到M档,使用刚才记录的参数拍摄。
另,尽量少使用广角端。一般35mm以上的焦距都没问题,大不了多转多照几张。
后期使用Ulead Cool360,傻瓜式的全景图拼接软件,很简单,效果也很好。重新编译UnrealLightmass。
切换到Developmenteditor模式下,编译,然后再重新编译UnrealLightmass,之后可以测试下,不管是DebugEditor还是DevelopmentEditor构建灯光均不存在问题。
在DebugEditor模式下构建提示光照构建失败,网上各种搜解决方式,试了一大圈,什么仅构建灯光、重新编译UnrealLightmass、设置Swarm等等,统统没用,始终找到没有解决方法。有时候灵感就是来自那么一瞬间,就是这么神奇。突然脑海中感觉到debug会不会对灯光做了处理呢,然后就切换到DevelopmentEditor模式下编译并构建,提示构建成功,接下来又切换回debugEditor构建,成功了。
先看看本案例的部分效果截图:
本文姐以一个办公场地为例,和童鞋们再次讨论Unity3d室内场景的灯光布设、光影烘焙和后处理,希望对初学者有所帮助,本例的3dmax场景如下两图所示,其中第二张图为从后面观察的截图。这个场景的模型面数原本为90多万,面线纵横交错,彷如蜘蛛网,为了优化场景和方便图解,姐用3dmax最优化低面数精简单面建模方法重构了这个场景,由下图左上角的统计信息可见,面数缩减到了215万。无论使用Unity3d,还是UE4,或者CE等其他引擎,3d模型都必须用尽可能少的面数来构建,否则后期的光影烘焙和实时运行会遇到灾难性的卡顿,这是姐反复强调的话题了,相信一些童鞋已经感同身受,但是还有一些童鞋硬着头皮往前冲,继续沿用效果图和动画的建模方法构建场景,最后一定会因模型面数太高绊倒在光影烘焙和作品实时运行这个坎上。因此对于VR和游戏场景,模型师一定要采用最优化低面数精简的单面建模方法来构建,无论使用3dmax、maya、C4D、Blender、Sketchup、Modo,还是其他3D建模软件,都应力求降低模型面数。需要说明的是,若在阅读本文过程中有什么疑问,可V询(qtpl_wx)姐,也可去淘姐的Unity模型预处理布光烘焙后处理特效美工场景优化实战教程。
由上面两图可见,姐重构的场景,拓扑布线简洁平整,看上去很舒服,而且编辑 *** 作流畅无卡顿。
1 场景结构解析
为了便于童鞋们对本例后续的理解,姐先对这个场景的构造作一详解。由上面两图可以看到,这个场景是一个办公场所,从下到上分别由-1层(地下室)、1层、2层三部分组成,为方便观察,姐将这三层拉开如下图所示。有童鞋可能会认为这三层都无屋顶,其实不然,因为姐是用单面建模构造的场景,这个场景主要表现室内,所以屋顶的正面朝下,从上面看到的是屋顶的背面,所以看上去似乎是镂空的,这是单面建模的特点,面的背面都是镂空的,而当我们从室内观察的时候,屋顶是可见的,如下面第二张图所示。
三层之间是通过楼梯间贯通的,如下图所示,为了让大家看清关系,姐将楼梯间水平向外移动了,并且楼梯间有玻璃幕墙,用来采光。
这个场景乍一看很复杂,仔细的童鞋会发现1、2层大致是左右对称的,如下图所示,这样以来,对于1、2层,我们只需搞清下面第二张图红线部分即可。
下面我们就先来看二层右半部分,室内陈设如下两图所示,其中有沙发、茶几、装饰品、挂画、饮水机、资料柜、椅子、接待台、转角办公桌椅、集中办公桌椅、打印机、复印机、台式电脑、笔记本电脑、货架、饮水杯、台灯、洗脸盆、马桶、书柜、玻璃隔断等。
二层右半部分的功能分区如下图所示,楼梯间右半部分有接待区、大办公区、两个小办公区、会客室、走廊、卫生间等。
通过以上的图解,相信大家对二层右半部分的结构就搞清楚了,与此同时,整个二层结构(如下图所示)也就都明白了。
二层结构搞清楚之后,我们再来看一层(如下图所示),由下图可见,一层与二层相比只是家具布局不同,建筑结构完全相同。
接下来我们再看看-1层,如下图所示,这一层比较简单,一目了然,没有窗户,采光主要依赖于屋顶的格栅灯。
楼梯间与地下室、一层、二层的联结关系如下三图所示,从图中大家可以看到这三层的墙体都有踢脚线和阴角线。
通过以上的图解,大家应该对这个场景的结构有了详细的了解,同时大家也可以看到最优化低面数精简单面建模方法构造的场景边面简洁平整,编辑 *** 作清晰流畅,可大幅度降低模型面数的优势。
2 模型阶段预处理
姐在别的文章中反复强调,用于VR和游戏的模型,无论你是用3dmax、maya、C4D、Sketchup、Rhino、lightwave、softimage、
blender还是modo等其它软件建模,都必须采用最优化的低面数精简单面建模方法构造场景来大幅降低模型面数,以保证Unity3d中场景烘焙的速度和质量及最终作品的实时运行流畅,同时在模型构建完成后,还应针对模型、材质、贴图、灯光、视锥剔除、遮挡剔除、LOD、和碰撞物进行优化预处理,以免场景导入Unity3d后才发现需要返回建模软件进行前置处理而白白浪费时间。
VR和游戏开发是一项多人协同的作业,建模师虽然不参与美工和程序,但也必须了解这两个阶段对模型阶段要求,除了采用最优化的低面数精简单面建模方法构造场景外,建模师还应了解一些优化预处理的知识点,下面姐对这方面的知识点作一详解。
⑴ 建模方法的优化
很多刚刚接触Unity3d的童鞋,一直沿用以前做效果图和动画的建模方法,也就是习惯用建模软件提供的标准几何体堆砌场景,或者用二维线拉伸、旋转、放样等构件场景物体,并不间断地使用一些布尔运算开洞,这样的建模方法构造的物体面数非常多,模型自交严重,很多面都是无用的,Unity3d甚至UE4、Cryegine、寒霜等所有引擎,都强烈建议使用最优化的低面数精简单面建模方法来构建场景,简单地说,就使用最少的面数来构建场景,因为模型面数是造成卡机的最大祸首,有的童鞋很偏执,就是不改陋习,非要用自己习惯的方法建模,那没问题,往前走几步,必然卡顿在超高的模型面数上。建模方法不同,构建的同一物体的面数千差万别,因为游戏和VR引擎的场景是实施运行的,不像效果图和动画一样,最终只渲染成静帧或序列,从建模开始,就不注意控制模型面数,会导致后续的很多处理很难推进。最优化低面数精简单面建模,就是用简单的poly,通过切分面线,然后推拉构造物体,有效避免了模型自交,还可大幅度降低模型面数,所以建议大家使用姐推荐的方法来构建场景,上面大家看到的案例场景,就是姐自己构建的,面线平整简洁,面数很低。
⑵ 模型拓扑布线优化预处理
在前面的图示中,大家一定看到如下图所示的物体,我们不妨将它单独移出来,一定有人会问,姐为什么要这样建模呢?这就是所谓的拓扑布线问题,也就是物体上的边线布设问题。一般情况下,物体(poly)的布线应根据物体的造型、材质、贴图、形变以及拆分UV2的需要来布设,同时这些边线的布设决定着模型面数的多少,不合理的布线会使模型的面数急剧上升。
有了解单面建模的童鞋存在很多疑问,觉得单面建模就是尽可能减少模型面数,一些模型的某些面上明明不需要边线,却发现某些面反而布设了边线,这正是物体的布线要根据物体的造型、材质、贴图、形变以及拆分UV2的需要来布设的原因。下面我们先来说说根据物体造型需要的布线(也就是可编辑多边形的边面切分或分割),因为上图那个位置有个窗户,我们需要在那个位置开个窗洞,一般情况下,按照最优化低面数精简单面建模的方法,先构造一个和窗户墙等大的几何体(如下第一张图所示),然后将需要开洞的面的上下和左右边分别布两条线(也就是连接两条线或者分割两条线),形成如下第二张图所示的网格面。
接下来选择中心的面(如下第一张图红色部分所示)删除,形成下面第二张图所示的洞口,同理,在背面也开一个这样的洞口,然后将两个洞口的边缘线桥接,形成第三张图所示的窗户洞。
一些用过单面建模的童鞋认为这个窗洞就开好了,但是,姐认为,这里还需要对布线作进一步优化。原因是上面的方法将窗户墙的前面分割成了8个面(如下图所示),不仅如此,背面也被分割成了8个面,同时,还给每条外边线各增加了两个节点,把每个外边线分割成了三段,导入Unity后,顶面会因前后面各增加的两个节点,自动连接节点生成如下第二张图的6个三角面,底面和两个侧面也会各生成6个三角面,这个窗户墙会变成64个面,unity3d的模型面是按三角面处理的,也就是3dmax中的四边面到了u3d中,会自动连接每个四边面的对角线转换成三角面的,上面的64个面,就是64个三角面,64个面是怎么来的呢,前后墙面各8个四边面,就是16,窗洞4个四边侧面,加起来就是20个四边面,自动转换成三角面就是40个,窗户墙顶面、底面、左右侧面各自会自动变成6个三角面,这样又有24个三角面,40个三角面+24三角面,总共64个三角面。
如果对布线进行一些优化,即将下图中2、3节点与节点1焊合(或叫合并),5、6节点与节点4焊合,7、8节点与节点6焊合,10、11节点与节点9焊合,形成如下第二张图所示的布线,窗户墙的前面就只被分割成了4个四边面,同时也不会分割相邻面的边,这样以来,整个窗户墙(前后各4个四边面,顶底和左右两侧4个四边面、窗户洞4个四边面)总共16个四边面,导入u3d自动转换成32个三角面,这与前面的布线方法相差一半,有的童鞋说,相差一半关系不大,1和2相差一半,没什么区别,大家可别忘了,一个场景50万面和100万面,200万面和400万面区别可就大了。
如果不优化拓扑布线,这样的物体被大量复制,模型面数会急剧成倍上升,姐这个例子比较简单,如果造型复杂,不优化拓扑布线,可不就是2倍的关系了,这也就是这个场景中姐使用这种布线的原因。
下面用图示比较一下同一个物体在3dmax中不同布线之后四边面和顶点区别以及导入Unity3d之后转换为三角面和顶点的情况,如下面两图所示。
从上面的图示可见,不同的拓扑布线,模型的面数和顶点数是不一样的,有童鞋会问,为什么要强调模型的顶点数呢?因为模型的面是由线构成的,线是由顶点构成的,与其说模型的面数太多造成的卡顿,不如说是由顶点太多造成的,有童鞋肯定不服,那我们就在自己熟悉的建模软件中通过修改段数构造一个上千万个面的茶壶,然后将所有面全部删除,只留下顶点,我们会发现,即使没有模型面,顶点太多一样很卡的,也就是说真正的卡机其实就是由顶点引起的,所以在建模的时候,既要控制面数,也要控制顶点数,姐用斜向布线就是让多个三角面或四边面共享顶点,以控制顶点的数量,下图所示的物体,如果用实体建模,顶点和面数会过千,姐只用了几十个面和顶点。
有的童鞋对姐推荐的最优化低面数精简单面建模不以为然,也不服气,来,姐给你一些图震撼一下,请看下面的图。(非常抱歉,由于这里的文章有字数限制,导致本文无法完整展现,因此您可去CSDN博客阅读姐的完整同名文章)
定向光细节中的层叠阴影贴图设置动态阴影距离可移动:这是阴影将覆盖到的距离镜头的距离。值 0 将禁用此设置。
动态阴影距离静止:这是阴影将覆盖到的与镜头的距离。默认情况下,针对定向静止光,该选项设置为 0
动态阴影层叠数:这是视锥体将拆分成的层叠数。层叠越多,阴影分辨率越高,但也会显著增加渲染成本。
《虚幻4引擎》是由Epic Games公司推出的一款游戏开发引擎,相比其他引擎,虚幻引擎不仅高效、全能,还能直接预览开发效果,赋予了开发商更强的能力。虚幻引擎4在大约2分半的Demo演示中,将其强大的功能发挥得淋漓尽致。与之相关的游戏有《连线》《绝地求生:刺激战场》等等。提升视觉效果。
使场景变得立体、真实、生动、富有层次,在UE4里灯光更是起着锦上添花,往往用来表现太阳光,直射光对场景中所有物件都起作用。在物体上赋予亮面、暗面及投影。没有任何光源的场景是漆黑一片的,把直射光拖入场景之后,场景就有了最初的亮暗面和投影所有灯光及物体的参数和属性都在“细节”这个地方去调整所有灯光及物体的参数和属性都在“细节”这个地方去调整适合用来表现核爆或者强弱光反差较强的效果。拖入ue4自带的天空与预设Bp_sky,选中一个光源作为天空的光线。这样会出现一个黄昏或者白天的效果,可以旋转光线方向改变天空昏暗和明亮。
在天空球细节面板中有一个cloud number of通过调节这个参数可以改变天空中云朵的数量,也可以调节对应的下面几个参数可以改变天空中云朵的运动速度。如果需要体积的云朵也可以使用高指数的雾来进行制作。
本文大部分内容来自Youtube ,Ben Cloward 的频道
Texture Compression and Settings - UE4 Materials 101 - Episode 9
1纹理采样应设置为 :共享:包裹(shared warp)
2导入的纹理大小必须是2次幂,非二次幂的纹理将无法压缩,会大幅增加系统开销
3对于采用遮罩(mask)方式的纹理,应取消 sRGB 勾选。
例如RMO(粗糙度,金属度,环境遮罩),应将纹理压缩设置为遮罩(mask)。
4使用静态光照
5压缩方式及效率:
DXT1 压缩率最高,可压缩至原尺寸的8分之一
RGBA四个通道中,Alpha压缩率最小,如果比较重要的纹理,可以单独放在Alpha通道中使用,
视频作者将粗糙度贴图放在Alpha通道
不需要使用Alpha通道的贴图,应勾选 无透明度压缩 ,在压缩方式不变的情况下,可以降低一半的大小。
51以下图为例,一张256×256的鹅卵石灰度贴图,大小为43Kb,该图为单通道。
采用 Mask 方式压缩,其边缘轮廓模糊不清,有锯齿状。
在这种情况下,可以采用 灰阶(Grayscale) 的方式压缩,
由43KB提高为85KB,但效果明显。
6贴图中的材质 压缩设置 ,应与贴图编辑器中的 采样器类型 设置一致
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)