七夕來咯!又到了給重要的人送驚喜的時刻。
今年,除了將心意融入花和禮物,作為程式設計師,用自己的程式碼本事手搓一個技術感十足「七夕限定」驚喜,我覺得,這是不亞於車馬慢時代手寫信的古典主義浪漫。
那麼,應該怎樣創作出具有自我身份屬性的浪漫七夕驚喜呢?
玩法很多,今天給大家介紹一個不出錯的技術控浪漫實操方式——煙花粒子動畫,在虛擬空間為對方造一個漫天煙花,平行時空的浪漫,多酷。
必須的,煙花粒子動畫效果除了炫浪漫,還有多種切實的應用場景,比如,遊戲應用中,玩家得勝後的頁面呈現、春節等特定節假日的遊戲內氛圍打造等。
看個範例:
從粒子動畫走向更多精彩
煙花粒子動畫是搭載HMS Core 3D Engine實現的視覺效果,藉助3D Engine,還能開啟虛擬視界的更多精彩可能。3D Engine為開發者提供高效能、高畫質、高擴充套件性的實時3D引擎,以及便捷高效的視覺化開發工具,幫助開發者製作高品質的3D應用。
如果你是遊戲開發或者對遊戲開發感興趣,那麼你用3D Engine能耍得不只是浪漫。
1、高清渲染與視覺特效,高度還原逼真光影效果;
2、多執行緒PBR渲染,實現高效能實時3D渲染效果;
3、CPU/GPU粒子渲染,模擬爆炸、火焰、雨雪等視覺特效;
4、3D角色及流暢動畫輕鬆造,支援實時骨骼動畫、表情動畫、全身IK、動畫重定向、多重動畫狀態機融合;
5、提供自動導航網格生成,多目標的路徑規劃,NPC智慧尋路及智慧避障功能;
6、3D Studio提供便捷開發工具,支援場景編輯、材質編輯、動畫編輯、地形編輯、指令碼編輯等核心功能
總之,3D Engine在手,品質3D遊戲場面輕鬆有,不服來試!
實操指南——用3D Engine實現粒子動畫煙花效果
1、您需要建立一個新的關卡:在引擎首頁選單欄中,選擇「檔案 > 新建關卡」。
2、輸入Level名稱,比如「Fireworks」後,點選「確認」建立成功。完成後您將進入到玄天引擎的Level介面。
1、在場景煙花效果之前,我們需要適當調整關卡中的環境,首先去除我們用不到的實體:在引擎首頁「實體大綱」視窗中的預設環境找到著色球和地面網格實體,滑鼠右鍵點選刪除。
2、我們需要模擬一個較暗的環境:選中「實體大綱」視窗預設環境組中的天空,在引擎首頁右側的「元件屬性」視窗中找到高動態範圍天空盒元件,並調整曝光度屬性至-3.2。
3、選中「實體大綱」視窗預設環境組中的太陽,在引擎首頁右側的「元件屬性」視窗中找到定向光源元件,並滑鼠右擊該元件,點選「禁用元件」。
4、在「實體大綱」視窗中滑鼠右擊選擇「建立實體」。
5、在「實體大綱」視窗中選中新建立的實體,在元件屬性中重新命名為「Bloom」,並新增一個「光暈」元件和「後處理盒」元件來加強煙花粒子的光效。
6、設定光暈元件的引數如下圖。
完成以上步驟後你將得到以下效果
1、接下來我們需要為煙花粒子建立一些光效材質,首先在引擎首頁的全域性選單欄中點選「工具 > 材質編輯器」開啟材質編輯器。
2、在材質編輯器的選單欄中點選「檔案 > 新建」,建立一個新的材質檔案。
3、在彈出的視窗中選擇材質型別為「ParticleMesh」,並在工程目錄中的Assets資料夾中新建一個「Material」資料夾,將材質保持到此資料夾中,重新命名為「Particle」。
4、材質編輯器的「材質屬性」視窗中展示當前材質型別及可輸入引數設定,您可以在此修改其相應的引數設定,引數設定如下圖。
·基礎顏色:使用基礎顏色中的顏色,可以在輸入欄中直接輸入RGB值,也可以點選顏色方塊開啟「選擇顏色」視窗調整顏色。
·自發光:使用自發光屬性,需要先開啟「開啟」開關。顏色使用方式與基礎顏色屬性類似,強度決定了自發光的強度。
5、為了豐富我們的粒子光效,我們需要重複2~4步驟,重新建立兩個不同顏色的光效材質,並命名為「Particle_02」和「Particle_03」,引數設定如下圖。
1、返回引擎首頁,在全域性選單欄中點選「工具 > 粒子編輯器」開啟粒子編輯器。
2、在粒子編輯器中的「資源瀏覽」視窗中找到工程目錄中的「Assets」資料夾,點選選中後在瀏覽模板中滑鼠右擊並點選「新建資料夾」,命名為「Particle」。
3、在我們步驟2中建立的「Particle」資料夾中滑鼠右擊並點選「新建粒子系統」,命名為「Fireworks.particle」。
4、雙擊瀏覽面板建立的粒子進入編輯,在「發射器」視窗中會顯示一個預設效果:精靈粒子使用黃色材質,以每秒10個粒子的速度向上發射,粒子的生命週期為1秒。
5、我們需要建立一個向上發射的粒子部分和一個爆發的粒子部分組成發射和綻放的煙花效果,讓我們先編輯一個向上發射的粒子發射器。
點選發射器節點中的「發射器屬性」屬性分類後,您可在「細節」面板檢視該屬性分類下的屬性模組,按照下圖設定粒子最大發射數量和發射器時長。
點選發射器節點中的「生成方式」屬性分類,勾選使用「爆發列表」生成方式,並在爆發列表中新增一個元素設定粒子數量為4。
點選發射器節點中的「粒子基礎屬性」屬性分類,設定粒子的生命週期為1.5。
點選發射器節點中的「發射器形狀」屬性分類,在發射器形狀中選擇為長方形,並按照下圖設定尺寸。
點選發射器節點中的「速度」屬性分類,設定Z軸速度為7.0。
點選發射器節點中的「尺寸」屬性分類,勾選「尺寸隨時間變化」,選擇型別為曲線值,並按照下圖設定X、Y、Z的最大值和曲線。
點選發射器節點中的「外力」屬性分類,勾選加速度,並按下圖進行設定。
點選發射器節點中的「光照」屬性分類,勾選光照,並按照下圖引數進行設定。
點選發射器節點中的「渲染器」屬性分類,選擇渲染器為「網格體渲染器」,並在「Assets > Material > Particle.material」目錄中找到我們在材質編輯章節中儲存的材質進行指定。
在網格體中指定「sphere.fbx」。
6、此時,我們已經完成了一個向上發射的粒子發射器,接下來我們需要再對爆發的煙花粒子進行編輯。
首先我們在「發射器」視窗中滑鼠右擊,點選「新增發射器」新增一個新的發射器。
點選發射器節點中的「發射器屬性」屬性分類後,按照下圖設定發射器屬性引數。
點選發射器節點中的「生成方式」屬性分類後,按照下圖設定生成方式引數。
點選發射器節點中的「粒子基本屬性」屬性分類後,按照下圖設定粒子基本屬性引數。
點選發射器節點中的「發射器形狀」屬性分類後,按照下圖設定發射器形狀引數。
點選發射器節點中的「速度」屬性分類後,按照下圖設定速度引數。
點選發射器節點中的「尺寸」屬性分類後,按照下圖設定尺寸引數。
點選發射器節點中的「外力」屬性分類後,按照下圖設定外力引數。
點選發射器節點中的「光照」屬性分類後,按照下圖設定光照引數。
點選發射器節點中的「渲染器」屬性分類後,按照下圖設定渲染器引數。
7、重複步驟6,建立兩個新的發射器,豐富煙花的粒子效果。要注意的是,你可以在新建的兩個發射器中設定不同的「速度 > 球形速度」引數和「粒子基本屬性 > 粒子生命 > 生命週期」引數來豐富煙花效果,當然你也可以根據你的理解設定其他屬性的引數值。
8、此時我們已經完成了一個煙花粒子的設定,為了達到更加豐富的效果,我們可以將該粒子檔案進行復制,得到兩個新的擁有相同屬性引數的粒子效果,我們將其命名為「Fireworks_02」和「Fireworks_03」。
9、在粒子編輯器中開啟「Fireworks_02」粒子檔案,分別點選四個發射器節點中的「渲染器」屬性分類,將材質指定為我們在「材質編輯」章節中儲存的其他顏色的材質檔案「Particle_02」來豐富我們的煙花效果並儲存我們的編輯。同理我們在「Fireworks_03」粒子檔案中可以指定新的材質檔案「Particle_03」。
1、返回引擎首頁,在「實體大綱」視窗中滑鼠右擊點選「建立實體」,建立7個空白實體,並在「元件屬性」視窗中為其重新命名,可參考下圖。
2、在「實體大綱」視窗中多選新建的7個實體後,在「元件屬性」視窗在為其新增「粒子元件」。
3、在「粒子」元件中,指定我們儲存的粒子檔案,並開啟「開啟」按鈕,這裡我們可以為每個實體隨機指定「Fireworks」、「Fireworks_02」和「Fireworks_03」粒子檔案。
5、使用視口的控制元件隨機擺放7個實體的位置和旋轉,這將決定煙花發射的角度和位置。
6、最後我們還需要調整一下相機的角度和位置,我們在「實體大綱」視窗預設環境中選中「相機」實體。
7、在「元件屬性」視窗中找到「飛行攝像機輸入」元件,滑鼠右擊該元件,並將其刪除。
8、在相機元件中,點選進入攝像機視角後,你的視口將會呈現相機視角,你可以在視口中使用滑鼠和鍵盤移動視角。
9、選定好最佳的觀賞位置後,點選「返回預設編輯器相機視角」。
最終效果
完成上述步驟後,點選執行按鈕的下拉式選單,選擇「Play (Maximized)」全螢幕執行,您就可執行此場景了。
瞭解更多詳情>>
存取華為開發者聯盟官網
獲取開發指導檔案
華為移動服務開源倉庫地址:GitHub、Gitee
關注我們,第一時間瞭解 HMS Core 最新技術資訊~