PlaySlotAnimationAsDynamicMontage注意事項

我這做表情動畫融合到演員身上時被這個函數坑了下,主要還是沒有看這個函數的註釋。

動畫藍圖上DefaultGroup下有兩個槽AnimationSlot和FaceAnimationSlot,通過LayeredBlendperBone使表情動畫的頭部動畫融合到人身上,動畫藍圖大致以下:


然後代碼或者Sequencer中向兩個槽設置動畫即可,但發現效果是不對的。

代碼和sequencer都是通過PlaySlotAnimationAsDynamicMontage來實現的,看註釋的時候發現:

/** Play normal animation asset on the slot node by creating a dynamic UAnimMontage. You can only play one asset (whether montage or animsequence) at a time per SlotGroup. */
	UFUNCTION(BlueprintCallable, Category="Animation")
	UAnimMontage* PlaySlotAnimationAsDynamicMontage(UAnimSequenceBase* Asset, FName SlotNodeName, float BlendInTime = 0.25f, float BlendOutTime = 0.25f, float InPlayRate = 1.f, int32 LoopCount = 1, float BlendOutTriggerTime = -1.f, float InTimeToStartMontageAt = 0.f);
每個Group只能調用一個動畫資源,發現問題了,把兩個槽放到兩個Group下即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章