博客
关于我
Unity TimeLine的Playable脚本编写
阅读量:83 次
发布时间:2019-02-25

本文共 2117 字,大约阅读时间需要 7 分钟。

TimeLine PlayAble脚本编写指南

1. 新建 Playable Behavior 和 Playable Asset

在开始编写 Playable脚本之前,首先需要新建两个关键组件:Playable BehaviorPlayable Asset。这两个组件是 Playable 生命周期的基础,必须一并创建,才能实现完整的脚本功能。

  • Playable Asset 可以是任何类型的资源,例如 Text、Cube、Animation 等。它是脚本操作的目标对象,决定了脚本的具体作用范围。
  • Playable Behavior 定义了 Playable 的生命周期,包括开始、持续和结束状态。它决定了脚本在不同时间点的行为表现。

通过 UI,新建这些组件并将它们挂接到目标对象上,确保它们处于正确的位置和层级。

2. Playable Behavior 生命周期说明

Playable Behavior 的生命周期分为三个关键阶段:

  • 初始化(OnStart):当脚本被激活时,执行初始化操作。通常用于准备必要的数据或资源。
  • 持续(Update):在每帧或每段时间调用一次,用于更新当前状态或执行重复性操作。
  • 终止(OnStop):当脚本被移除或结束时,执行清理操作,释放资源或撤销变化。
  • 理解这些阶段对于编写高效脚本至关重要。例如,在UI.Text赋值操作中,初始化阶段可以加载目标 Text 组件,持续阶段则根据时间更新其文本内容。

    3. 脚本编辑

    在 Unity 中,脚本编写采用 C# 语言。以下是一些常见操作示例:

    示例 1:赋值 UI.Text
  • 创建一个新的 C# Script 组件,挂接到 Text 组件上。
  • 在脚本中定义一个 Update 方法,使用 Time.deltaTime 计算时间。
  • 根据时间比例,动态改变 Text 组件的 text 字段内容。
  • public class AssignText : MonoBehaviour {    public Text targetText;    private float startTime;    public void Start() {        startTime = Time.time;    }    public void Update() {        if (targetText) {            float elapsed = Time.time - startTime;            targetText.text = "Elapsed: " + elapsed.ToString("F2");        }    }}
    示例 2:改变 Cube 刚体颜色
  • 创建一个新的 Playable Behavior脚本,挂接到 Cube 上。
  • 在脚本中定义一个 Update 方法,随着时间变化改变 Cube 的颜色。
  • 确保在 OnStop 方法中释放资源或将颜色恢复到初始状态。
  • public class ChangeCubeColor : PlayableBehavior {    private Renderer renderer;    private Color originalColor;    public override void OnStart() {        renderer = GetComponent
    (); if (renderer) { originalColor = renderer.material.color; } } public override void Update() { if (renderer) { renderer.material.color = new Color( originalColor.r + Time.deltaTime * 0.1f, originalColor.g + Time.deltaTime * 0.1f, originalColor.b + Time.deltaTime * 0.1f ); } } public override void OnStop() { if (renderer) { renderer.material.color = originalColor; } }}

    注意事项

    • 脚本名称:确保脚本名称清晰,方便以后维护和查找。
    • 层级管理:合理管理脚本的层级,避免冲突或覆盖。
    • 性能优化:在 Update 方法中尽量减少资源消耗,避免长时间运行导致性能问题。

    通过以上步骤,可以轻松编写并优化 TimeLine 的 PlayAble 脚本,实现各种复杂场景的逻辑控制。

    转载地址:http://zjp.baihongyu.com/

    你可能感兴趣的文章
    NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
    查看>>
    NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
    查看>>
    NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
    查看>>
    NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
    查看>>
    NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
    查看>>
    NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
    查看>>
    NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
    查看>>
    NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
    查看>>
    NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
    查看>>
    NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
    查看>>
    NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
    查看>>
    NIH发布包含10600张CT图像数据库 为AI算法测试铺路
    查看>>
    Nim教程【十二】
    查看>>
    Nim游戏
    查看>>
    NIO ByteBuffer实现原理
    查看>>
    Nio ByteBuffer组件读写指针切换原理与常用方法
    查看>>
    NIO Selector实现原理
    查看>>
    nio 中channel和buffer的基本使用
    查看>>
    NIO三大组件基础知识
    查看>>
    NIO与零拷贝和AIO
    查看>>