unity的平行光有什么办法可以只照射一些区域 unity怎么调整平行光的方向

3dmax\u600e\u4e48\u7528\u7f29\u653e\u529f\u80fd\u8c03\u8282\u81ea\u7531\u5e73\u884c\u5149\u7684\u7167\u5c04\u533a\u57df

\u7167\u5c04\u533a\u57df\u4e0d\u662f\u6709\u53c2\u6570\u53ef\u4ee5\u8c03\u8282\u7684\u561b\uff0c\u5e72\u561b\u975e\u8981\u7f29\u653e\u5462
\u81ea\u5df1\u53bb\u8c03\u8282\u53c2\u6570\u5c31\u53ef\u4ee5\u4e86

\u9009\u62e9\u5e73\u884c\u706f\u5149,\u6309E,\u7136\u540e\u6839\u636e\u865a\u7ebf\u65cb\u8f6c\u5c31\u53ef\u4ee5\u4e86,\u8fd9\u4e2a\u548cmax\u91cc\u5dee\u4e0d\u591a

给想照射的物体填加layer区分,然后用culling mask选中.

这样,除了添加的layer,其他的都照射不到了



试一下改变光照方向;或者使用阴天效果。。。
---------------------------------------Unity5实用教程:光照技术的使用技巧
unity5中的光照主要分6个部分来讲解。

Forward(前向)与Deferred(延迟)渲染Realtime(实时)与Baked(烘焙)光照引擎的光照工具光照场景性能技巧后期处理

上述的大部分对于Unity制作的内容都是适用的,并不局限于虚拟现实应用。这是非常高级的内容介绍,需要读者具备基础的图形和光照的概念。下面开始吧!

前向与延迟渲染通道

如果心怀疑虑,请使用前向渲染通道。前向渲染通道对VR应用来说很理想,有以下几点原因。前向渲染在前期的性能开销较低,DrawCall较少更宜在CPU运行,在移动VR设备上也同样运行的很好,它还支持抗锯齿和半透明材质。以下是能帮助你决定应用适用渲染管线的简单指南。

延迟渲染

延迟渲染前期的性能开销很大,但它是一个固定的性能开销,添加再多的几何体和灯光也不会产生过多的额外开销。你有几百个实时灯光?那就使用延迟光照吧。延迟光照的开销是与灯光照亮的像素数量成正比的。场景复杂度(灯光照亮的物体数量)并不会影响性能。旁注:UE4 只有延迟渲染管线,这就是UE4制作的Demo在较老的PC上运行缓慢的一个原因。

优点

延迟渲染最适用于包含大量小体积实时灯光的场景。

每个光照都可以当作一个逐像素灯光来渲染,以便在法线和深度贴图中可以精确着色。

每个光照都有一个实时阴影。

权衡

延迟渲染器无法渲染半透明材质。你需要为半透明材质添加一个额外的前向通道。

平行光在延迟渲染器中开销很大。它们影响整个场景,且光照体积无限大。

产生大量Draw Call(场景中每个物体产生的两个Draw Call乘以每个灯光产生的两个Draw Call。)

不能抗锯齿(这对于VR非常不利,因为VR极度依赖MSAA来减少闪烁和忽隐忽现的线)。

前向渲染

前向渲染的前期固定开销较小,因而最适合复杂度较低的场景,但其性能开销与场景复杂度成正比。如果你的场景中只有一对实时灯光,那就使用前向渲染吧。前向渲染器的成本与场景中灯光的数目成正比。像素灯越少则性能越高。

权衡

在每个渲染通道中,每个被像素灯光照到的对象都会被渲染。如果一个对象被10盏不同的灯光照亮,那它将被渲染十次(每个光照通道一次)。这就是前向渲染通道中被灯光照亮的物体越少越好的原因。

从设计上限制灯光数量。

基本通道用实时阴影渲染一个方向光,并用额外的通道来渲染其余的灯光。然而,这些额外的灯光不会有阴影。

像素光照数量有限,其余的都是顶点光照。和逐像素光照对象相比,顶点光照提供的效果较简单。

好处

Draw Call较少。每次像素光照射到物体,就会产生一次Draw Call。最坏的绘制调用计数情况是(场景中对象数量*照射到对象的像素光数量)。有很多降低Draw Call的方法(批处理等)锯齿(8XMSAA,非常适合VR)支持半透明材质如果你的目标平台是移动端(如GearVR),使用前向渲染通道,限制像素光数量为1~2个

当在前向和延迟渲染间犹豫不决时,别忘了我们这里只讨论实时灯光。场景中有多少烘焙光照都是可以的。烘焙光照贴图,并在运行之前禁用它们。运行时渲染器只会考虑场景中的实时灯光。

实时和烘焙光照

如果你在乎阴影的真实,那就烘焙灯光。硬阴影或者软阴影在一些情况下已足够,但在很多情况下仍不能接受。(比如桌子上的点光源)。在实时光照下,你可以在地面上看到块状阴影。在烘焙光照下,你看见的是一个柔和的,散布在桌下的阴影。实时灯光只在光照有变化(颜色,位置等等)的情况下是必要的。烘焙光照和阴影不会随着实时移动的对象而改变,但可以用小技巧来弥补。(见下面的“光照探针”)。

提高烘焙光照贴图质量

在烘焙时,你可以通过增大烘焙分辨率滑动条(合理的纹理像素分辨率是40~100)来提高光照贴图质量。启用环境光遮蔽(Ambient Occlusion)和最终聚集(Final Gather)。在烘焙之前,检查工程的Quality 和Player 设置。在Quality选项卡中,使用高分辨率的硬阴影和软阴影。在Player选项卡中,选择延迟渲染器。在烘焙前禁用GI预计算。即使使用质量较低的阴影,在运行时采用前向渲染,采用这些设置会使烘焙期间效果达到最好。你可以在烘焙完成后切回前向渲染或低图形质量。

引擎灯光工具

区域光源

可以改变位置和旋转。必须烘焙。注意:镜面反射显示在表面的单一区域,与该区域光的大小和形状无关。用于窗口和盒状的灯光(壁顶灯或灯管)。

点光源

可以调整位置,但旋转无效。一个光秃秃的灯泡,会向各个方向散射光线。用于普通的灯泡环境。

聚光灯

可以设置位置和旋转。用于手电筒,泛光灯,和天花板灯等。

方向光

位置无关紧要,但可以旋转。灯光影响整个场景(但可以被屋顶遮挡,这与环境光不同)使用方向光模拟户外太阳或者月亮光,或者创建一个室外灯光通过天窗来照亮室内场景。方向光非常粗糙,产生的阴影也是生硬的。

环境光

会微微照亮整个场景(颜色可选)这意味着即使未被照亮的区域也会有一丝光线如果希望未照亮区域完全不可见,就要禁用环境光。使用环境光来改变场景氛围。

全局光照

全局光照是为了实现更具有真实感的场景而计算来自直接光照的简单反射光和阴影。实时全局光照支持改变场景灯光,比如改变灯光颜色,移动直射的太阳光,从白天过渡到黑夜等等。为了提高实时全局光照的质量,增加预计算的分辨率。

光照探针

如果使用烘焙光照,那动态对象就不会有精确的阴影和光照信息。它们看起来很呆滞。使用Light Probes来添加真实感光照,阴影并为动态物体着色。它是预计算的光照信息卷积,可以作用于移入和移出此区域的物体,以较小的代价模拟实时光照。

光照探针用球面调和(SH)模型来存储光照信息。前向渲染器的基本通道渲染像素灯光和所有的SH灯光。这样一来,每个光照探针的CPU开销很小,也不会产生GPU开销。点此了解更多内容。

反射探针

对于镜子或镜面屏这样的反射表面,你需要在此表面上看到周围物体的倒影。这可以用一个反射探针简单的实现。可惜目前只能是立方体形状,最适用于立体房间。对于有动态对象的场景,你可以使用实时反射探针。对于静态场景(或为了降低性能开销),可以使用烘焙反射探针。

反射探针使用长方体投影精确模拟诸如大理石地板上的窗户倒影。立方体本身不会精准反射,而长方体的反射贴图可以解决这个问题。自定义立方贴图可以做更加逼真的“波浪”反射(例如在大理石地板上)。

自发光光照

在一个有灯罩的台灯场景中,灯罩上必须有自发光纹理。它将使灯罩显得明亮,对周围环境有柔和的光照。在里面还需放置一个点光源,使得台灯顶部和底部都能发出更清晰更明亮的光。这些光应该会被灯罩遮挡,因此这些光将会以双重锥体形状从灯罩中射出。区域光会有更好的阴影,但自发光贴图有成形的光(并因此产生有形状的反射)

照明场景

天花板灯光(管状或盒状灯)

可以利用标准着色器的自发光属性来实现带状和盒状灯精确而柔和的灯光。你可以使用区域光或自发光材质,或两者结合。天花板上的灯管可能在你直视它的时候发出明亮的光。在管状灯的各个灯管上使用自发光材质。用区域光来实现管状灯实际产生的灯光,实现带有更好的半影效果的阴影。

窗户

对场景的曝光控制和有限的眼睛动态范围,意味着在远离窗口时,室内应正确曝光,但窗口应该被表现出来,展现出明亮的光线和柔和的阴影。这可以通过HDR到LDR色调贴图来实现。当玩家从黑暗的室内移动到明亮的室外场景时,场景的曝光也会随之改变。

使用彩色纹理的窗户(例如:教堂的窗户)可以使用Cookie在地板上投射图案,但Cookie是没有颜色数据的灰度Alpha通道。这很棘手,需要一些黑科技

阴天

在一个阴天的户外场景,直射的“太阳”在通过云层时散射后产生的光线比较柔和。方向光可能不适合,因为它们产生的阴影非常生硬。可以考虑使用浅灰色的环境光,和充满乌云的天空盒立体贴图以及点光源来营造阴郁的光线和阴影。

云隙光

云隙光也被称为阳光光束或灯光轴,这在VR中效果很好,尤其是结合浮尘粒子。它的计算量很大,但Robert Cupisz正致力于实现一个轻量的灯光轴。unity的Asset store上有很多解决方案,但我还没有试过,所以这里没什么建议。

提高性能

以下是一些提高性能的技巧:

降低眼睛的渲染目标纹理分辨率。这是提升性能最简单,最直接的方式。烘焙光照贴图可以搞定一切?几何体、灯光,和材质越多,会导致烘焙时间越长。将场景划分为多个层次,并分别加载它们。这能大大减少加载所需资源而占用的内存量,移动平台的内存限制非常关键。使用前向渲染?尽量少用像素光。这可以在项目的Quality设置菜单进行更改。实时光照开销很大。尽可能多使用烘焙光照并在运行之前禁用它们。光照探针(球面谐和灯)的CPU开销很小,且没有GPU的开销。这是预先计算和模拟实时阴影的简便办法,而无需使用实时灯光。

旁注:VR中的灯光闪烁?

如果你的灯光在一只眼中闪烁(VR的左、右镜头),Unity会剔除灯光。我认为这是一个Bug。解决方法:将灯光标记为重要,这样引擎就不会禁用它了。记住,你也可以根据需求用代码来启用或禁用场景中的灯光,这样就能完全控制。

后期处理和关卡设计

设计真实感的光照时,场景的对比度要很高:明亮的区域,正确的阴影,以及黑暗的区域。不要照亮整个场景(例如环境光),否则将出现面片和游戏那样不真实的场景。

破坏阴影(即让阴影区域更加黑暗,几乎没有任何细节)是比较理想的现实。可以避免那种扁平的效果。

同样,要小心强光使一些区域过度曝光。

查找纹理(LUTS)

左:中性 右:标准 “平衡对比度”纹理可以通过PhotoShop添加色调与色彩校正,修改阴影,曝光一些区域,并应用PS校正场景的每一帧。用一个非常简单的LUT来彻底改变一个沉闷的场景,使其有完全不同的氛围

这是一个快速简单的后期处理技术,可以带来截然不同的效果。

  • Unity骞宠鍏涓浠涔鍙妯″瀷鎷夎繎鎵嶈兘鐪嬭闃村奖
    绛旓細鍥犱负瀹炴椂闃村奖闇瑕佸ぇ閲忕殑璁$畻寮閿锛屾墍浠ヤ細杩囨护鎺夎窛绂昏緝杩滅殑鐗╀綋鐨勯槾褰便備綘鍙互鍦╬roject settings閲岀殑璐ㄩ噺璁剧疆閲屾潵璁剧疆鏄剧ず瀹炴椂闃村奖鐨勮窛绂
  • unity娌℃湁鐏厜瀵艰埅瑙嗗浘鍚
    绛旓細鏈夌伅鍏夊鑸鍥俱傛牴鎹煡璇㈣闂綉鐩稿叧淇℃伅寰楃煡涓嶆敮鎸乵ax閲岀殑鐏厜绯荤粺锛岃鍦unity閲岄噸鏂板垱寤虹伅鍏夛紝unity鎬诲叡鏈夊洓绉嶇伅鍏夌被鍨嬶紝鍦℉ierarchy闈㈡澘鐐笴reate鍒涘缓锛孌irectionalLight鏄骞宠鍏锛孭ointLight鏄偣鍏夋簮锛孲potLight鏄仛鍏夌伅锛孉reaLight鏄尯鍩熷厜锛屽厜婧愬睘鎬ч兘鏄湪Inspector闈㈡澘璁剧疆銆傚厜婧愪篃鏄睘浜庢父鎴忓璞★紝鍙互鍜屽叾瀹冩父鎴...
  • 閫氬父鐢浠涔鍏夋簮鏉ユā鎷熸墜鐢电瓛鍙戝嚭鐨勫厜绾
    绛旓細鏈変互涓嬪洓绉嶇被鍨嬶細1銆丏irectional Light锛骞宠鍏锛夊钩琛屽厜閫氬父鏄敤鏉ュ仛闃冲厜鐨勶紝unity鐨榛樿鍦ㄥ満鏅噷鏀剧疆骞宠鍏夈傚钩琛屽厜涓嶄細琛板噺锛岃皟鏁村钩琛屽厜鐨勪綅缃槸鏃犳晥鐨勶紝鍙兘璋冩暣瀹冪殑瑙掑害銆2銆丳oint Light锛堢偣鍏夋簮锛夌偣鍏夋簮妯℃嫙涓涓皬鐏场鍚戝洓鍛ㄥ彂鍑哄厜绾跨殑鏁堟灉锛岀偣鍏夋簮鍦ㄥ叾鐓т寒鑼冨洿鍐呴殢璺濈澧炲姞鑰屼寒搴﹁“鍑忋傛垜浠鍙互闅忔剰...
  • unity鎬庝箞鍒朵綔妯″瀷娴佸厜鐗规晥
    绛旓細max閲岀殑寰堝鏉愯川鍦╱nity3d閮戒笉鑳借〃鐜板嚭鏉ョ殑锛岄渶瑕佸湪unity3d涓鍐嶅鏉愯川杩涜璁剧疆锛岃屼笖濡傛灉浣犵敤鐨剉ary杩欎簺娓叉煋鍣ㄥ氨鏇翠笉鑳芥覆鏌撳嚭鏉ヤ簡銆備笉鏀寔max 閲岀殑鐏厜绯荤粺锛屼綘瑕佸湪unity閲岄噸鏂板垱寤虹伅鍏夛紝unity鎬诲叡鏈夊洓绉嶇伅鍏夌被鍨嬶紝鍏跺疄鍜宮ax閲岀殑宸笉澶氱殑锛屽湪Hierarchy闈㈡澘鐐笴reate鍒涘缓锛孌irectional Light鏄骞宠鍏锛孭oint ...
  • Directional light涓烘瘺鎬庝箞寮勯兘涓嶅嚭闃村奖鍟
    绛旓細璺熸樉鍗′篃鏈夊叧绯伙紝鎴戝嚑骞村墠鐨勭牬鐢佃剳闆嗘樉锛岀牬瑙g増閮芥病闃村奖銆傛崲浜嗕釜鐙樉灏辫浜嗐備笉杩囨病闃村奖鐑樺煿涔熸槸鑳界儤涓婂奖瀛愮殑銆傞変腑鍦烘櫙涓殑鐏厜object锛屽湪inspector閲岃竟鏈変釜褰卞瓙绫诲瀷 鐪嬫槸涓嶆槸閫変簡 Directional light鐏厜閲岄潰鏈変釜shadow Type灞炴ц兘璋冮槾褰 鏄笉鏄unity 3d 涓殑骞宠鍏锛屽闈㈢墖鏍戜笉鑳戒骇鐢熼槾褰卞憿锛 鎴戞槰澶...
  • unity3d涓鍥涚鍏夋簮鏈変粈涔鍖哄埆
    绛旓細浠庝簨5骞Unity娓告垙寮鍙戯紝鐜颁换Unity璁插笀鐨勬垜浠庢垜鐨勬暀瀛﹀ぇ绾蹭腑鎽樻妱涓浜涚煡璇嗭紝甯屾湜鍙互甯姪浣犮傚畾鍚戝厜婧(DIRECTIONALLIGHTS)瀹氬悜鍏夆濋潪甯搁傚悎鐢ㄦ潵妯℃嫙闃冲厜锛屽畠鐨勭壒鎬у氨鍍忔槸涓お闃筹紝瀹氬悜鍏夎兘浠庢棤闄愯繙鐨勮窛绂绘姇灏勫厜婧愬埌鍦烘櫙锛屼粠瀹氬悜鍏夊彂鍑烘潵鐨勫厜绾鏄簰鐩骞宠鐨勶紝涔熶笉浼氬儚鍏朵粬绉嶅厜婧愪細鍒嗗矓锛岀粨鏋滃氨鏄笉绠″璞$瀹氬悜鍏夋簮...
  • unity 5.0鎬庝箞灏嗛粯璁ゅぉ绌虹洅瀛愪慨鏀规垚澶滄櫄
    绛旓細鎶婂ぉ绌虹洅瀛愮殑绾圭悊鎹㈡垚澶滄櫄鐨勫浘鐗囷紝鐒跺悗璋冩暣鏂瑰悜鍏夌殑浜害灏辫浜
  • unity璁剧疆鐨勫厜婧愬お澶氬緢鍗℃庝箞鍔
    绛旓細鎶奷irectional鐨勫己搴(intensity)璋冧綆锛屾垨鑰呭湪寤轰竴涓厜婧愶紝鐐瑰厜婧浠涔鐨勯兘琛岋紝鏀鹃槾褰变笂闈㈠氨琛屼簡
  • 涓浠涔圲nity Scene鐣岄潰鏄繖绉嶆殫榛勮壊,鐗╀綋鏄粦鑹?鎬庝箞瑙e喅?
    绛旓細宸︿笂鐨勪竴琛屼笂闈㈡湁涓涓槸window鐨勪竴鏍忥紝鎵撳紑鎵惧埌lighting杩欎竴涓紝鍦╯cene杩欎竴鏍忓張skybox鐨勯夐」 鎵惧埌default-skybox鏇挎崲涓婂幓灏辫浜 杩樻湁绉嶅彲鑳藉氨鏄垜鐪嬩綘鐨勫満鏅噷闈㈡病鏈夊厜婧恉irectional light 浣犺瘯涓嬪湪hierarchy鐣岄潰涓婂彸閿甽ight---directional light 鍔犱笂骞宠鍏夋簮锛屼綘鐨勫ぉ绌虹洅灏卞嚭鏉ヤ簡 ...
  • Unity璁剧疆Rending Path 杩欎釜鐜板湪鏈変笁绉嶅彲閫,Forward.Vertex Lit._鐧惧害...
    绛旓細Forward Rendering 姝e悜娓叉煋锛氭鍚戞覆鏌撲竴涓熀浜庣潃鑹插櫒鐨勬覆鏌撹矾寰勩傚畠鏀寔閫愬儚绱犺绠楀厜鐓э紙鍖呮嫭娉曠嚎璐村浘鍜岀伅鍏塁ookies锛夊拰鏉ヨ嚜涓涓骞宠鍏鐨勫疄鏃堕槾褰便傚湪榛樿璁剧疆涓紝灏戞暟鏈浜殑鐏厜鍦ㄩ愬儚绱犺绠楀厜鐓фā寮忎笅娓叉煋銆傚叾浣欑殑鐏厜璁$畻瀵硅薄椤剁偣鐨勫厜鐓 Vertex Lit 椤剁偣鍏夌収锛氶《鐐瑰厜鐓э紙Vertex Lit锛 鏄渶浣庝繚鐪熷害鐨勫厜鐓с...
  • 扩展阅读:unity触摸游戏 ... 手机unity模拟器 ... 长安unit真实口碑 ... 长安uni-t缺点太多了 ... 为什么不建议买univ ... unity打开别人的项目 ... 买长安unit的十大忠告 ... unity个人版有什么限制 ... 长安unit严重质量问题 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网