Mozilla TA:淺談社交VR Hubs的粒子系統和表情設計
查看引用/信息源請點擊:映維網
Hubs的粒子系統和表情設計
(映維網 2019年08月16日)Siyu Chen在今年夏天有幸成為了Mozilla Hubs技術美術實習生。日前,Siyu Chen撰文分享了自己在夏天的這段經歷。下面是映維網的具體整理:
在這12周的時間裡,我參與了兩個不同的項目。我的第一個項目與粒子系統有關,而這是我一直非常感興趣的事情。我是為允許你輕鬆創建3D場景並將其發布到Hubs的3D編輯器Spoke開發粒子系統功能。
粒子系統是一種已廣泛應用於遊戲物理,動畫和計算機圖形相關領域的技術。它們通常由大量的sprite或其他對象組成並用以模擬混沌系統或自然現象。粒子可以對應用程序的視覺效果產生巨大影響。對於虛擬現實和增強現實,它可以極大地加深沉浸感。
粒子系統可能非常複雜,因此對於這個版本的粒子系統而言,我們希望避免避免笨重的行為控制項,並且只保留所需的基本屬性。Spoke粒子系統可以分為兩部分:粒子和發射器。每個粒子都具有紋理/sprite,壽命,大小,顏色和速度,因為這是基本屬性。發射器更簡單,因為它只有寬度和高度的屬性,以及有關粒子數的信息(每個生命周期可以發射多少個粒子)。
通過改變粒子數和發射器大小,用戶可以輕鬆地為不同用例定製粒子系統,例如在寒冷場景中創建落雪或在噴泉中添加水滴。
改變發射器大小
粒子數從100改成200
你同時可以改動粒子的不透明度和顏色。實際顏色和不透明度值在開始,中間和結束顏色/不透明度之間進行插值。
對於主要視覺效果,我們可以通過使用URL來改變sprite,或者從本地asset中進行選擇。
粒子的生命周期?我們來看看下面這張圖表:
每個粒子都有一個隨機的Negative Initial Age,而我們可以通過Age Randomness屬性進行調整。隨著時間的推移,它的Age會不斷增長。當它的Age大於總壽命時,粒子將立即死亡並重新分配一個Negative Initial Age,然後重新開始。這裡的Age不是每個粒子將存在的實際壽命。為了不讓所有粒子同時消失,我們通過Lifetime Randomness屬性來改變每個粒子的實際壽命。壽命隨機性越高,實際壽命之間的差異就越大。另外還有一個類似於Lifetime Randomness的Age Randomness的屬性。不同之處在於,Age Randomness用於調整Negative Initial Age,從而改變粒子的出生。
每個粒子在X,Y和X軸上具有速度屬性。通過調整三個維度的速度,用戶可以更好地控制粒子行為。例如,模擬重力或風等簡單的現象。
利用角速度,你同時可以控制粒子系統的旋轉,從而實現更為自然和動態的結果。
速度,顏色和大小屬性都可以選擇在開始,中間和結束階段之間使用不同的插值函數。
Spoke已經正式支持粒子系統,希望你可以嘗試一下並告訴我們你的想法。
虛擬角色表情
我的另一個項目是虛擬角色的表情。我負責了表情圖的設計,UI/UX設計,以及這一功能的實現。這實際上是一個十分簡單的項目:我需要確定表情符號顯示的樣式,界面級別的圖形設計,對交互流程做出決策並在Hub中實現它。
表情符號設計的演變
我們最終選擇了有著柔和邊緣的表情。
表情設計的最終版本
菜單用戶界面的圖標設計
與圖標交互時的設計
演示:
當你在Hubs中進入暫停模式時,表情符號框將出現並替換聊天框,你可以自由選擇各種表情符號。
※《無人深空》大更「Beyond」定檔8月14,支持虛擬現實
※AR版《我的世界》發布全新玩法視頻,兩周內開啟公測
TAG:映維VR |