≡
导航
搜索
教程
插件
模型
模板
博客
交易
朋友
Unity 3D 游戏引擎吧
已关注 | 取消
+关注
关注:
46
帖子:
451
签到
05月05日 尚未签到
看帖
图片
精品
视频
共有回帖数
0
个
【交流】【个人心得】简谈游戏场景灯光配置方案
只看楼主
收藏
回复
做月子
等级:
转眼从北京辞职回老家也一年多了,在游戏公司干了几年回来我们这样的小城镇还真不知道该做点什么,所以也一直没找工作,在家花了几个月时间研究了下Unity自己做了个小游戏,因为以前在公司是专为游戏场景制定和制作最后的照明方案的,现在和大家聊一下游戏的灯光配置方案吧,小的我才疏学浅有什么不对的地方还请各位大神轻拍砖,大家一起多多交流~~因为现在主要聊的是照明的一些思路和方案,所以不会有太多的技术性的东西,如果有需要,在之后的文章里我会写一些更多的技术贴!好了~磨磨唧唧半天还是进主题吧!
先说一下Unity自身的灯光吧,Unity有着不错的灯光系统和灯光类型(至于Unity的灯光怎么运用我在这里也不多说了,官方的帮助文档里写得很清楚,网上也有一些不错的文章),可以在制作游戏当中就实时的观察到各种效果,包括强度,颜色,阴影等都可以在制作过程中灵活的调整。当然这样实时的光照对于游戏来说实在是太奢侈了,特别是面对手机游戏的时候,所以我们往往选择的是配置好灯光然后烘焙灯光贴图,这样可以大大的节省游戏运行的计算量,通俗点说就是不会让游戏太卡!Unity自带的烘焙系统也很强大,专业版的Unity还可以运用GI,这样可以大大提高烘焙的效果,更神奇的是Unity还会自动帮你分好所有Mesh的第二套UV,并自动分配好各自的LightMap,还能直接烘焙出AO图,这样的功能真的可以说相当方便了!
但我个人觉得这样烘焙灯光贴图虽然相当方便,但也有很大的弊端。第一,Unity毕竟只是游戏引擎,它再怎么强大,可灯光系统也不会有专门的三维制作软件强大,比如说Max或者maya都有独立的灯光类型和一些插件的灯光类型,灯光的可调性也比Unity多很多,更别说可以运用各种高级渲染引擎把光照发挥到极致了。第二,Unity自动烘焙的灯光贴图通常是引擎自动分配的,什么东西在哪一张贴图上很不好控制,而且烘焙贴图的数量貌似也不能控制,这样对后期修改来说是很致命的,往往是要重新烘焙一次比如说加了一个区域灯。如果想在PS里手动修改其中一张灯光贴图,比如一个阴影的硬边或者锯齿,那你要找到这个物体在哪一张灯光贴图里的位置那就和大海捞针没什么区别了!但如果你用Max或Maya来烘焙灯光贴图不仅可以用高级渲染引擎,而且可以很好的控制物体所在的灯光贴图和灯光贴图数量,点对点的修改也是很方便的。第三,Unity烘焙的灯光贴图往往是不好修改和合成的,而用Max或Maya烘焙的图就可以灵活的烘焙出Color层,Shadow层,AO层等等,这样后期用PS,Nuke,AE等这些神器来调色、调整对比度、调整明暗等等来最终的合成,那是相当方便与快捷的,而且效果会好很多倍!稍微懂点影视后期合成的同学一看就知道~呵呵!~
所以呢我在制作灯光贴图的时候一般都是用Max或Maya来完成的,至于Unity的烘焙方法我记得看过官方的一遍文档写的已经很详细了,感兴趣的朋友可以自己去找一下,在Unity圣典里有中文版的(在此也对Unity盛典里的几位大神表示感谢!)。
好了,现在来聊一下给一个游戏场景设定灯光的方法吧!当模型组和地编把一个完整的场景交到你手上的时候,一开始你往往是感觉到无从下手,就拿我的一点实践简单的说一下个人的经验吧!首先要做的就是检查模型,这一步很重要,它不仅影响到后期的渲染计算量,还直接给程序那边带来压力,模型最容易出的问题就是没合点,或者各种导模型之后有些模型会出现双面,甚至是多个面重叠在一起,这个问题模型组的兄弟在建模的时候很容易疏忽大意,灯光组的朋友就相对容易发现一些了~最简单的方法就是打上简单的key light,给个白的材质球,然后渲染模型的360度旋转的动画,如果有闪面的地方那一定是有面重合的地方。尽量避免大面积的面重叠,双面叠加在一起就更该杜绝了(除非有特殊要求需要看到背面,但也要留一定的距离,不能直接勾选材质球的2-Sided),因为当你用高级渲染器(比如 finalRender ,Vray , MentRay等等….)这些渲染器使用二次光线反弹时,有重叠的面会成倍的增加渲染时间,更致命的是烘焙的的灯光贴图会有明显的黑边!
其次一个问题就是检查有没有模型是漂浮在空中的,这个问题地编组在大量布置场景的时候是会经常发生的问题,他们也很难发现这些小细节(特别是在加了一个月班的时候~嘿嘿~~),这个问题有了灯光也很好解决,只要打开阴影什么东西是漂浮的是很容易发现的!
发现这些问题要及时和模型组和地遍组沟通,及时修复这些问题,因为他们修改可能只需要半天时间,而你辛辛苦苦配置好灯光,再开高配渲染可能需要一两天时间,然后再发现这些问题,你又得重复一次,这时间真耗不起!~
在确定好模型方面没有问题了,就可以和艺术总监一起商量整个场景的风格、配色、光影……等等!然后快速的出几套简单的效果图Demo,一起来确定最后的方案。
室外的大场景一般是由自然光线构成,自然光具有各种各样的类型,并且它们之间区别非常之大。虽说自然光的光源都是太阳,但在不同时间和不同的天气情况下阳光表现出许多不同的特性,或软或硬、或冷或暖,使这种单一的光源变化出许多的形态,还有晚上的月光,这时更多的还有些人工照明。当然在一些奇幻的场景里灯光的颜色就和正常情况下有一定的区别了,为突出场景的奇幻性灯光的色彩一般会提高一些饱和度,让每一个区域的色彩对比更明显一些。
室内的场景,比如说宫殿、房屋内、山洞等,这些场景为了突出各自的特色更多的就是人工光照明了,这时一个灯光师的经验就很重要了,多看一些优秀的CG作品和观察现实当中夜晚灯光的一些细节会让你有更多的灵感!最好做到在没有打灯前你大脑里就已经有整个场景在丰富灯光下的景象,在布置灯光时也是从整体到细节,一步步到最终理想的画面。室内灯光一般比较多,建议同类灯光用关联复制这样修改起来是相当方便的!
室内光线与室外光线有很多性质上的不同,最大的不同是室内光线总是伴随着光线强度与发散距离成反比的现象,简单说就是所有人造光线都会有光线强度逐渐减弱的现象。人类掌控之下的光源还有另一个特殊之处,那就是它们总是为了满足人们的某种目的和需要服务的,这也是一个游戏灯光师必须做到的,我们要为这个游戏场景打出漂亮而且还符合游戏故事背景的绚丽灯光,烘托出这个场景的特定氛围!
在游戏里还有一种特殊的光照,那就是功能性光照,比如说一条路的指引、传送点的亮光或者一棵很奇异的树的自发光…等等。
在使用Max或Maya进行渲染时,如果打开了二次反弹和GI,渲染引擎对光线进行追踪计算,它能产生最准确的照明结果,但需要花费较长的渲染时间。此时可以理解为渲染器把光能看做是一种辐射,根据物体表面颜色的不同,照射到该物体表面的光线要么被反射,要么被吸收。白色的物体会均等的反射所有波长的光波,而黑色物体则会把所有光波都吸收掉。当白色的光线照射到红色的物体表面时,蓝色和绿色的光波被吸收,而红色则被反射回来。所以,当白色的光线照射到红色的物体表面时,被反射的是红色光波,而这些光子在行进路线中碰到另一个物体表面时,便会将红色的光线照射到这个物体表面上。这种现象就是光的辐射,它的存在使邻近物体的颜色发生相互作用。这也是非常美妙的,它让整个场景看上去更加充满了真实感。如果这些细节都交给美工去做那是非常复杂与繁重的工作,而光线天生就是一个绘画家它把各种色彩表现得更加生动,也在细节上精益求精!这使得我们的美工同学省去了很多时间,美工只需要绘制一个模型的基本固有色和简单阴影,其他的都可以交给灯光组来优化它!Max在使用高级渲染引擎时,可以更好的控制光线对物体的影响,包括光线在反射时对物体颜色的相互作用、阴影的强度和颜色等等~这些都可以很容易的在渲染设置里调节!这样比在Unity里设置灯光就更加的灵活与方便!
楼主 2015-07-17 10:15
回复
共有回帖数
0
个
回 帖
表情
图片
视频
欢迎来到本吧,您可以在此发帖和众多大咖交流学习.
选择或直接输入昵称
Tips:支持QQ截图直接粘贴
发表
登录直线网账号
自动登录
忘记密码
免费注册
本吧信息
查看详情
吧主:
mygameplay
本吧公告
优秀文章 【交流】Unity 脚本入门 个人经验及常用方法块 http://www.linecg.com/tieba/content_4292.html 大家可以看一下
我常逛的吧
我管理的吧
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈
|
关于直线
|
版权声明
|
会员须知