在 android 应用程序上为 3d 角色设置动画

Posted

技术标签:

【中文标题】在 android 应用程序上为 3d 角色设置动画【英文标题】:Animate 3d character on android application 【发布时间】:2020-05-02 19:44:15 【问题描述】:

我有一个搅拌机角色 (.blend),我想将它作为动画集成到我的 android 应用程序中,就像这个应用程序 Hand Talk,我在互联网上搜索并找到了这些解决方案,但它们似乎都不够我:

1) 将字符导入为 obj 文件,然后将其加载并使用 OpenGL 在 Android 中显示。问题是我有很多动画(动作),每一帧都有很多帧,每帧都会生成一个 30MB 的文件,如果我将这些 obj 文件集成到我的应用程序中,这将使应用程序变得非常大。

2) 选择 Unity 3d。问题是我将使用 c# 对角色的动作进行编码,由于我拥有大量动画,这很耗时。

有什么新建议吗?

【问题讨论】:

Unity提供动画工具的时候,为什么还要用c#来制作动画 你能告诉我这是什么工具吗? 动画工具是内置的。阅读 unity 是动画师吗? 不,这就是您控制动画并混合它们的方式... 【参考方案1】:

要为每帧生成一个 30MB 的文件,您必须导出一个单独的网格对象,该网格对象已经变形以适合每一帧动画。这不是一种非常有效的保存动画数据的方法。

您只需要一个手的网格模型,然后使用骨架来变形网格数据。这将动画数据减少到只有大约 20 个骨骼的位置。然后根据骨骼位置计算顶点位置。骨架用于为 3D 游戏中的整个角色设置动画。

【讨论】:

感谢您的回答,我现在正在使用 fbx 格式,我正致力于减小它的大小

以上是关于在 android 应用程序上为 3d 角色设置动画的主要内容,如果未能解决你的问题,请参考以下文章

Android:在画布上为单个路径的 alpha 设置动画

如何在 Android TV 主屏幕上为当前正在运行的任务设置图标和标题

在 iTunes Connect 上为外包公司授予团队管理员角色

如何在 Android 中的另一个视图上为文本设置动画?

Android - 如何在 Google 地图上为 Google 徽标设置底部填充

android OpenGL渲染带骨骼动画的3D模型