除了高效之外根吁,GPU粒子最有意思的一項功能譬涡,就是矢量場。矢量場是一種統(tǒng)一的向量網(wǎng)格料皇,它可以影響場內(nèi)的粒子運動軌跡谓松。矢量場可以作為一個Actor放到世界中(作為全局矢量場),這樣践剂,它就能像一個Actor一樣被平移鬼譬、旋轉(zhuǎn)、縮放逊脯。他們是動態(tài)的优质,并且在任何時候都可能被移動。矢量場也可以被綁定到粒子系統(tǒng)(通過Cascade)军洼,這樣的矢量場稱為局部矢量場巩螃,它只能影響與之相關的發(fā)射器。當一個粒子闖入矢量場時匕争,它的運動狀態(tài)就被矢量場影響了避乏。反之,當粒子離開矢量場時甘桑,矢量場的影響也就消失了拍皮。
默認情況下,矢量場會給在它內(nèi)部的粒子一個作用力扇住。矢量場有個名為“緊密度(tightness)”的參數(shù)春缕,這參數(shù)控制著矢量場內(nèi)作用力對粒子的影響程度。當緊密度(tightness)為1時艘蹋,粒子就會直接讀取矢量場中速度锄贼,完全根據(jù)矢量場來運動。
靜態(tài)矢量場是內(nèi)部向量永遠不會發(fā)生的場女阀。這些場可以從Maya等3方軟件中導出宅荤,然后作為立方體貼圖導入到UE4中屑迂。靜態(tài)場的好處就是它不占什么資源,而且也能創(chuàng)造一些有意思的運動軌跡冯键。最關鍵的是惹盼,靜態(tài)場本身也是能動的!1谷贰手报!
除此之外,矢量場也能從2D圖片中重建出來改化。在這種情況下掩蛤,圖片更像是一種法線貼圖的樣式,把這張圖繞著相應空間擠壓陈肛、旋轉(zhuǎn)揍鸟,然后形成一個立方體貼圖。重建完成后句旱,還能添加一個靜態(tài)矢量場來增加一些噪聲和隨機性阳藻。更進一步,2D圖片可以通過在圖集中存儲單獨幀來添加動畫谈撒。這么做就讓你能在離線狀態(tài)下生成流體模擬腥泥,然后用較少的代價完成實時重建。
全局矢量場
全局矢量場港华,如同前面描述的道川,能被當成一個Actor放到Level中。但是不能直接從內(nèi)容瀏覽器中拖進去立宜,需要先放一個矢量場空間Actor進去冒萄,然后把矢量場關聯(lián)到這個Actor上。
矢量場空間Actor
矢量場空間Actor并不是傳統(tǒng)意義上的空間橙数。在類瀏覽器中搜索Vector Field Volume尊流,把它拖進level中。然后在Actor的屬性里把矢量場拖進去灯帮。一旦加入崖技,這個場就能被放置、旋轉(zhuǎn)钟哥、縮放了迎献。
所有的GPU粒子系統(tǒng)都能包含一個全局矢量場模塊,這樣腻贰,粒子系統(tǒng)就會受到全局矢量場的影響吁恍。
上圖就能明顯地看出在矢量場中的粒子和其他不在矢量場中的粒子運動狀態(tài)的差別。
局部矢量場
稱之為局部矢量場是為了和全局矢量場區(qū)分開,局部矢量場是一種只對粒子系統(tǒng)本身產(chǎn)生影響的矢量場冀瓦,它不是真的被放到世界中伴奥。這意味著局部矢量場只會影響粒子系統(tǒng)的發(fā)射器,這點與全局矢量場完全不同翼闽,全局矢量場可以影響任何擁有全局矢量場模塊的粒子系統(tǒng)拾徙。
局部矢量場的添加是通過局部矢量場模塊。
原文鏈接:Vector Fields
中文文檔鏈接:矢量場