当前位置: 首页 > news >正文

Unity动画系统(2)

6.1 动画系统基础2-3_哔哩哔哩_bilibili

p316

模型添加Animator组件

动画控制器

AnimatorController

AnimatorController

可以通过代码控制动画速度

建立动画间的联系

bool值的设定

trigger

p318

trigger点击的时候触发,如喊叫,开枪及换子弹等,执行完成后自动回复原状态

通过代码调整动画播放速度

动画播放速度与某一个参数关联到一起

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EthanController : MonoBehaviour
{
    private Animator ani;
    private void Awake()
    {
        ani = GetComponent<Animator>();
    }

    private void Update()
    {
        动画参数名称可以转换为一个ID【int】
        //int id = Animator.StringToHash("CanMove");
        //Debug.Log("ID"+id);
        设置后读取动画参数
        //ani.SetBool("CanMove",true);
        [使用HashID进行参数的设置或读取,效率更高]
        //ani.SetBool(id, true);

        //ani.SetFloat
        //ani.GetFloat
        //ani.SetInteger
        //ani.GetInteger
        //ani.SetTrigger
        //ani.SetTrigger [触发参数]

        ani.SetFloat("ShoutPlaySpeed", 2);
        ani.SetFloat("ShoutPlaySpeed",2,0.5f,Time.deltaTime);

        //按下方向键左键
        if (Input.GetKeyDown(KeyCode.LeftArrow)) {
            ani.SetBool("CanMove", true);
        }

        if (Input.GetKeyDown(KeyCode.RightArrow)) {
            ani.SetBool("CanMove", false);
        }

        if (Input.GetKeyDown(KeyCode.Space)) {
            ani.SetTrigger("Shout");
        }
        if (Input.GetKey(KeyCode.S)) {
            //设置喊叫动画的播放速度,有0.5s过渡时间
            ani.SetFloat("ShoutPlaySpeed",2,0.5f,Time.deltaTime);
        }
    }
}
 

相关文章:

  • Zookeeper底层原理
  • 【Linux】虚拟机安装 openEuler 24.03 X86_64
  • 【Linux】正确的关机方法
  • 通过代理从ARDUINO IDE直接下载开发板包
  • LLMs之gpt_academic:gpt_academic的简介、安装和使用方法、案例应用之详细攻略
  • 板凳----Unix 网络编程卷1: 第三章: 套接字编程简介
  • Leetcode秋招冲刺--(专题7-9)
  • 原生js如何播放m3u8文件的视频,并且实现切换视频源
  • 现代智能宠物喂食器方案定制
  • Node.js的应用场景
  • Java面试题系列 - 第2天
  • 【docker】运行阶段遇到的问题
  • 前端代码生成辅助工具
  • 量化实例分析初探
  • 【linux】网络基础(3)——tcp协议
  • angular组件开发
  • Codepen 每日精选(2018-3-25)
  • Facebook AccountKit 接入的坑点
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • java8-模拟hadoop
  • JS字符串转数字方法总结
  • MD5加密原理解析及OC版原理实现
  • Python 反序列化安全问题(二)
  • Web标准制定过程
  • Web设计流程优化:网页效果图设计新思路
  • 多线程事务回滚
  • 分布式事物理论与实践
  • 给第三方使用接口的 URL 签名实现
  • 工作手记之html2canvas使用概述
  • 关于 Cirru Editor 存储格式
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • Semaphore
  • #162 (Div. 2)
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • (备忘)Java Map 遍历
  • (二)springcloud实战之config配置中心
  • (四)Android布局类型(线性布局LinearLayout)
  • (算法二)滑动窗口
  • (图)IntelliTrace Tools 跟踪云端程序
  • (循环依赖问题)学习spring的第九天
  • (一)Docker基本介绍
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)LINQ之路
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET Framework与.NET Framework SDK有什么不同?
  • .net 按比例显示图片的缩略图
  • .NET 的程序集加载上下文
  • .net 调用php,php 调用.net com组件 --
  • .net 使用ajax控件后如何调用前端脚本
  • .NET多线程执行函数
  • .NET和.COM和.CN域名区别
  • .net后端程序发布到nignx上,通过nginx访问
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .net连接oracle数据库