博客
关于我
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/

    你可能感兴趣的文章
    Objective-C实现MinimumCostPath最小成本路径算法(附完整源码)
    查看>>
    Objective-C实现min_heap最小堆算法(附完整源码)
    查看>>
    Objective-C实现mobius function莫比乌斯函数算法(附完整源码)
    查看>>
    Objective-C实现modular Binary Exponentiation模二进制指数算法 (附完整源码)
    查看>>
    Objective-C实现modular exponential模指数算法(附完整源码)
    查看>>
    Objective-C实现monte carlo dice蒙特卡洛骰子模拟算法(附完整源码)
    查看>>
    Objective-C实现monte carlo蒙特卡罗算法(附完整源码)
    查看>>
    Objective-C实现Mosaic Augmentation马赛克增强算法(附完整源码)
    查看>>
    Objective-C实现msd 基数排序算法(附完整源码)
    查看>>
    Objective-C实现MSRCR算法(附完整源码)
    查看>>
    Objective-C实现multi level feedback queue多级反馈队列算法(附完整源码)
    查看>>
    Objective-C实现multilayer perceptron classifier多层感知器分类器算法(附完整源码)
    查看>>
    Objective-C实现multiplesThreeAndFive三或五倍数的算法 (附完整源码)
    查看>>
    Objective-C实现n body simulationn体模拟算法(附完整源码)
    查看>>
    Objective-C实现naive string search字符串搜索算法(附完整源码)
    查看>>
    Objective-C实现natural sort自然排序算法(附完整源码)
    查看>>
    Objective-C实现nested brackets嵌套括号算法(附完整源码)
    查看>>
    Objective-C实现nevilles method多项式插值算法(附完整源码)
    查看>>
    Objective-C实现newton raphson牛顿-拉夫森算法(附完整源码)
    查看>>
    Objective-C实现newtons second law of motion牛顿第二运动定律算法(附完整源码)
    查看>>