在 DirectX 中混合动画 - 这在技术上可行吗?

发布于 2024-08-21 15:52:43 字数 265 浏览 7 评论 0原文

我有一个 .x 格式的动画网格,我已使用 D3DXLoadMeshHierarchyFromX 加载并为其提供了一个动画控制器。网格有两种动画,一种用于行走,一种用于在行走动画中投掷。

是否有可能以这样的方式混合这两个动画,使得两个动画可以一起运行,并且髋部以下的帧优先考虑步行,而髋部以下的帧优先考虑投掷动画?如果是的话,效果看起来会令人信服并值得追求吗?游戏开发者通常是否以这种方式混合动画以获得他们想要的所有不同动画,或者他们只是创建同一动画的多个版本,即投掷时行走、投掷时站立、不投掷时行走?

I have an animated mesh in the .x format I've loaded with D3DXLoadMeshHierarchyFromX and have an animation controller for it. The mesh has two animations, one for walking and one for throwing where the walk animation.

Is it at all possible to blend the two animations in such a way that both animations can run together with the walk taking priority for frames below the hip while throwing animation takes priority for frames above it? If it is will the effect look convincing therefore worth pursuing? Do game developers typically blend animations in such a way to get all the different animations they wish or do they simply create multiple versions of the same animation, i.e. walking while throwing, standing while throwing, walking without throwing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千笙结 2024-08-28 15:52:43

您可以使用 ID3DXAnimationController::SetTrackPriority 设置高优先级和低优先级动画轨道。然后,您可以使用 ID3DXAnimationController::SetPriorityBlend 在它们之间进行混合。

You can set High and low priority animation tracks with ID3DXAnimationController::SetTrackPriority. You can then blend between them using ID3DXAnimationController::SetPriorityBlend.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文