Unity3d 4種燈光的簡介

2022-09-17 21:18:23 字數 2224 閱讀 4844

燈光light

一、簡介

光源 (lights) 是每個場景的重要組成部分。網格和紋理決定了場景的形狀和外觀,而光源則決定了三維環境的顏色和氛圍。您可能會在每個場景中使用多個光源。讓它們一起工作需要一些實踐,但結果卻相當驚人。

二、燈光型別

unity 5.5中有 4 種燈光。建立燈光的方式同建立其他遊戲物件的方式相似:

(1)directional

方向光源。這種型別的燈光可以被放置在無窮遠處,可以影響場景中的一切遊戲物件,類似於自然界中太陽光的照明效果。「定向光」非常適合用來模擬陽光,它的特性就像是個太陽,定向光能從無限遠的距離投射光源到場景,從定向光發出來的光線是互相平行的,也不會像其他種光源會分岔,結果就是不管物件離定向光源多遠,投射出來的陰影看起來都一樣,這其實對戶外場景的照明很有利。定向光沒有真正的光源座標,放置在場景任何地點都不會影響光的效果,只有旋轉會影響定向光的照射結果。其他有光源座標的燈光型別,例如投射燈(spotlights),角色陰影會因為接近或遠離光源而改變,這也許在照亮室內環境時會是個問題,一般來說,避免角色太接近**的光源,我們會建立乙個亮點來假裝光源.使用定向光不用考慮距離,不管多遠它都會影響場景所有的表面(除非被剔除),當使用延遲(deferred)著色路徑時會造成一些效能損耗,要注意的是,使用這個著色路徑時,光的效能代價和他影響的畫素數目是成正比的,但雖然需要消耗效能,起碼結果較為統一,因此比較容 易調整平衡。 在預設情況下,新的場景都會附帶一盞定向光,在unity裡還會與天空盒系統關聯(lighting->scene->skybox),你也可以刪除預設的定向光並建立乙個新的光源,然後從sun這個屬性重新指定(lighting->scene->sun)旋轉預設的定向光會導致天空盒也跟著更新,如果光的角度和地面平行就可以做出日落的效果,把光源轉到天空導致變黑就能做出夜晚的效果,從上往下照就會模擬日間的效果。如果天空盒有指定為環境光源(ambient source),那麼天空盒的顏色就會影響環境裡面的物件。

(2)point

點光源從乙個位置向四面八方發出光線,影響其範圍(range)內的所有物件,類似燈泡的照明效果。點光源的陰影是較耗費影象處理器資源的光源型別。點光源可以想象是在3d空間裡乙個對著所有方向發射光線的點,很適合用來製作像是燈泡、**發光或是從物體發射出來的**效果,點光源的亮度從中心最強一直到範圍屬性(range)設定的距離遞減到0為止,光的強度從光源到距離成反比,這是所謂的」平方反比 定律」,類似光在現實世界的行為。點光源從它的位置對四面八方射出光線,球形的小圖示代表光的」範圍」,光線到達此範圍是會」衰減」到0,但如果有間接光源或反射光則會繼續投射。 點光源開啟陰影運算是很耗效能的,因此必須謹慎使用,點光源的陰影為了要給六個不同的世界方向會運算六次,在比較差的硬體開啟此功能會造成較大的效能負擔。當在場景中加入點光源時要注意,目前它們不支援陰影的間接反射,這代表由點光源產生的光線,只要在距離內有可能會穿過物件反射到另外一面,這可能會導致牆壁或地板」漏 光」,因此放置點光源要格外注意,然而如果是採用backed gi的話,就不會有這類的問題產生。

(3)spot

聚光燈。這種燈光從一點發出,在乙個方向按照—個錐形的範圍照射,該錐形是由聚光燈角度

(spot angle) 和範圍 (range) 界定的。

聚光燈是較耗費圖形處理器資源的光源型別。

聚光燈投射乙個錐體在他的z軸前方,這個錐體的寬度由投射角度(spot angle)屬性控制著,光線會從源頭到設定的範圍慢慢衰減到0,同時越靠近錐體邊緣也會衰減,把投射角度的 值加大會讓錐體寬度加大,同時也讓邊緣淡化的力度變大,這現象學名叫做」半影」。

聚光燈有許多用途,他們可以用來模擬路燈, 壁燈,或許多創意用法,例如模擬手電筒,因為投射區域能精確的控制,因此很適合用來模擬打在角色身上的光或是模擬舞台燈光效果等等

(4)area

區域光/面光源。該型別的光源無法應用於實時光照,僅適用於光照貼圖烘焙 (lightmap baking)), 這種光能從各方向照射乙個平面的矩形截面的一側。區域光可以當作是攝影用的柔光燈,在unity裡面他們被定義為單面往z軸發射光線的矩形,目前只能和烘焙gi一起使用,區域光會均勻的照亮作用區域,雖然區域光沒有範圍屬性 可以調整,但是光的強度也是會隨著距離光源越遠而遞減。區域光照亮表面並在區間產生漫反射與柔和的陰影,區域光用在建立柔和的照明效果非常有用,光線在任何方向穿過光的表面時會產生不同方向的折射 - 造成在物件上產生漫反射,常見的用途是拿來當作天花板壁燈或是背光燈,為了實現這功能,我們必須從每個光照貼圖畫素上發射一定數量的光線,背對著區域光以確定光有能見度,這代表區域光的計算是消耗很大的,而且會延長烘焙的時間,但如果運用得宜可以增加場景光的深度,那麼消耗就很值得,值得注意的是區域光只能用在烘焙,因此不影響遊戲效能。

Unity3D的4種座標系

unity3d的四種座標系 unity3d的四種座標系 1 world space 世界座標 我們在場景中新增物體 如 cube 他們都是以世界座標顯示在場景中的。transform.position可以獲得該位置座標。2 screen space 螢幕座標 以畫素來定義的,以螢幕的左下角為 0,0...

如何在unity3d中製作燈光效果

unity3d 中如何製作建築場景裡面的燈光?燈光在建築場景裡面是相當重要的乙個環節,我們需要在場景裡面模擬出日光投射的效果,在模型匯入後,使用game object create other directional light 建立乙個平行光源,directional light 提供了平行光線的...

Unity 3D中光照系統 簡介部分

type型別 燈光物件的當前型別 directional light平行光平行發射光線,可以照射場景裡所有的物體,用於模擬太陽。point light 點光源在燈光位置上向四周發射光線,可以照射齊範圍內的所有物件,用於模擬燈泡。spot light聚光燈在燈光位置上向圓錐區域內發射光線,僅在該區域內...