gpt4 book ai didi

ios - Metal 角色动画

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:25 26 4
gpt4 key购买 nike

我刚刚深入研究了 Metal 的世界,我以为我已经掌握了它的窍门!但后来我想到,如果我想制作游戏,那么在屏幕上移动的静态物体是不够的。所以我的问题是,“是否可以使用 Metal 为模型创建动画?”

我看过其他 API,例如 SpriteKit 和 SceneKit,但我发现它们不支持着色器,而且没有 Metal 强大。

我能想到的唯一方法是创建 60 个不同的模型,然后一个接一个地加载,以产生一种“定格动画”效果,但我认为这可能会非常低效,并希望有一个更简单的答案?

非常感谢!

最佳答案

是的,还有其他更有效的动画制作方法。但在开始之前,先警告一下:看起来你真的找错人了。

Metal 是一个(概念上)非常低级的接口(interface)。您使用 Metal 来(几乎)直接与 GPU 对话,因此要使用它,您需要(有点)像 GPU 一样思考:在数据缓冲区、顶点转换等方面。您似乎在更高的水平上工作概念级别,因此您可能更适合高级游戏引擎之一:2D 的 SpriteKit 或 3D 的 SceneKit。 (或 Cocos 或 Unity 等第三方引擎。)另一方面,Metal 更适合构建这些游戏引擎。

SpriteKit 和 SceneKit 确实 支持着色器。看SKShaderSCNShadable在文档中(并确保单击“更多”链接以阅读完整的概述)。 SceneKit 还支持角色动画(又名骨骼动画或蒙皮):通常是在外部创作工具(Maya、Blender 等)中设计和绑定(bind)动画模型,然后使用 SceneKit 在运行时处理动画。

可以在 Metal 中执行诸如基于 GPU 的骨骼动画之类的操作。但是我还没有看到任何关于它的教程或类似的文章,可能是因为 Metal 是一项新技术。不过,从根本上说,它基于与您在 OpenGL 或 Direct3D 中用于骨骼动画的相同类型的技术——并且已经为这些技术编写了很多关于动画的文章。如果您愿意投入时间和精力在低层次上工作,那么从 GL/D3D 教程中改编主题相对容易。

关于ios - Metal 角色动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27758601/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com