blender制作动画导入unity两种方式

案例无人机叶片旋转动画实现方式

1.方式一不带动画

需要在unity配合脚本实现。

csharp 复制代码
public class DroneBlades : MonoBehaviour
{
    [Header("叶片数组,按顺序拖入四片叶片")]
    public Transform[] blades;

    [Header("旋转速度 (度/秒)")]
    public float speed = 360f;

    void Update()
    {
        foreach (var blade in blades)
        {
            // 绕自身Y轴旋转
            blade.Rotate(Vector3.forward, speed * Time.deltaTime, Space.Self);
        }
    }
}

2.方式二带独立动画(行不通)

带动画四个独立动画不能实现,因为控制器不支持同时播放四个动画(行不通)。

  1. 在blender 做了四个叶 旋转动画,那么也就是四个模型下 都有动画;
  1. 导入到 unity就会有四条动画数据;每个动画控制一个叶片;
  1. 创建一个animator 创建控制器,控制器 只能控制一个同时播放不能同时播放四个;控制器需放在父物体上才能播放
  1. 总结
    1. blender如果做简单动画并不要求骨骼绑定才能在unity使用.
    2. blender制作的动画最好时顺序的,就是第一个5秒完成 一个动作,第二个5秒完成第二个动作,不能一个模型下同时完成两个动作(不是骨骼动画).
    3. 使用unity脚本,可以灵活简单实现简单旋转移动动画.
  2. 思考??
    1. 骨骼动画的优势
      • 骨骼动画不限于人形,适用于非人形模型(如四个叶片、机械臂、机翼等)。
      • 可以在一个Animation Clip里同时控制多个骨骼,实现多部件同步动作。
      • 每个骨骼控制一个部件,Unity播放Clip时各部件按关键帧运动,无需单独动画或脚本控制。
    2. 没有骨骼绑定的情况
      • 每个叶片或部件是独立Mesh对象。
      • 在Blender里直接旋转关键帧,它们各自独立动画,Unity无法用一个Clip统一控制。
      • 想要同步旋转,需要手动设置每片叶片相同关键帧,或者在Unity用脚本分别控制每片叶片。

同步实现多个动画骨骼绑定? 简单单个动画不需要骨骼.

还没验证 是否可以实现 四个骨骼实现四个叶片同时旋转,在一个动画中;

3.方式三使用骨骼绑定动画

使用骨骼动画,由于是四个叶片同时旋转需要使用骨骼动画实现同步旋转。

【已经验证】骨骼绑定实现叶片同步旋转,可以实现
  1. 通过骨骼绑定叶片实现旋转
  1. unity导入后也生成了对应的动画并且添加控制器后运行良好
  1. 不带骨骼文件导出大小100kb;带骨骼导出文件大小为120kb

4.blender导出fbx文件配置参考

相关推荐
HELLOMILI2 小时前
[UnrealEngine] 虚幻编辑器界面 | 虚幻界面详解 | UE5界面详解
游戏·ue5·编辑器·游戏引擎·虚幻·unreal engine
快乐觉主吖10 小时前
Unity内嵌浏览器插件:3DWebView,显示不支持的音频/视频格式解决办法
unity
AA陈超16 小时前
虚幻引擎UE5专用服务器游戏开发-32 使用Gameplay Tags阻止连招触发
c++·游戏·ue5·游戏引擎·虚幻
危险库20 小时前
【UE4/UE5】在虚幻引擎中创建控制台指令的几种方法
c++·ue5·游戏引擎·ue4·虚幻
ellis197021 小时前
toLua[四] Examples 03_CallLuaFunction分析
unity
大Mod_abfun1 天前
Unity游戏基础-4(人物移动、相机移动、UI事件处理 代码详解)
游戏·ui·unity·游戏引擎
大Mod_abfun1 天前
Unity游戏基础-3(UI层)
游戏·ui·unity·游戏引擎
ellis19701 天前
toLua[五] Examples 04_AccessingLuaVariables分析
unity
大有数据可视化1 天前
告别传统监控:基于Unity+IoT打造沉浸式数字孪生车间
物联网·unity·游戏引擎
▍ 小太阳 ☼2 天前
blender布局工作区突然变得很卡
动画·blender