Unity-地形-SpeedTree

SpeedTree?是 IDV Inc 公司的第三方產(chǎn)品,提供專門針對(duì)樹的預(yù)建樹資源和建模軟件。
Unity 采用與其他資源相同的處理方式來識(shí)別和導(dǎo)入 SpeedTree 資源。如果使用的是 SpeedTree Modeler 7,請(qǐng)確保使用 Unity 版本的 Modeler 重新保存?.spm
?文件。如果使用的是 SpeedTree Modeler 8,請(qǐng)將?.st
?文件直接保存到 Unity Project 文件夾中。
確保 Project 文件夾中的紋理為可訪問狀態(tài),并且 Unity 自動(dòng)生成每個(gè)細(xì)節(jié)級(jí)別 (LOD)?的材質(zhì)。選擇資源時(shí)會(huì)有一些導(dǎo)入設(shè)置,您可以使用這些設(shè)置來調(diào)整生成的游戲?qū)ο蠛透郊拥牟馁|(zhì)。重新導(dǎo)入時(shí),除非單擊?Generate Materials?或?Apply & Generate Materials?按鈕,否則 Unity 不會(huì)重新生成材質(zhì)。因此可以保留對(duì)材質(zhì)所進(jìn)行的任何自定義。
SpeedTree 導(dǎo)入器生成一個(gè)配置了?LODGroup?組件的預(yù)制件??梢栽趫?chǎng)景中將此預(yù)制件實(shí)例化為普通的預(yù)制件實(shí)例,也可以選擇此預(yù)制件作為樹原型并在地形上對(duì)其進(jìn)行繪制。
此外,地形接受任何帶有 LODGroup 組件的游戲?qū)ο笞鳛闃湓?,并且?duì)網(wǎng)格大小或所使用的材質(zhì)數(shù)量沒有限制。這與?Tree Editor?樹不同。但是,請(qǐng)注意 SpeedTree 樹通常使用三到四種不同的材質(zhì),因此每幀都會(huì)發(fā)出一些繪制調(diào)用。所以,我們建議避免在移動(dòng)平臺(tái)之類的平臺(tái)上大量使用 LOD 樹,因?yàn)樵谶@些平臺(tái)上,額外的繪制調(diào)用在渲染性能方面的成本相對(duì)較高。
材質(zhì)
SpeedTree Model Importer 具有?Materials?選項(xiàng)卡,用于改進(jìn)處理 SpeedTree 材質(zhì)資源的工作流程。請(qǐng)參閱有關(guān) SpeedTree Model Importer?Material 選項(xiàng)卡頁面的文檔以了解更多信息。
投射和接受實(shí)時(shí)陰影
為了使公告牌正確投射陰影,在陰影投射物 pass 期間,Unity 會(huì)旋轉(zhuǎn)公告牌以使它們面向光線方向(在點(diǎn)光源的情況下為光源位置)而不是面向攝像機(jī)。
要啟用這些選項(xiàng),請(qǐng)?jiān)?SpeedTree 資源的?Inspector?中選擇?Billboard?LOD 級(jí)別,在?Billboard Options?中選中?Cast Shadows?或?Receive Shadows__,然后單擊?Apply Prefab__。

要更改實(shí)例化的 SpeedTree 游戲?qū)ο蟮墓媾脐幱斑x項(xiàng),請(qǐng)?jiān)?Hierarchy?窗口中選擇公告牌游戲?qū)ο?,然后在__公告牌渲染器 (Billboard Renderer)__ 的?Inspector?中調(diào)整這些選項(xiàng)。
在地形上繪制的樹繼承來自預(yù)制件的公告牌陰影選項(xiàng)。使用?BillboardRenderer.shadowCastingMode
?和?BillboardRenderer.receiveShadows
?在運(yùn)行時(shí)更改這些選項(xiàng)。
已知問題:__與任何其他渲染器一樣,__Receive Shadows?選項(xiàng)在使用延遲渲染時(shí)無效。公告牌始終在延遲路徑中接受陰影。