You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在FlowEnt中创建流以实现多对象同步异缓动的位移旋转效果

FlowEnt 多对象同步动效实现方案

核心实现逻辑是利用FlowEnt中同一Flow层级下的所有Tween默认并行执行的特性,只需要给不同对象的动画配置相同时长、分别设置各自的缓动参数即可实现需求。

实现步骤

  • 首先确保项目中已正确集成FlowEnt库,导入所需命名空间
  • 在脚本中声明你需要控制的两个目标对象的引用,可直接在Inspector面板赋值
  • 创建Flow实例,在同一调用层级下分别为两个对象配置位移、旋转动画,单独设置缓动参数后启动Flow即可

完整代码示例

using FlowEnt;
using UnityEngine;

public class SyncDualObjectTween : MonoBehaviour
{
    public Transform targetObject1;
    public Transform targetObject2;

    private void Start()
    {
        new Flow()
            // 配置第一个对象的动效
            .For(targetObject1)
                // 位移动画:时长1.5秒,缓动为EaseInOutCubic
                .Tween(1.5f).Move(new Vector3(3f, 1f, 0f)).SetEasing(Easing.EaseInOutCubic)
                // 旋转动画:时长1.5秒,缓动为EaseOutBounce
                .Tween(1.5f).Rotate(new Vector3(0f, 180f, 0f)).SetEasing(Easing.EaseOutBounce)
            // 配置第二个对象的动效,和第一个对象的动效同层级,自动同步执行
            .For(targetObject2)
                // 位移动画:时长1.5秒,缓动为EaseOutElastic
                .Tween(1.5f).Move(new Vector3(-3f, 1f, 0f)).SetEasing(Easing.EaseOutElastic)
                // 旋转动画:时长1.5秒,缓动为EaseInOutSine
                .Tween(1.5f).Rotate(new Vector3(0f, -180f, 0f)).SetEasing(Easing.EaseInOutSine)
            // 启动流
            .Start();
    }
}

注意事项

  1. 要保证两个对象的动效完全同步,需要将所有并行执行的Tween的时长设为相同值,示例中统一使用1.5秒,可根据需求自行调整
  2. 每个Tween后单独调用SetEasing()方法即可为当前动画设置独立的缓动效果,不会影响其他动画的配置
  3. 如果需要在所有同步动画执行完成后触发后续逻辑,可在Flow的链式调用末尾添加.OnComplete(() => { /* 你的后续逻辑 */ })即可

内容的提问来源于stack exchange,提问作者Daniel Tranca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:36:05