Unity Timeline学习笔记(5) - 自定义轨道切片上变量Transform对象丢失,使用ExposedReference来解决。

问题

我在笔记(4)中后来又引用了Hierarchy中的Transform对象Transform obj,发现一些问题。

要么无法拖入进去对象,要么拖入进去保存后,再次编辑或者运行的时候发现obj丢失了。

我们还是用修改下笔记(4)的部分代码来解决。

[DisplayName("玩家固定(Transform)Clip")]
[Serializable]
public class PlayerTransformMixerPlayableAsset : PlayableAsset
{
    [Tooltip("固定玩家的Transform")]
    public ExposedReference<Transform> fixedTransform;
    [Tooltip("结束后返回原始位置")]
    public bool FinishToBack = true;

    //public PlayerTransformBehaviour template = new PlayerTransformBehaviour();
    public ClipCaps clipCaps
    {
        get
        {
            return ClipCaps.Blending; 
        }
    }
    public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
    {
        PlayerTransformBehaviour template = new PlayerTransformBehaviour();
        template.fixedTransform = fixedTransform.Resolve(graph.GetResolver());
        template.FinishToBack = FinishToBack;
        return ScriptPlayable<PlayerTransformBehaviour>.Create(graph, template);
       
    }

  
}

  
public class PlayerTransformBehaviour : PlayableBehaviour
{
    public Transform fixedTransform;  
    public bool FinishToBack = true;  
    public float passtime;  //计算当前块的播放进度
    public bool started;  //是否刚进入
}

我们需要把面板值加上ExposedReference来添加引用。
然后创建的时候通过fixedTransform.Resolve来赋值就可以了。

说明

ExposedReference 是一个泛型类型,可用于创建对场景对象的引用,以及通过使用上下文对象在运行时解析它们的实际值。ScriptableObject 或 PlayableAsset 等资源可使用它来创建对场景对象的引用。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-01 16:22:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-01 16:22:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-01 16:22:03       87 阅读
  4. Python语言-面向对象

    2024-05-01 16:22:03       96 阅读

热门阅读

  1. ubuntu20.04下Stable Video Diffusion安装和测试

    2024-05-01 16:22:03       32 阅读
  2. 【NetTopologySuite类库】计算三点所在平面的法向量

    2024-05-01 16:22:03       25 阅读
  3. 机器学习之sklearn基础教程

    2024-05-01 16:22:03       33 阅读
  4. 设计模式的原则与分类

    2024-05-01 16:22:03       30 阅读
  5. 中国南玻集团(三面)

    2024-05-01 16:22:03       28 阅读
  6. selenium4.x 之POM概况

    2024-05-01 16:22:03       33 阅读
  7. 【QT教程】QT6图形渲染与OpenGL编程

    2024-05-01 16:22:03       26 阅读