複雜發射形狀

複雜發射形狀

當僅從 程序材質 中的簡單形狀發射粒子不夠用時,Godot 提供了從任意複雜形狀發射粒子的方式。這些形狀會從場景中的網格(Mesh)產生,並作為貼圖儲存在粒子程序材質內。這種彈性的工作流程允許使用者將粒子系統用於超越傳統案例的用途,例如樹葉、植被,或複雜的全息效果等。

備註

當你從網格建立發射點時,只能選擇一個節點作為發射來源。如果你需要從多個形狀發射粒子,你必須建立多個粒子系統,或於外部 DCC 軟體中將多個網格合併為一。

建立發射點

建立粒子發射點…

選擇作為發射的網格

…以網格實體作為來源

設定發射密度

更多的點 = 更高的粒子密度

要使用此功能,請先在目前場景中建立一個粒子系統。新增一個作為粒子發射點來源的網格實體。選取粒子系統後,前往檢視區選單,選擇 GPUParticles3D 項目,然後選擇 由節點建立發射點

接著會跳出一個對話視窗,要求你選擇一個節點作為發射來源。請選擇場景中的其中一個網格實體並確認。下個對話視窗則讓你設定發射點的數量及產生方式。

發射點數量 控制你要產生的總發射點數。粒子會從這些點產生,因此這裡的設定取決於來源網格的大小(需覆蓋的面積)以及你希望的粒子密度。

發射來源 提供三種不同的發射點產生方式。若你只希望將發射點分布在網格表面,請選擇 表面點。若需要同時產生表面法線資訊,讓粒子沿著法線方向移動,請選擇 表面點+法線(定向)。最後一個選項 體積 會在網格內部的每個位置產生發射點,不僅只在表面。

發射點會儲存在粒子系統的本地座標系統中,因此你可以移動粒子節點,發射點會隨之移動。這在你想在不同位置重複使用同一粒子系統時很有用。不過,若你移動了粒子系統或來源網格,則可能需要重新產生發射點。

發射形狀貼圖

發射貼圖

可用的發射形狀貼圖

所有複雜粒子發射形狀的資料都儲存在一組貼圖中,數量取決於所選擇的發射形狀類型。若你將 Emission Shape 群組的 Shape 屬性設為 Points,你會看到兩個貼圖屬性:Point TextureColor Texture。若設為 Directed Points,則會多一個 Normal Texture 屬性。

Point Texture 內含前一步產生的所有發射點,每個粒子生成時會隨機選擇一個點。若有 Normal Texture,則會在相同位置提供方向向量。若也有設定 Color Texture 屬性,則會在同一位置取樣顏色,並與程序材質中設定的其他顏色混合。

此外還有一個 Point Count 屬性,可以讓你在建立發射形狀後隨時更改發射點數量,甚至可在遊戲運行時動態調整。