[SceneKit專題]8-Lights燈光

說明

本系列文章是對<3D Apple Games by Tutorials>一書的學習記錄和體會node

此書對應的代碼地址git

SceneKit系列文章目錄github

surface normal表面法線

表面上某一點的法向量(Normal Vector)指的是在該點處與表面垂直的方向。對於平面,其上各點的法向是同樣的,統一爲這個平面的法向。對於曲面,各點具備不一樣的法向量. 正確設置網格面上點的法向,對幾何體在光照等狀況下顯示得更真實,這樣就能夠減小頂點數量,提升渲染速度app

QQ20170404-204747@2x.png

  • Normal vectors(法向量):紅色的線,垂直於表面
  • Light source vector(光源向量):黃色的線
  • Surface shading(表面着色):每一個面的顏色都不一樣,是計算光源向量和表面法線的夾角,夾角小則表面亮,夾角大則表面暗.
  • View source vector(視點源向量):假想的從相機發出的向量.
  • Surface culling(表面剔除):只有面向相機的表面纔是可見的,這樣渲染引擎就能決定哪一個表面能夠剔除不渲染.

Sphere nodes球體節點

QQ20170404-212339@2x.png

QQ20170404-212352@2x.png

QQ20170404-212403@2x.png

球體有兩種,但實際,二者的不一樣就在於Geodesic複選框有沒有選中,能夠互相切換工具

  • Radius(半徑):設置球體的尺寸.
  • Segment count(分段數):Scene Kit是使用不少小多邊形連結在一塊兒造成網格來模擬曲面的.分段數控制着生成球體時的片斷數量,片斷越多,球體越光滑,多邊形數量也越多,固然渲染時花費的時間也越長,能夠設置小一些.
  • Geodesic(測地線):影響兩種球體的多邊形風格生成.默認狀況下,表面是由簡單的小四邊形組成,可是測地線球體使用相同面積的三角形來組成網格
    QQ20170404-212427@2x.png
  • Diffuse(漫反射):被光線照亮後漫反射出的顏色.
  • Specular(鏡面反射):控制材料反光,閃亮屬性,白色則強烈反光,黑色昏暗不光滑.
    QQ20170404-212436@2x.png
    材料檢查器中找到setting區
  • Shininess(鏡面光潔):該值越小,表示材質越粗糙,點光源發射的光線照射到上面,也能夠產生較大的亮點。該值越大,表示材質越相似於鏡面,光源照射到上面後,產生較小的亮點。
  • Fresnel(菲涅耳):若是你站在湖邊,低頭看腳下的水,你會發現水是透明的,反射不是特別強烈;若是你看遠處的湖面,你會發現水並非透明的,但反射很是強烈。這就是「[菲涅爾]效應」。

Light nodes燈光節點

WX20171203-135243@2x.png

  • Omni light(泛光燈):從一個點向全部方向發光,就像太陽同樣.可是在3D遊戲中模擬太陽時,泛光燈並非最好選擇,由於太陽光到達地球時,更接近於平行光.通常該類型適用於燭光或者燈泡光.
  • Directional light(平行光):帶有方向的平行光,通常用來模擬到達地面的太陽光.
  • Spot light(點光源):從一個點發出的有方向的光,呈圓錐形.適用於聚光燈,好比直升機上的探照燈.
  • Ambient light(環境光):環境光控制場景中的全局明亮程度.也能夠理解爲用來控制場景中陰影的黑暗程度.
  • IES light(IES光):即光度光源.它利用真實世界的物理測量結果來定義一個光探針,包括形狀,方向和光照強度.這些信息儲存在*Illuminating Engineering Society (IES)*定義的標準格式文件中.你會發現許多製造商會根據他們產品的光照特色發佈出對應的IES文件.要使用IES光源,你必須根據IES文件的URL來建立SCNLightTypeIES類型燈光.
  • Light Probe(光探針):光探針不是真實的光源.當把光探針放在場景中時,它會採樣當前位置的全部方向的光的顏色和強度.而後用這些信息來給場景中不一樣位置的材質着色.例如,當將一個純白色的物體放在一堵五彩斑斕的牆附近時,物體上就會映照出牆體的顏色.

Three point lighting三點光照法

讓3D圖像更真實的祕密就是使用真實世界的光照技術,好比在攝影辦很流行的三點光照系統. post

QQ20170404-212231@2x.png

  • Key light(主光源):最主要的光源,從正面照亮物體.
  • Back light(背光源):位於物體後方,和主光源相對的位置.主要目的是造成邊緣光效果,使物體邊緣高亮.
  • Fill light(補光光源):和主光源垂直,主要目的是控制物體陰影的黑暗程度.

QQ20170405-233421@2x.png

  • Mode(模式):Dynamic(動態的)或者Baked(烘焙的).光源處理移動或者被照亮的節點會移動,就使用動態Dynamic模式.當使用外部3D創做工具創做光照貼圖,並將光照效果烘焙到場景中的物體紋理時,可以使用烘焙模式.
  • Color(顏色):光的顏色
  • Attenuation(衰減):控制光源在距離上的強烈程度.小於Start距離的是徹底100%光照,大於End距離的是無光照,中間按Falloff衰減

看圖理解三點光照系統,Front light和Back light是Omni類型,環境光是Ambient類型. 學習

QQ20170405-234533@2x.png
相關文章
相關標籤/搜索