? 中文一区二区三区精品久久,欧洲亚洲欧美国产日本高清,挽起裙子迈开腿往下坐
聯(lián)系我們

給我們留言

聯(lián)系我們

地址:福建省晉江市青陽街道洪山路國際工業(yè)設(shè)計(jì)園納金網(wǎng)

郵箱:info@narkii.com

電話:0595-82682267

(周一到周五, 周六周日休息)

當(dāng)前位置:主頁 > 3D教程 > 圖文教程

Unreal Engine4的光和影

來源: 52vr | 責(zé)任編輯:傳說的落葉 | 發(fā)布時(shí)間: 2019-04-23 08:46 | 瀏覽量:

120032spzwyp8115jp821m

120032tgfwawxvqisiwcue

 

UE4中的所有光源通過lightmass和直接兩種方式作用于物體。同時(shí)燈光分直接光和間接光。各種燈光的Movable和Stationary類型都會對物體產(chǎn)生直接光照明。所有Static類型燈光,自發(fā)光材質(zhì)物體以及Stationary經(jīng)過lightmass后會對物體產(chǎn)生間接光照明。反射也是一種間接光照明(動態(tài)天光產(chǎn)生的天光反射屬于直接光)

直接光都是動態(tài)光,可以實(shí)時(shí)變化顏色,亮度等等。所有的間接光都是靜態(tài)光,但我們?nèi)匀豢梢酝ㄟ^后期以及材質(zhì)來模擬的實(shí)時(shí)調(diào)整間接光的顏色和亮度

陰影分直接光陰影和間接光陰影;還有各種屏幕空間以及基于材質(zhì)自身空間的陰影作為補(bǔ)充

直接光陰影必須有直接光存在。它們通常都是動態(tài)陰影

間接光陰影必須有間接光存在。它們可以是烘培后的靜態(tài)陰影貼圖;也可以是由ILC/VLM動態(tài)的陰影

光線的一個(gè)分支是走lightmass;先看下lightmass后產(chǎn)生的一些概念

 

關(guān)于lightmap

Lightmap為HDR,存有燈光方向信息

Stationary light build完燈光后還有Shadowmap;如果有Stationary天光會有sky occlusion map(Bent normal信息)

120033tzu97nknndkzolyo

 

展UV的時(shí)候注意Min Lightmap resolution, 定義了UV塊之間的距離。這個(gè)值要小于等于lightmap resolution,否則會出現(xiàn)lightmap像素?zé)o法匹配而溢出的問題

120033m882tzvq9tivtv29

 

Lightmass設(shè)置對于品質(zhì)和計(jì)算時(shí)間的影響

120033z9nz9u82gcgkgu2x

120033nvrr7afthr5g3rb1

 

Lightmass portal提高lightmap的品質(zhì)120034gfrkdgwogja69gzi

 

Light Scenarios提供靜態(tài)光變化的可能性

120034w8k7q3ujel7s71qa

 

關(guān)于Mesh Distance Field:一種3D貼圖,保存了到mesh最近表面的距離信息。mesh內(nèi)部的是負(fù)距離

120034lmbqxqqzmwwz8xlx

 

使用這些信息可以通過忽略掉空的區(qū)域加快陰影計(jì)算trace的速度,由于知道到到mesh表面距離,可以產(chǎn)生半影

120034doi4wmlllxo2mwxh

 

關(guān)于ILC(indirect light cache間接光緩存)

球形諧波是一種非直射光cache的編碼方式,也可以理解為如何把一張圖片IBL編碼到一個(gè)球體上的方式來表現(xiàn)這個(gè)位置光線的方向,強(qiáng)度,遮擋等信息。可以理解成一個(gè)非常低分辨率的cubemap(2*2像素每個(gè)面);編碼的頻率多少決定精度的高低, band的數(shù)量高低可以理解成LOD的概念,低級別的band可以表達(dá)大致的信息,但缺少細(xì)節(jié),高級別的band里包含了更細(xì)膩的信息。 band的數(shù)量越多精度越高。一般游戲里出于實(shí)時(shí)渲染和內(nèi)存的考量會使用2 band, 3band 一般使用于high end的渲染,比如Wetadigital在他們的電影渲染流程里應(yīng)用的那樣。 Cache的點(diǎn)的密度在電影渲染里會非常高,當(dāng)然UE4里也是可以調(diào)節(jié)cache密度來符合不同性能和品質(zhì)的要求

120034nuz1ukt9dc8xg0gx

 

關(guān)于VLM(Volumetric ligthmap)

也是一種3階球諧

120035zlpm0itab70st6a5

 

ILC VS VLM

最主要的差別是VLM為逐像素插值(GPU),而ILC為逐物體(CPU)。像素級別插值帶來的是更加細(xì)膩的光影過度,減少動態(tài)物體運(yùn)動時(shí)間接光的突然變化;另外也為照亮Volumetric fog帶來可能性

120035cj6l0bcz0vqljt17

 

對比

120035knnuo4773zpitpfp

 

 

打光前的準(zhǔn)備:

PP 里AO關(guān)掉,EYE adaption關(guān)掉; SSR關(guān)掉

Directional light的特性:CSM,F(xiàn)ar CSM, Modulated shadow(Mobile), Far distance Field Ray trace shadow; Capsule direct shadow只能由Directional light投射

  • Far CSM可per object開啟,可以選擇性的來開啟一些CSM距離外的大物體投影。

  • Far Distance Field Ray  Trace Shadow提供速度較快的ray trace shadow, 但精度較低,適合于中遠(yuǎn)距離CSM距離外的解決方案。前提需要開啟mesh distance field

 

Sky light的特性:

  • 動態(tài)Sky對物體產(chǎn)生直接的照明和直接的反射

  • 動態(tài)Sky對物體產(chǎn)生Distance Field AO,這也是產(chǎn)生Distance Field AO的唯一類型的燈

  • 動態(tài)物體的Distance Indirect Shadow

  • Capsule Indirect shadow

  • 靜態(tài)天光會把直接光部分也cache到ILC里,結(jié)果可以通過ILC投射帶有方向線性的Indirect shadow;否則只有反彈光被cache到ILC,Indirect shadow缺少天空明度的方向性

  • 靜態(tài)天光不產(chǎn)生sky的反射

  • 靜態(tài)天光產(chǎn)生的所有光(lightmap)以及反射都可以被材質(zhì)AO和PP GI參數(shù)控制

  • Stationary 天光,材質(zhì)中的AO可以控制天光的反射和照明; 但無法控制Movable sky產(chǎn)生的反射和照明

  • Sky cubemap下半部的顏色是地面的顏色,否則使用 lower hemisphere is solid color 來控制地面的顏色

  • PP中的GI只能控制ILC和Lightmap中間接光的部分

  • 移動僅支持靜態(tài)skylight

 

反射

  • 受ILC或者天光或則Lightmap影響,如果ILC和天光都是黑的(比如沒有天光的全動態(tài)光環(huán)境),動態(tài)物體的反射也是黑的;

  • 無論是天光還是ILC還是lightmap照亮的,PP GI以及Material AO對其都有影響

  • 因?yàn)镻BR下所有材質(zhì)都有一定的反射,所以即使是roughness 1的材質(zhì)也會被reflection 影響其明暗

  • 手機(jī)上采樣最近的那個(gè)Reflection capture,除非開precise reflection(材質(zhì)中)

  • Reflection Capture的cubemap如果具有明顯的方向性光源對于體現(xiàn)normalmap的效果以及反射高光的效果有利;尤其手機(jī)上,可以考慮使用自定義cubemap

 

移動平臺燈光

  • 首先調(diào)整好PP,在后期減少PC/Mobile差距:r.mobile.TonemapperFilm 打開;如果關(guān)掉TonemapperFilm需要調(diào)整Mobile Tonemapper(Contrast 0.15; Crush Hightlights 0)可以接近PC打開TonemapperFilm的效果

 

120035e3r656ihzil5hlm5

  • 不支持所有distance field 相關(guān)的陰影。需要DX11以上

  • 沒有per-object投影,所以動態(tài)point light不投影

  • 燈光類型:除所有靜態(tài)燈外,動態(tài)Directional light, point light

  • ICL和VLM都支持

  • 角色陰影: single sample shadow from stationary lights

  • Combined Static and CSM Shadowing 不需要CSM可以關(guān)掉,節(jié)省shader開銷

  • Lightmap direction可開關(guān)

  • Reflection 采樣方式為最近單個(gè)capture,無blend。除非high precise reflection 打開,最多混合3個(gè),會占用貼圖采樣

  • SSR, Contact shadow不起作用

 

陰影的種類

UE4為了平衡品質(zhì)和效率使用了各種不同的陰影技術(shù)/方式;不同于離線渲染器;

所以由于效率的考量,UE4的陰影必須分開來討論,分動態(tài)和靜態(tài),假陰影

另外為了更好區(qū)分應(yīng)用,需要把直接光陰影和間接光陰影分開來看

  • 靜態(tài)的影子:

烘培到lightmap的陰影部分;

stationary燈光烘培到shadowmap的影子,包括SDFS(Signed Distance Field Shadowmap); 以及Shadow Factor Shadowmap(打開燈光的Use Area Shadow For Stationary Light)

  • 動態(tài)的影子:

CSM; Per-object shadow; Capsule shadow; Distance field shadow(DF shadow and DF soft shadow); Modulate shadow; DFAO

  • 假陰影:

SSAO, Contact Shadow

  • 直接光遮蔽:由直接光產(chǎn)生的陰影

Modulate shadow; capsule shadow; DF lightmap; Shadow factor shadowmap; Preshadows; Baked shadow on lightmap; DF shadow; DF soft shadow; CSM shadow; Per-object shadow; Contact Shadow

  • 間接光遮蔽:

Baked shadow on lightmap; SSAO; DFAO; Capsule shadow;

  • 靜態(tài)物體能使用的陰影:

靜態(tài)的影子;CSM; DF shadow(DF shadow & DF soft shadow); DFAO; SSAO; Contact Shadow

  • 靜態(tài)不能使用的影子:Capsule shadow; Per-object shadow

  • 動態(tài)物體能使用的陰影: CSM; Capsule shadow(only for skeletalmesh); Per-object shadow; DF shadow(DF shadow & DF soft shadow); DFAO; SSAO; Contact Shadow

  • Skeletal mesh不能使用的陰影:DF Shadows; DFAO

  • 一些燈光特有的陰影:

CSM只能由Directional light投射

Capsule direct shadow只能由Directional light投射

  • 材質(zhì)中的光線屏蔽:

Material Ambient Occlusion Input:可以屏蔽所有ILC以及Lightmap,非動態(tài)天光(Static&Stationary?)以及靜態(tài)反射產(chǎn)生的照明

 

關(guān)于Bent Normal

 

120035a1vbb11fpwfdmbpw

結(jié)合Material AO起作用;只能屏蔽間接光;外部預(yù)烘培,比如Substance Designer;作用于動態(tài)物體;Stationary天光build后為Staticmesh會生成Sky occlusion bent normal

 

Bent Normal效果

120036mwsx0sw0xznfx708

 

后期光線遮蔽:

Postprocess Indirect lighting intensity 影響Lightmap, 靜態(tài)反射,ILC產(chǎn)生的照明

陰影的品質(zhì):

  • 靜態(tài)影子主要取決于lightmass的參數(shù)以及l(fā)ightmap的分辨率,還有就是UV展的品質(zhì) 具體見上

    • 幾個(gè)比較關(guān)鍵的參數(shù)是Static Lighting Level Scale越小精度越高; Indirect Lighting Quality越高質(zhì)量越高,主要用來解決只有間接光照明區(qū)域產(chǎn)生的黑斑問題;Indirect Lighting Smoothness可以平滑一些lightmap的黑斑,色階; Compress lightmaps對于高要求不壓縮

    • 對于Stationary lights使用Area light for shadowmaps可以產(chǎn)生虛影/半影

    • Lightingmap的分辨率不需要太高,高了非常大的影響計(jì)算時(shí)間和磁盤內(nèi)存空間

    • Light portal的引用來提高天光的陰影

    • 貼子Let’s Make Lightmass EPIC

  • 動態(tài)的影子各種影子影響品質(zhì)因素不同:

    • 關(guān)于PCF filter。 動態(tài)影子的一種過濾處理方式,來提高影子的品質(zhì),開銷高。動態(tài)影子filter的品質(zhì)可以由r.ShadowQuality來控制PCF的fitler作用大小。 Shadow Filter Sharpen(Detail Panel中)可以來強(qiáng)化這個(gè)濾鏡效果

      120036glisva4zk2enl0m0

  • 動態(tài)陰影的精度顯示是如何工作的

無論是CSM后者per-object shadow,都會有一個(gè)最大分辨率和最小分辨率。當(dāng)前看到的陰影的精度取決于賦予的最大和最小分辨率的值,以及當(dāng)前調(diào)用到了最大到最小之前的哪級。調(diào)用的機(jī)制取決于投射物屏幕空間的大??;越小,調(diào)用越低精度的陰影,直到達(dá)到其最小分辨率為止;越大調(diào)用越高精度的陰影,直到達(dá)到最大分辨率為止。我們可以通過一些設(shè)置和參數(shù)來提高最大最小陰影精度,以及提高或減小當(dāng)前調(diào)用精度。比如提高最小精度可以強(qiáng)制提高屏幕空間占比并不是很大的物體的陰影精度;其他具體見下列參數(shù)解釋

 

– 默認(rèn)值 0.03

– 減小這個(gè)值使得更遠(yuǎn)距離的燈光還能照亮物體

 

  • 各種參數(shù)(主要影響CMS和Per-object shadow);

    • r.Shadow.FadeResolution – 投射物在屏幕上的的分辨率多大的時(shí)候開始fade out(淡出)的行為。 Only for Per-Object Shadows 

      – 默認(rèn)值: 64
      – 減小這個(gè)值可以讓陰影在更小的時(shí)候開始淡出,從另外角度講也可以用作更遠(yuǎn)的距離開始淡出

    • r.Shadow.MinResolution – 控制fade out結(jié)束的時(shí)候投射物在屏幕上的分辨率達(dá)到多大。這個(gè)值一般比 FadeResolution 設(shè)置的小一些,以便有一個(gè)fade的過程。如果這個(gè)值比大于等于 FadeResolution 大,那投射物在達(dá)到 FadeResolution 的值之前就已經(jīng)達(dá)到 MinResolution此時(shí)陰影突然消失,無fade過程。陰影消失后無開銷。Only for Per-Object Shadows 

      – 默認(rèn)值: 32
      – 增加這個(gè)值可以提高遠(yuǎn)距離的陰影精度

    • r.Shadow.TexelsPerPixel – 在一定距離調(diào)用比默認(rèn)級別更高級(更高分辨率)的陰影,使得陰影更加清晰。 同樣可以使用 Shadow Resolution Scale(Detail Panel中)來提高或者減小陰影的調(diào)用級別
      – 默認(rèn)值: 1.27324
      – 增加這個(gè)值來提高陰影的清晰度,精度;Only for Per-Object Shadows

    • r.Shadow.RadiusThreshold 對于既使在CSM距離內(nèi)屏幕空間太小的物體,也不會繪制陰影。這個(gè)值定義多小的物體需要繪制陰影
      – 默認(rèn)值: 0.03
      – 減小這個(gè)值增加小物體CSM陰影的顯示距離。Only for CSM Shadows

    • r.MinScreenRadiusForLights 燈光的可視距離。這個(gè)也可以由參數(shù)面板里Performance欄里的Max Draw Distance來控制(可配合Max Distance Fade range)

    • Scalebility: sg.shadowquality

      [ShadowQuality@0]
      r.LightFunctionQuality=0
      r.ShadowQuality=0 PCF filter的品質(zhì),0不做PCF過濾,影子邊緣鋸齒(圖見上面)
      r.Shadow.CSM.MaxCascades=1
      r.Shadow.MaxResolution=512 僅控制per-object shadow的精度
      r.Shadow.MaxCSMResolution=512 僅控制CSM shadow的精度
      r.Shadow.RadiusThreshold=0.06 見上
      r.Shadow.DistanceScale=0.6 Scale CSM的顯示距離,默認(rèn)1
      r.Shadow.CSM.TransitionScale=0
      r.Shadow.PreShadowResolutionFactor=0.5 控制staticmesh在stationary light下投射到動態(tài)物體上的PreShadow的分辨率,越小越低
      r.DistanceFieldShadowing=0
      r.DistanceFieldAO=0
      r.VolumetricFog=0
      r.LightMaxDrawDistanceScale=0

  • CSM的精度主要和參數(shù)有關(guān)。 距離越大越糊; 級數(shù)越少越糊;分布指數(shù)越大越把分布越靠向攝像機(jī),否則越遠(yuǎn)離攝像機(jī)。增加這個(gè)值對于最近的陰影精度會增加,減小這個(gè)值增加中遠(yuǎn)距離的陰影精度

  • Per-Object shadow品質(zhì)受Actor的bounce大小影響,越大品質(zhì)越差。 Point light的話還和距離物體的大小有關(guān),越遠(yuǎn)越糊; Spot light和張角的大小有關(guān),越大越湖。

  • DF shadow受mesh DF的精度影響,物體不要太大,不要有太多的非等比放縮;

  • Ray Trace Distance Field Shadow半影受到燈光面積大小影響。Point Light或者 Spot Light的面積以及Directional Light的 Light Source Angle

  • Capsule shadow受capsule本身setup是否合理,精度如何,light cache精度等影響。 受Directional light, Light Source Angle 影響其半影大小

  • Contact Shadow用來投射一些細(xì)小的影子,也可以彌補(bǔ)一些漏光問題

  • SSAO受后期精度影響;

    r.AmbientOcclusionLevels=2
    r.AmbientOcclusionRadiusScale=1.5

 

陰影的效率:

  • 動態(tài)影子比靜態(tài)費(fèi),動態(tài)影子還增加Draw call數(shù)量

  • CSM很費(fèi),和面數(shù)有關(guān),和屏幕覆蓋率有關(guān),和參數(shù)高低有關(guān)

  • Per-object shadow也很費(fèi),和面數(shù)有關(guān),和Actor數(shù)量有關(guān),和屏幕空間覆蓋率有關(guān),和參數(shù)高低有關(guān)

  • DF shadows 不受面數(shù)影響,效率比較高

  • Capsule shadow 效率也很高,不受角色面熟影響

  • SSAO和Contact shadow為后期效果,比較費(fèi)

  • Shadow map caching for movable lights:目前是自動開啟, 可以大大降低Movale類型燈光對于靜態(tài)環(huán)境的陰影開銷(如果不移動)

  • Single Sample Shadow from Stationary Lights開關(guān)單個(gè)component是否接受stationary light 從staticmesh cast的Preshadow

  • 使用r.Shadow.PreShadowResolutionFactor來減小PreShadow的開銷

  • r.Shadow.ForceSingleSampleShadowingFromStationary 1 關(guān)閉所有靜態(tài)物體到動態(tài)物體的shadow,使用light cache存儲的遮蔽信息來shadowing動態(tài)物體。這個(gè)解決手機(jī)上角色無法被靜態(tài)物體遮蔽的問題;PC上也可以減少Preshadowing 的開銷

  • Light Attachments as Group可以簡化shadow frustum以及shadow的開銷

 

實(shí)例開銷

Paragon – console 60fps

  • Static shadowmaps

Fortnite – console 30fps, fully dynamic

  • 3 Cascades up to 4500 uu

  • RTDF shadows up to 30,000

Kite – high end PC, huge open world

  • 2 Cascades up to 10k

  • RTDF shadows to 120k

  • Far Cascades up to 900k

 

陰影的控制:

通道;Cinematic; 燈光端/物件端

 

如何選擇陰影:就是上面講到的結(jié)合實(shí)際情況的一個(gè)平衡

  • 靜態(tài)物體盡量選擇使用靜態(tài)影子,無論從品質(zhì)和效率方面都是如此

  • 動態(tài)物體必須動態(tài)影子,根據(jù)品質(zhì)和效率取舍:

    • CSM品質(zhì)可以很高,但沒有半影,效率比較費(fèi),效率取決于被投射物體的面數(shù),影子屏幕像素的覆蓋率,還有陰影參數(shù)的精度高低;

    • Per-Object shadow 品質(zhì)也可以很高,也沒有半影,效率也比較費(fèi),效率取決于被投射物體的面數(shù)以及屏幕覆蓋率,還有就是被投射物體的數(shù)量,及參數(shù)精度高低;這些都非常類似CSM,但因?yàn)镃SM只能是直射光

    • DF shadows(DF shadow & DF soft shadow)品質(zhì)一般,受DF精度影響,不受面數(shù)影響,效率比較高,可以有半影

    • DF AO:同上

    • Capsule shadow: 品質(zhì)一般,受capsule的數(shù)量精度設(shè)置是否合理等有關(guān);跟light cache的精度有關(guān);有半影,效率也很高;非常好的動態(tài)間接光遮蔽,尤其對于角色

    • 效率上考慮不同距離使用不同類型的陰影,比如室外開闊場景動態(tài)陰影,地形不支持DF shadow, 遠(yuǎn)距離使用Far CSM,其他物體遠(yuǎn)距離使用DF shadow,因?yàn)镈F shadow比CSM便宜,因此兼顧品質(zhì)和效率

 

具體應(yīng)用環(huán)境實(shí)例

  • 室外開闊晝夜/變化燈光環(huán)境:燈光以直射光為主

CSM并調(diào)節(jié)品質(zhì)距離等; 地形打開Far CSM; Per-object給遠(yuǎn)距離動態(tài)物體;Shadowmap Caching for movable light確保打開;角色可以Capsule shadow; 遠(yuǎn)距離靜態(tài)物體DF shadow; DFAO打開; SSAO; Contact shadow;

 

  • 室內(nèi)或者多反彈環(huán)境:各種Spot/Point light

靜態(tài)lightmap,靜態(tài)物體走DF shadowmap;動態(tài)物體走per-object shadow并為間接光打開Capsule shadow;如果有室外天光照明,使用light portal來提高天光遮蔽的品質(zhì);不要開DFAO;SSAO可以開;如果有動態(tài)光靜態(tài)物件可以關(guān)閉靜態(tài)陰影,打開DF shadow;對于靜態(tài)陰影注意燈光的形狀對陰影的影響,包括燈光的形狀,反彈板,自發(fā)光物體;Reflection是可以被lightmap遮蔽的,尤其對于特別光滑的表面;這個(gè)可以控制遮蔽的多少,在project setting里 Reduce lightmap mixing on smooth surfaces


相關(guān)文章
網(wǎng)友評論

您需要登錄后才可以發(fā)帖 登錄 | 立即注冊

關(guān)閉

全部評論:0條

推薦
熱門