zoukankan      html  css  js  c++  java
  • Unity---动画系统学习(1)---在状态机中简单控制物体运动

    1. 介绍

    新建一个GameObject-Cube,在Window下添加Animation(快捷键ctrl+6)。会添加用于播放动画的三个东西。物体上的Animator组件、Animator Controller状态机、Animation Clip动画。

    1.1. Animator组件


    Controller:用状态机进行赋值,Cube可以使用这个状态机下的所有动画。
    Avatar:只有当物体为人形时才可以使用,之后学习篇会说到。
    Apply Root Motion:勾选了就不能改变物体Transform来运动,只能通过动画去运动了。

    1.2. Animation Clip动画


    samples:表示多少帧1s,越小动画播放的越慢。
    record:录制,点击后在物体上修改组件内容,会自动添加到Animation上面(推荐使用)!
    小红点下面的按钮可以再在状态机里创建动画。

    1.3. Animator Controller状态机(后续有详细介绍)


    状态机中可以放入许多Clip动画进行动画混合。
    Any State:任何状态
    Entry:默认开始状态
    Exit:退出状态
    CubeMoveAnimation是刚开始创建的那个动画,当运行时会自动播放Entry指向的CubeMoveAnimation动画。

    2. 实现

    2.1. Cube移动的实现

    如上图CLip,添加三个关键帧,
    第1个关键帧Cube.X为 0
    第2个关键帧Cube.X为 5
    第3个关键帧Cube.X为 0
    勾选Clip面板中的Loop,让其重复播放

    2.2. 添加事件


    点击添加事件,添加事件后每当Cube运动到这里后都会触发一次选择的事件。
    点击事件,会在Inspector面板显示选择方法。
    方法只能从挂载在Cube上的脚本中的public方法中选择。

  • 相关阅读:
    Using the @synchronized Directive
    What Are Threads?
    ios 线程同步
    CAAnimation 动画支撑系统
    UIView 动画 依赖与 CALayer的证据
    动画的定义
    Core Animation1-简介
    繁的是表象,简的是本质
    完全自定义动画
    线程安全与可重入
  • 原文地址:https://www.cnblogs.com/Fflyqaq/p/10739345.html
Copyright © 2011-2022 走看看