我如何在当前位置设置3D角色的动画,并使其无法捕捉到原点?上帝

问题描述 投票:0回答:1

如何在当前位置为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如何在当前位置为演员设置动画,而不是固定到原点?

godot gdscript
1个回答
0
投票

您将仅需为KinematicBody节点的子代设置动画。这样动画节点的原点就是KinematicBody的全局位置。

例如,受伤的动画应为KinematicBody而非KinematicBody本身下的MeshInstance设置动画。您可能希望将物理原理应用于伴随受伤动画的KinematicBody,您可以使用动画方法轨迹来调用它。

您还可以尝试为动画播放器轨道使用“捕获”更新模式。它将捕获动画目标的状态并将其插值到下一个关键帧。但是,这不会相对于位置进行动画处理。

© www.soinside.com 2019 - 2024. All rights reserved.