UE5管理內(nèi)容-靜態(tài)網(wǎng)格體變形目標(biāo)

利用?變形目標(biāo)(Morph Targets)?可以將網(wǎng)格體從基礎(chǔ)形狀變?yōu)?目標(biāo)?形狀。 通常它們將作為動(dòng)畫(huà)系統(tǒng)的一部分與SkeletalMesh一同使用;然而使用?StaticMeshMorpher.ms
?maxscript和?StaticMeshMorphTarget?材質(zhì)函數(shù)、 StaticMesh也能設(shè)置使用變形目標(biāo)進(jìn)行變形。
此方法使用多個(gè)UV通道、頂點(diǎn)顏色和WorldPositionOffset來(lái)執(zhí)行變形。 每個(gè)變形目標(biāo)的頂點(diǎn)偏移被保存為UV通道中的頂點(diǎn)顏色。 StaticMeshMorphTarget材質(zhì)函數(shù)將對(duì)其進(jìn)行提取,使其在材質(zhì)中可用。將其傳至材質(zhì)的WorldPositionOffset輸入后,網(wǎng)格體的頂點(diǎn)可變換到變形目標(biāo)中頂點(diǎn)的位置。
腳本設(shè)置和安裝
StaticMeshMorpher.ms
?腳本在版本中的?UE4/Engine/Extras/FX_tools/3DSMax2012_x64/
路徑下。?
運(yùn)行?StaticMeshMorpher.ms
?maxscript?的方法:
在3dsMax的?MAXScript?菜單中選擇?運(yùn)行腳本(Run Script...)。
導(dǎo)航到版本中?
StaticMeshMorpher.ms
maxscript 所在的路徑并將其打開(kāi)。腳本的接口將顯示,可供使用。
腳本也可以綁定到一個(gè)按鍵組合或添加到自定義菜單來(lái)使其更快速而簡(jiǎn)便地運(yùn)行。
創(chuàng)建變形目標(biāo)
變形目標(biāo)要求將相同網(wǎng)格體多個(gè)實(shí)例的頂點(diǎn)執(zhí)行變換。 舉例而言:融化的冰球可能有三種形式:



變形目標(biāo)將打包到UV通道2和3中(假定兩個(gè)變形目標(biāo)正在被打包),如有必要,變形目標(biāo)1的法線也能保存在網(wǎng)格體的頂點(diǎn)顏色中。
打包變形目標(biāo)的步驟:
按下

??按鈕,然后在場(chǎng)景中選擇游戲模型網(wǎng)格體。

2.按下??

鍵,然后在場(chǎng)景中選擇第一個(gè)變形目標(biāo)的網(wǎng)格體。

3.為場(chǎng)景中的第二個(gè)變形目標(biāo)(如有)重復(fù)上述步驟。

4.如有必要,勾選?保存變形1法線(Store Morph 1 Normals)?勾選框。
5.按下?

?開(kāi)始將變形目標(biāo)打包到UV通道中。

6.網(wǎng)格體可從3dsMax導(dǎo)出,正常導(dǎo)入虛幻引擎。
材質(zhì)設(shè)置
StaticMeshMorphTargets?函數(shù)可訪問(wèn)應(yīng)用到?StaticMesh?的?Material?中的變形目標(biāo)和法線。此函數(shù)擁有兩個(gè)相應(yīng)于兩個(gè)變形目標(biāo)的輸出,以及法線的一個(gè)輸出。 變形目標(biāo)輸出提供的值可插入?Material節(jié)點(diǎn)中的 WorldPositionOffset 輸入通道;而法線輸出可連接到?Material?節(jié)點(diǎn)的?Normal?輸入通道。
為在基礎(chǔ)網(wǎng)格體和變形目標(biāo)之間進(jìn)行?變形,將使用一個(gè)或多個(gè)?LinearInterpolate?表達(dá)式結(jié)合單個(gè)?ScalarParameter?來(lái)驅(qū)動(dòng)Alpha輸出。 這使得變形目標(biāo)可在運(yùn)行時(shí)由gameplay代碼或Matinee驅(qū)動(dòng)。
設(shè)置范例(僅變形網(wǎng)絡(luò))顯示于此:

上方網(wǎng)絡(luò)中?Time?參數(shù)從0到1時(shí)的結(jié)果顯示如下:
