Obi Fluid 教學

Obi Fluid 是由 Virtual Method Studio 開發的 Unity 流體效果外掛程式,可模擬多種液體與氣體的動畫。

Obi Fluid 消耗較多的資源,系統效能不足時將會出現明顯卡頓的情況,如果使用離線算圖的方式製作動畫也可以產生不錯的效果。使用前先看看 Obi Fluid 範例場景製作的 Unity 流體效果:

 

FaucetAndBucket 場景,流體受容器形狀的影響。

ObiEmitter > Num Particles = 1000 ObiEmitter > Num Particles = 10000

 

FluidMill 場景,流體可以推動場景上的物件。

ObiEmitter > Num Particles = 3000 ObiEmitter > Num Particles = 30000

 

FluidViscosity 場景,展示黏度(或稱黏滯性)的流體效果。

ObiEmitter > Num Particles = 3000 ObiEmitter > Num Particles = 30000

 

Obi Fluid 基本設定

首先以範例場景說明 Obi Fluid 基本設定,開啟 [ Sample Scenes > FaucetAndBucket ] 場景。

按下 Play 測試,檢視流體效果。

 

建立新場景,執行 [ GameObject > 3D Object > Obi > Obi Emitter(With solver) ] 建立 Obi Emitter 物件。

建立後場景將會新增 Obi Emitter 物件,此物件是液體的發射器。

按下Play測試遊戲,將會發現有球狀物從此發射器射出,球狀物就類似於Obi Fluid套件計算液體流動的一種顯示方式,如創建完成後,可以將球狀顯示關閉,不過我們目前要依其顯示方式來進行調整。

Obi Solver...

發射器的大小可透過 Inspector 屬性編輯器的 Obi Emitter Shape Disk 元件的 Radius 半徑調整,先將半徑調整成0.2。

液體發射的速率可以由 Obi Emitter 元件的 Speed 欄位進行調整;而液體的存活時間是由 Lifepan 調整,此處將Speed調整為1,其他為預設值,測試可以發現發射速度變快。

為了看到更完全的效果,可以點擊 Obi Emitter 物件後在 Inspector 屬性編輯器下的 Obi Emitter 元件拖曳到Obi EmitterShape Disk 元件的 Emitter 欄位,拖曳進入後會發現 Scene 場景中的發射器有顯示發射方向,也可以由 Obi Emitter Shape Disk 元件的 Edge Emission 改變發射方向。

為了讓物件接近水的顏色可將材質改為藍色,在 Obi Particle Renderer 元件的 Partcle Color 更改為水藍色。

使用 Obi Fluid 製作水的材質,從 Project 視窗滑鼠右鍵執行 [ Create > Obi > Obi Emitter > Obi Material Fluid ] 創建液體材質,並命名為 [ Water ]。

製作完成後,選取 Obi Emitter 並在 Inspector 屬性編輯器的 Obi Emitter 元件中,將新增的液體材質Water放入Emitter Material欄位中。

加入地板,可建立 Cube 方塊並移動到發射器下方,套用 Obi Collider 元件,按下 Play 測試遊戲,液體碰到地面將會散開。可以嘗試不同造型的物件,注意需要增加碰撞器。

 

製作可被流體推動的物件。

我們可以更改液體的性質,選取 Obi Emitter 發射器後透過 Inspector 屬性編輯器的 Obi Emitter 元件的 Collision Material 更換碰撞材質,每種材質有不同的效果,此處選擇 MediumFriction 材質。

從液體材質可以製作不同的效果,在 Project 專案視窗選取先前製作的 Water.asset 後,在Inspector屬性編輯器中,可以進行各種編輯,此處將 Smoothing 平滑度更改為3.5,Surface Tension 表面張力更改為 0.1 (此處在Play模式下會儲存數據,可以在Play模式下進行修改),此外修改 resolution 屬性將會使分裂度增加。

 

選取 Main Camera 攝影機套用 Obi Fluid Renderer 元件。

 

Obi Fluid 虛擬實境測試

使用 Obi Fluid 範例場景製作 Oculus Quest 2 遊戲 APK 下載。