事件觸發邏輯的應用
三種基礎的粒子特效如下。
烟花
火焰
雷電
粒子系統是特效的乙個種類。粒子系統本質上就是一種材質。單純的材質也可以做成動態的效果,只不過粒子系統能夠做出更複雜、精細化的特效。粒子系統的配置與材質不同,材質的配置中,除了製作素材以外,大部分是用藍圖進行模組化程式設計設計,而粒子系統是ue4裡面已經半成型的乙個模型,你只需要手動調參,更改顏色、速度、事件邏輯、物體形態等等即可,而不需要程式設計。因此做粒子系統更偏向美術一些,有美術功底的人知道調成什麼樣子好看。
ue4中,乙個粒子特效需要由兩部分組成,乙個是「niagara system」,即空的粒子系統,乙個是「niagara emitter」即粒子發生器。
乙個「niagara emitter」可以配置出乙個樣式的粒子,但是「niagara emitter」不能直接拖拽到關卡場景中,必須掛載到「niagara system」上。「niagara system」可以拖拽到場景中,但是「niagara system」自身不能配置粒子,只能新增「niagara emitter」獲得粒子。在程式執行的角度,「niagara emitter」相當於類,「niagara system」相當於類的實現。
乙個niagara system可以新增多個niagara emitter,組成更加花樣的圖形。如圖,乙個名為「ns_slash」的niagara system中掛載了四個niagara emitter。所有niagara emitter都不能直接拖入場景,但是可以把niagara system直接拖到場景中。
niagara emitter修改內部配置,所有掛載了它的niagara system也會同步修改(如上圖雷電光圈的niagara emitter顏色變了,那麼ns_slash的光圈也會相應改變)。而如果在niagara system修改配置,niagara emitter不會有絲毫改變,並且niagara system內部不能刪除niagara emitter擁有的功能。因此在物件導向的角度,niagara system和niagara emitter是繼承關係。通過這個特點,我們可以把多個一模一樣的niagara emitter掛載在niagara system裡(copy一下就行),再配置不同的引數,使得最終效果依然呈現花樣效果(如下圖雷電特效就是ne_blade和ne_tail各複製一次形成的四個niagara emitter組成的)
粒子系統中有size, color, life time等等引數需要配置。所有的引數幾乎都可以選擇三種常用的取值方式幅值。
第一種是單值,即引數是恆定不變的值。
第二種是範圍隨機數,用於多元素粒子發射器,比如可以形成各向不同性的噴濺效果。
第三種是向量曲線,多用於配置物體顏色隨時間變化。
在initial particle裡依次有持續時間、質量、顏色、粒子大小。
物理引擎方面,可以設定重力和阻力,使得粒子軌跡更切合實際。
spawn burst instanous的應用:烟花噴濺的效果。
用乙個簡單的****** sprite burst作為基礎,在spawn burst instanous裡面設定spawn count為10,於是由原本只有乙個粒子的運動變成了10個粒子同時四散飛出(系統自動設定隨機方向)。
spawn rate的應用:火焰燃燒的效果
在spawn rate裡設定count為4。如圖,可以看到火焰燃燒在乙個週期裡發生了四次(重點看燒起的那一刻),下一次開始時,上一次還沒結束,效果重疊,因此有一種火焰滾滾燃燒的立體感。由於設定了方向隨機,所以每次燃燒方向不一樣,更自然一些。
location event事件
death event事件
UE4 學習筆記之粒子系統基礎
什麼是粒子系統?粒子系統 用於建立並管理粒子的系統。粒子 乙個粒子本質只是遊戲世界裡的乙個點。通過粒子系統,我們可以控制粒子的出現和表現。發射器 粒子系統的元件,負責生成粒子。模組 發射器的元件,模組負責控制發射器粒子的表現。模組通常包括許多引數,如粒子的材質和初始速度。1.viewport 該面板...
UE4 利用粒子系統製作雲層
話不多說直接上圖,材質節點如下 材質節點主要有這幾個部分 cloudspeed法向量 time 時間 節點用來向材質 例如,panner 平移 cosine 余弦 或其他時間相關操作 新增經歷時間。multiply 乘 將接觸的材質的值相乘。屬性忽略暫停 ignore pause 如果為 true,...
UE4學習總結
標頭檔案 include components staticmeshcomponent.h 任意類 include camera cameracomponent.h 攝像機 include components inputcomponent.h 按鈕控制獲取 include gameframewor...