2015-11-06 81 views
2

在SceneKit編輯器中「烘烤」選項的用途是什麼?它對性能有影響嗎? enter image description here在SceneKit中做些什麼

類型提供2個選項:環境光遮蔽和光照圖

目的地提供:紋理和Vertex

回答

2

我從大學時代記住的: 烘焙實際上是在3D渲染和紋理的過程。你有兩種烘焙:紋理烘焙和物理烘焙。

紋理烘焙: 您計算一些數據並將該數據保存到紋理。你在你的材料上使用它。這樣可以縮短渲染時間。每一幀,一切都被一次又一次地計算出來。如果你有動畫,那就浪費了很多時間。

物理烘焙: 您可以像上面的烘焙一樣預先計算物理模擬,並使用該數據。例如,你在剛體中使用它。

+0

哦,我明白了。謝謝。 SceneKit提供Vertex烘焙,這可能是物理烘焙。我現在正在運行Light Map烘焙。我可以聽到電腦真的很難做到這一點。 – brumbrum

+0

因此,在我的3D場景中烘烤每一個物體之後,我應該期待劇烈的性能提升嗎? – brumbrum

+0

你只能烘烤不需要改變的照明,或者只要有任何動作就會不正確。 – Jessy

3

對我來說,它會使Xcode崩潰。它應該將光照(特別是陰影)渲染到物體上的紋理,因此您不需要靜態光源。

理論上,這應該意味着在場景中需要的所有東西都是用於在移動的物體上創建動態光照的燈光,並且您可以保存用靜態幾何體上的靜態燈光填充場景所需的所有計算。

在性能方面,是的,烘烤照明可以在性能上產生巨大的跳躍,因爲它可以節省您創建環境光,遮擋和直接陰影以及柔和陰影的所有複雜計算。

如果您實時使用環境遮擋和柔和陰影,您會看到非常低的幀速率。

烘焙的可能性遠遠超出您用超級計算機實時獲得的質量,特別是在全局照明方面。

奇怪的是,Scene Kit有一個烘焙按鈕。它從來沒有爲我工作,總是崩潰的Xcode。但事情是......爲了從烘烤中獲得最大收益,您需要成爲一名3D藝術家,在這種情況下,您會更傾向於在3D設計應用中進行烘焙。

3D設計應用程序的照明解決方案比最佳場景套件照明更好幾個數量級。我無法想象在Scene Kit中真的需要烘焙。開發團隊花費時間是一件奇怪的事情,因爲即使是最便宜的3D設計應用程序所提供的質量也不會接近。

+1

我意識到這個線程已經有一年了,但如果有人正在閱讀並且想知道,那麼SceneKit編輯器在Xcode 8.1中比在7中更穩定,而且現在烘焙按鈕工作得非常好。你需要至少有一個模式設置爲「靜態」的燈才能使陰影烘焙起作用(如果沒有靜態燈,錯誤消息會提醒你)。 – OliverD

+0

我會試試看,這些日子之一。對他們是否使用它在購物車演示中製作光照貼圖感到好奇。 – Confused