在開始玩燈光之前戈稿,您需要首先了解它們?cè)?D渲染引擎中的工作原理喻犁。 當(dāng)您向場(chǎng)景添加光源時(shí)蔓搞,渲染引擎可以確定光線應(yīng)如何反射場(chǎng)景的對(duì)象瑞筐。 它的因素在于:
?顏色
?方向
?位置
所有計(jì)算都是基于每個(gè)對(duì)象的表面法線凄鼻。
法線是始終垂直于某平面的虛線在數(shù)學(xué)幾何中法線指平面上垂直于曲線在某點(diǎn)的切線的一條線。法線也出現(xiàn)在物理學(xué)上的平面鏡反射上。
?法向量:看那些紅色矢量野宜? 那些是假想的表面法線扫步。 注意每個(gè)形狀與立方體的表面形成完美的90度角。
?光源矢量:這是從左側(cè)進(jìn)入的黃色光線匈子。
?表面陰影:查看每個(gè)表面如何具有不同的陰影河胎? 注意光源矢量與每個(gè)表面法線之間的角度。 較小的角度產(chǎn)生更明亮的表面虎敦,而較大的角度產(chǎn)生更暗和更亮的表面游岳。 渲染引擎執(zhí)行該計(jì)算以確定表面的亮度或暗度。
曲面的法線
對(duì)于曲面其徙,法線直觀講就是切平面的垂線胚迫,但是這個(gè)垂線的位置是比較特殊的,要過平面和曲面的交點(diǎn)唾那。
SceneKit的套件中有四種光
?全方位光(Omni light):白天天空中的明亮的光芒 - 太陽 - 基本上是全能的光访锻,意味著從太空中的單一點(diǎn)向所有可能的方向發(fā)光。然而闹获,當(dāng)試圖在3D游戲中模仿太陽時(shí)期犬,全能光通常不是最好的使用方式。這是一個(gè)很好的效果避诽,非常適合像燃燒的蠟燭或從天花板懸掛的燈泡的東西龟虎。
?定向光(Directional light):這種類型在特定方向發(fā)射平行光線。當(dāng)您想在3D游戲中模仿陽光時(shí)沙庐,強(qiáng)烈建議您使用這種類型的光鲤妥。
?點(diǎn)光源(Sopt light):這種類型的光也是定向的,但是光從空間中的單個(gè)點(diǎn)發(fā)射并且以錐形展開拱雏。將其用于更集中的光源棉安,如在一架瘋狂的夜總會(huì)追逐場(chǎng)景中,警方直升機(jī)正在跟蹤逃離劫匪的汽車古涧。
?環(huán)境光(Ambient light):環(huán)境光源是控制場(chǎng)景整體亮度的源頭垂券。另一種想法是使用環(huán)境光來控制場(chǎng)景中陰影的黑暗度花盐。
每一個(gè)光都有Mode, Color, Attenuation屬性
這些是控制光的顯示效果的
?Mode:您可以選擇動(dòng)態(tài)或烘焙羡滑。 對(duì)于移動(dòng)的光源或?qū)⑵湫Ч麘?yīng)用于移動(dòng)的節(jié)點(diǎn),您應(yīng)該使用動(dòng)態(tài)光算芯。 對(duì)于靜態(tài)照明柒昏,您可以使用烘焙照明,在外部3D創(chuàng)作工具中創(chuàng)建光線貼圖熙揍,然后將照明效果應(yīng)用于場(chǎng)景中對(duì)象的紋理职祷。
?Color:這允許您指定燈的顏色。
? Attenuation:這樣可以控制光源的距離。 當(dāng)節(jié)點(diǎn)比開始距離更近時(shí)有梆,光應(yīng)用其全部強(qiáng)度是尖,而超過終點(diǎn)距離的節(jié)點(diǎn)根本不受光的影響。 默認(rèn)值為0泥耀,表示衰減不適用饺汹。 坐在開始和結(jié)束之間是衰減,這是控制強(qiáng)度減弱的指數(shù)因素痰催。
下面這張圖更加清晰的展示了光線對(duì)于物體顯示效果的影響
您可以看到每個(gè)燈光對(duì)球的影響兜辞,以及最后一列的綜合效果。請(qǐng)注意夸溶,第一行沒有環(huán)境光逸吵,而第二行具有環(huán)境光。我們來仔細(xì)看看每一步:
?無光:當(dāng)你開始缝裁,球是平坦和沉悶扫皱,因?yàn)閳?chǎng)景沒有光源。場(chǎng)景套件在沒有添加光源的情況下使用恒定的光線捷绑,因此啸罢,您會(huì)看到一個(gè)非常平坦的球。
?背光:一旦向現(xiàn)場(chǎng)添加燈光胎食,那些不在光線中的所有東西都會(huì)變暗扰才。場(chǎng)景套件停止對(duì)整個(gè)場(chǎng)景施加恒定的光線,并開始使用添加的光源來應(yīng)用照明和陰影效果厕怜。這種特殊的光線正在作為您的背光衩匣,在球邊緣產(chǎn)生非常微妙的邊緣光線效果。
?前燈:這樣可以更加亮起球粥航,作為球上的關(guān)鍵燈琅捏。請(qǐng)注意,關(guān)鍵燈和背光是相互對(duì)置的递雀。
?環(huán)境光:通過用光填充整個(gè)場(chǎng)景柄延,充當(dāng)場(chǎng)景中的補(bǔ)光,特別是用一些光來填充那些黑暗的陰影區(qū)域缀程。