簡體   English   中英

在3D空間中照亮2D表面的正確方法?

[英]Proper way to illuminate a 2D surface in 3D space?

編輯:我已經解決了波浪線以下的問題-缺少的數據塊-通過修復處理計算人臉法線的for循環中的一個基本錯誤。 我現在有一個新問題:表面本身上有奇怪的不需要的陰影。 有些區域比其他區域更暗...有關當前問題,請參見下一張圖片。

我向場景的根節點添加了全向燈光,並以相同的方式添加了定向燈光。 由於某種原因,我似乎無法照亮表面的下腹部。 請注意凹面內部的奇怪陰影(如我在此處所做的那樣,當去除細分效果時,這種陰影更明顯)

在此處輸入圖片說明

這是上面的表面-注意某些區域看起來奇怪地暗。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~

這是一個凹面。

在此處輸入圖片說明

我在3D空間中擁有這些平滑的彎曲平面。 目前,它們看起來頗具卡通色彩-我想利用某種形式的照明使它們看起來更“ 3D立體”。

我嘗試了環境照明,全能照明和默認照明的各種組合,但似乎沒有任何效果。 當我應用基本的全方位照明時,我會得到一些非常奇怪的東西-

在此處輸入圖片說明

這是使用全向照明以更好的角度拍攝的另一幅作品。 好像有人咬了一口-

在此處輸入圖片說明

我是否忽略了特定類型的燈光或照明策略?

我想避免使用烘焙的照明,因為場景非常簡單。 謝謝。

我將為粗體概述我的步驟。

1:我為金字塔形的四個面中的每個面指定頂點。 像這樣(為我缺乏藝術能力而道歉)->

在此處輸入圖片說明

2:我指定人臉的索引,即[0,1,2,0,2,3等]

  1. 我創建了一個字典,將每個頂點映射到該頂點的相鄰歸一化面法線的總和。

  2. 我將所有這些歸一化的每個頂點法線匯總到向量中。

  3. 我結合法線的頂點,索引和向量來創建SCN幾何。

  4. 為了獲得圓潤的外觀,我增加了細分數量。

  5. 祈禱它起作用。

我是3D世界的新手,所以我可能會在左邊領域走得很遠,甚至不知道。

這應該以最少的工作量和最少的了解3D照明的需求為您提供合理的結果。

從蘋果打開Fox游戲示例/示例:

https://developer.apple.com/library/prerelease/ios/samplecode/Fox/Introduction/Intro.html

從level.scn場景圖中刪除除“燈光”,“相機”和“山”之外的所有內容。

然后將您的幾何對象添加到底部的節點上,在該節點的場景圖的底部突出顯示了球體。

蘋果Fox SNK示例中level.scn的場景圖

現在,該材料需要做一些工作才能使其有用。

在“視圖”中單擊以選擇“山峰”,然后轉到材質編輯器,使其看起來像這樣,只需繼續對照此圖像進行檢查,直到您的圖像與我所做的一些(怪異)更改相匹配。 相信我,這會很好的解決:

材料設置

當您想要獲得可愛的紅色時,只需更改此屬性:DIFFUSE:它位於“材質”設置的頂部。

現在,您有了材質和照明設置,可以在3D空間中給出合理的曲率近似值。

將此材質應用於您的對象有點不可思議,而且不直觀,您可以在這里,單擊“添加”按鈕,然后選擇與上圖中的名稱相同的材質,即在山上。

將材質應用到另一個對象:

您可以通過在所謂的“三點照明設置”中再添加兩個照明燈來改進此效果,在Google上用此詞查看說明。

此外,您可以添加屏幕外(攝像機外)標語牌(通常為白色)來管理關鍵反射,以進一步幫助用戶對所呈現的內容有所了解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM