前言

.abc格式的模型场景是一种包含动画信息的模型场景。全名为Alembic,我在搜索这个名字的时候发现还有一个同名的关于数据库的工具,二者并没有关系。
Alembic的官网是:http://www.alembic.io/
这篇博客首先从官网上摘取一些基本概念,然后尝试使用Houdini,Blender导出abc格式,再用UE4和Unity尝试导入。

官网上的基本概念

Alembic是一个开源的CG通用格式。 Alembic将复杂的动画场景提取为一组非程序化的,与应用程序无关的烘焙几何体结果。

Alembic是:

…一种存储CG场景的方案
…将负责模型的Artist的结果提取出来,以移交给负责其他工作的Artist(比如灯光,渲染等)
…致力于寻找应用程序之间的“最大公约数”,即“ CG图形的周期表”
…可扩展性的,来支持新的工作流程和新工具

Alembic不是:

…A dependency graph, nor a procedural data transformation tool(翻译存疑)
…可以取代应用程序的原生场景文件格式
…资源管理程序
…一个通用的存储绑定的方案

Alembic可以用来:

…“烘焙”出动画场景的结果,以移交给灯光和渲染
…移交一个生物的动画,用来做布料或肌肉模拟。
…保存布料或肌肉模拟的结果,以用于灯光和渲染
…移交一个几何体的动画,交给物理仿真引擎。
…保存物理仿真引擎的结果,以用于灯光和渲染

Alembic不能用来:

…在不同的应用程序之间传递复杂的程序化动画绑定
…在相同的计算环境中进行无损往返
…To construct complex networks of procedural tools(构建复杂的程序化工具网络?具体指什么?)

Houdini导出

在Houdini中简单做一个metaball的动画:
在这里插入图片描述
File->Export->Alembic:
在这里插入图片描述
接下来选择路径,帧的范围,还有导出谁(*符号表示所有)
在这里插入图片描述

Blender导出

在Blender中做一个简单的旋转正方体的动画:
在这里插入图片描述
File->Export->Alembic:
在这里插入图片描述

UE4导入

UE4拖入abc文件后会有导入选项:
在这里插入图片描述
记得将Import Type选择为Geometry Cache(可以看到目前还是实验性内容)。然后缩放可以设为100,否则模型可能会太小。
导入后,拖入场景中,点play后即可看到效果:
在这里插入图片描述

Unity导入

Unity的Alembic官方插件:GIT链接。上面有插件的.unitypackage。
可是我安装之后,导入abc文件时出现了错误:
在这里插入图片描述
看来之后需要仔细研究一下了。

Logo

这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!

更多推荐