Blender给一个对象添加多个动画

最近在做一个类似元宇宙的项目,需要使用3D建模软件来给3D模型添加动画,3D建模软件选择Blender(因为开源免费...),版本: V3.5

遇到的需求是同一个对象要添加多个动画,然后在代码里根据需要调取动画来执行。本人讲述在Blender里如何操作。


操作步骤

添加第一个动画

打开Blender,这里以默认的立方体为例,

把底部窗口网上拉一点,然后选择Dope Sheet,

变成如下这样,

接着点击右侧的下拉菜单,选择Action Editor,

此时就变成了动作编辑的窗口,然后选中立方体,接着点击New来创建新的动作,

点击后会默认给个名字叫"Action",这里改成"Action1",改完后要按下回车,

此刻处于第一帧,立方体位置是(x:0, y:0, z:0),然后把鼠标放在立方体所在的窗口里,接着按下"i"键,在弹出窗口里选择Location,这样帧1位置插入了一帧,

接着把帧拖到第60帧,

然后在右侧窗口把立方体的位置改为(x:3, y:0, z:0),

此时再按下"i"来插入一帧,这样第一个动画就做好了,

拖动时间线可以看到动画效果,

添加第二个动画

首先观察一下对象和动画的关系,如下图,2者联系在一起了,

在Action1右侧有三个按钮,第一个像盾牌,叫Fake User,第二个叫New Action,第三个叫Unlink Action,

三个按钮的意思是:

  • Faker User: 给动画添加一个虚假用户,Blender里如果动画没有和任何对象连接,那么重启后该动画就会被删除,虚假用户可以保证动画在重启Blender后不会被删除掉
  • New Action: 创建新动画
  • Unlink Action: 断开动画和对象的连接

点击第二个按钮来给立方体创建第二个动画,取名Action2,

Action2创建后,会默认使用Action1的帧,这里可以自行修改。

此时观察Cube的动画关系图,如下,

Action2处于当前动画位置,Action1则是被放到NLA Tracks里暂存起来了。此时如果导出立方体模型,然后在网页里使用threejs来解析,可以看到有2个动画,

但是如果把Action1选为当前动画,然后再次检查,发现只有一个动画Action1,

导入到网页里也只打印出一个动画。

那么该咋办呢?

首先把Action2选为当前动画(因为Action1已结暂存好了),然后在左侧发现有2个按钮Push Down和Stash,

含义如下:

  • Push Down: Push action down on to the NLA track as a new strip
  • Stash: Store this action in the NLA track as a non-contributing strip for later use

这里使用Push Down,点击之后再观察,可以看到立方体的NLA Tracks里包含了2个动画,

然后用threejs打印,可以看到也是有2个动画,

经过测试,Stash也可以达到同样效果,

这样就实现了在一个对象里添加多个动画的效果。

简单优化

可以在创建完第一个动画后,直接点击Push Down,然后再新建第二个动画,弄好帧之后再点击Push Down,以此类推...

相关推荐
云飞云共享云桌面41 分钟前
机械制造研发部门:一台SolidWorks云主机替代 10 台传统图形工作站
运维·服务器·网络·3d·自动化·制造
j7~1 小时前
【ProtoBuf】(篇一)初识 ProtoBuf
运维·服务器·序列化·protobuf·protobuf的适用特点
丰锋ff1 小时前
用户管理命令
linux·运维·服务器
BcoreOS1 小时前
‌新手必看:Debian 13 虚拟机 SSH 连不上?我是怎么一步步调试成功的
服务器
迪菲赫尔曼1 小时前
【基础篇 08】让VS Code连接服务器:界面在本地,文件保存到远端
运维·服务器·vscode·yolo·论文·教程·ultralyt
东方佑2 小时前
去魅:工具调用、Agent 调用、A2A、MCP、Harness 到底都是什么
服务器·网络·数据库
H.莓飛2 小时前
【数据结构】排序总结与规模实测
linux·服务器·开发语言·数据结构·visual studio·1024程序员节
Dxy12393102163 小时前
Linux 压缩解压相关命令介绍
linux·运维·服务器
云飞云共享云桌面3 小时前
非标自动化工厂研发部门怎么实现一台服务器带10个SolidWorks设计并发
运维·服务器·人工智能·3d·自动化·电脑·制造
遇见小修修3 小时前
打印机无法连接故障:操作误区汇总与排查教程
运维·服务器