如何在当前位置为3D角色制作动画,并使它不与原点对齐?
[嘿,我想知道如何解决动画问题,当我在3D运动物体节点(我的播放器)中定义动画并想播放该节点中定义的损坏动画时,在我的关卡场景中用
func _on_Enemy_body_entered(body):
# Console Printout Replace this with GUI & game Anim
#print("Damaged")
$AnimationPlayer.play("dmg")
动画在关卡上播放,但节点捕捉到原点以进行播放,我希望动画在当前播放器位置发生,如何在关卡场景中向该节点内定义的动画添加播放器变换?
I've heard that parenting it to an empty helps, tried it and though I can offset where anim plays it still snaps far from the player location.
I've also seen 'tweening' node might be a possible solution?
TL:DR如何在当前位置为演员设置动画,而不是固定到原点?
您将仅需为KinematicBody节点的子代设置动画。这样动画节点的原点就是KinematicBody的全局位置。
例如,受伤的动画应为KinematicBody而非KinematicBody本身下的MeshInstance设置动画。您可能希望将物理原理应用于伴随受伤动画的KinematicBody,您可以使用动画方法轨迹来调用它。
您还可以尝试为动画播放器轨道使用“捕获”更新模式。它将捕获动画目标的状态并将其插值到下一个关键帧。但是,这不会相对于位置进行动画处理。