【Unity动画】综合案例完结-控制角色动作播放+声音配套

这个案例实现的动作并不复杂,主要包含一个 跳跃动作、攻击动作、还有一个包含三个动画状态的动画混合树。然后设置三个参数来控制切换。

状态机结构如下:

完整代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class GirlAnimacON : MonoBehaviour
{AudioSource OneAudioSour;public AudioClip RunVoiceClip;public AudioClip JumpVoiceClip;public AudioClip AttackVoiceClip;// 这个脚本实现控制角色动画播放以及声音播放Animator GirlsAnimator;float SpeedGirlsMove;bool TunMove=false;int TunMo = 0;void Start(){OneAudioSour = this.GetComponent<AudioSource>();GirlsAnimator = this.GetComponent<Animator>();//游戏初始化GirlsAnimator.SetBool("MoveBlend", false);GirlsAnimator.SetBool("Jump", false);GirlsAnimator.SetBool("Attack", false);TunMove = false;SpeedGirlsMove = 0f;}void Update(){ControllAnima();}/// <summary>/// 控制Player动画/// </summary>void ControllAnima(){if (Input.GetKey(KeyCode.W)){TunMove = false;//开关TunMo = 0;//开关//  开始移动动画的播放GirlsAnimator.SetBool("MoveBlend", true);SpeedGirlsMove += 0.1f;SpeedGirlsMove = Mathf.Clamp(SpeedGirlsMove, 0f, 20f);//限制最大最小数值}//else if (!Input.GetKey(KeyCode.W))//{//    SpeedGirlsMove -= 0.1f;//    SpeedGirlsMove = Mathf.Clamp(SpeedGirlsMove, 0f, 20f);//限制最大最小数值//}//--------------------------------if (Input.GetKeyUp(KeyCode.W)){//只执行一次TunMove = true;TunMo = 1;}if (TunMove){SpeedGirlsMove -= 0.1f;SpeedGirlsMove = Mathf.Clamp(SpeedGirlsMove, 0f, 20f);//限制最大最小数值}GirlsAnimator.SetFloat("MoveSpeed", SpeedGirlsMove);//------------------------------------------------控制其他动画-----------------------if (GirlsAnimator.GetCurrentAnimatorStateInfo(0).IsName("MoveBlend")){GirlsAnimator.SetBool("MoveBlend", false);}//------------------------------------------------控制其他动画-----------------------if (Input.GetKeyDown(KeyCode.Space)){//  开始跳跃动画的播放GirlsAnimator.SetBool("Jump", true);OneAudioSour.clip = AttackVoiceClip;//修改默认声音片段到组件中OneAudioSour.Play();//播放声音}if (GirlsAnimator.GetCurrentAnimatorStateInfo(0).IsName("JUMP")){GirlsAnimator.SetBool("Jump", false);}//------------------------------------------------控制gongji动画-----------------------if (Input.GetMouseButtonDown(0)){//  开始攻击动画的播放GirlsAnimator.SetBool("Attack", true);OneAudioSour.clip = AttackVoiceClip;OneAudioSour.Play();//OneAudioSour.PlayOneShot(AttackVoiceClip);}if (GirlsAnimator.GetCurrentAnimatorStateInfo(0).IsName("Attack")){GirlsAnimator.SetBool("Attack", false);}//------------------------------------------------控制其他动画-----------------------}public void PlayRunVoice1(){Debug.Log("跑步动画播到15帧了!开始播放跑步声音");OneAudioSour.clip = RunVoiceClip;OneAudioSour.Play();}public void PlayRunVoice2(){OneAudioSour.clip = RunVoiceClip;OneAudioSour.Play();Debug.Log("跑步动画播到30帧了!开始播放跑步声音");}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/225595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符设备驱动模块的编译

一. 简介 本文继上一篇文章的学习&#xff0c;上一篇文章学习了字符设备驱动框架的初步编写。文章地址如下&#xff1a; 字符设备驱动框架的编写-CSDN博客 本文对上一篇编写的驱动模块初步框架进行编译。 二. 字符设备驱动模块的编译 上一篇文章&#xff0c;编写了字符设备…

10、神秘的“位移主题”

神秘的“位移主题” 1、什么是位移主题2、位移主题的消息格式3、位移主题是怎么被创建的4、什么地方会用到位移主题5、位移主题的删除机制 本章主题是&#xff1a;Kafka 中的内部主题&#xff08;Internal Topic&#xff09;__consumer_offsets。 __consumer_offsets 在 Kafka …

[GESP样题 三级] 逛商场

题目名字 逛商场 题目链接 题意 给一定的零花钱&#xff0c;每个物品和剩余的零钱依次比较&#xff0c;只要能买就一定买&#xff0c;如果不能买就跳过&#xff0c;计算能买多少个物品&#xff1b; 思路 设置if循环来判断所剩零钱是否大于等于这个物品设置一个sum&#xff0c…

PHPRunner 10.91 Crack

PHPRunner是一款非常好用的网页制作工具&#xff0c;界面简洁美观&#xff0c;支持处理多个数据库连接并添加设计页面&#xff0c;页面中可以显示不同的不相关对象&#xff0c;如网格&#xff0c;单个记录&#xff0c;图表&#xff0c;报告等。PHPRunner支持多个操作系统&#…

【一起学Rust | 框架篇 | Tauri2.0框架】Tauri App开启远程调试功能

文章目录 前言一、搭建PageSpy环境二、接入SDK三、进行远程调试调试控制台网络抓包审查元素 四、延伸 前言 Tauri在Rust圈内成名已久&#xff0c;凭借Rust的可靠性&#xff0c;使用系统原生的Webview构建更小的App 以及开发人员可以灵活的使用各种前端框架而一战成名。 然而&…

批量识别名片并转换为Excel:提高工作效率的实用技巧

随着数字化的快速发展&#xff0c;很多传统的工作也开始向电子化转型。而名片管理就是其中之一。许多人会遇到与题目相似的问题&#xff1a;拥有大量名片&#xff0c;但却不方便携带和管理。 批量识别名片并将其转换为Excel格式是一个很好的想法&#xff0c;这不仅可以提高你的…

用Bat文件调用小牛翻译api快速翻译

为了帮助大家更加轻松地调用机器翻译api&#xff0c;本人探索实现了一种可以通过BAT文件来调用机器翻译api&#xff0c;对粘贴板中的文本进行翻译&#xff0c;并将翻译结果保存为txt文件。下面把实现步骤简要说明如下&#xff1a; 第一步&#xff1a;获取小牛机器翻译api 进入…

k8s-1.23版本安装

一、主机初始化 1、修改主机名 hostnamectl set-hostname master hostnamectl set-hostname node1 hostnamectl set-hostname node2 hostnamectl set-hostname node32、主机名解析 echo 192.168.1.200 master >> /etc/hosts echo 192.168.1.201 node1 >>…

用Gemini Pro 来做开发?API出来了

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【中国海洋大学】操作系统随堂测试8整理

1. RAID系统使用多块磁盘改进性能或可靠性&#xff0c;其中构建RAID0至少需要&#xff08;&#xff09;个磁盘&#xff1b;RAID5阵列至少需要&#xff08;&#xff09;个磁盘。 答&#xff1a;2 3 2. 请描述一下磁盘存储空间管理方法&#xff1a;成组链接法的数据结构、盘块回…

上班摸鱼不被老板发现:设计模式--观察者模式

观察者模式 观察者模式&#xff0c;又叫做发布–订阅模式(Publish/Subscribe)模式 观察者模式定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生改变时&#xff0c;会通知所有的观察者对象&#xff0c;使他们能够自动更…

【网络安全】网络防护之旅 - 非对称密钥体制的解密挑战

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《网络安全之道 | 数字征程》⏰墨香寄清辞&#xff1a;千里传信如电光&#xff0c;密码奥妙似仙方。 挑战黑暗剑拔弩张&#xff0c;网络战场誓守长。 目录 &#x1f608;1. 初识网络安…

vue-实现高德地图-省级行政区地块显示+悬浮显示+标签显示

<template><div><div id"container" /><div click"showFn">显示</div><div click"removeFn">移除</div></div> </template><script> import AMapLoader from amap/amap-jsapi-load…

Spring Boot业务代码中使用@Transactional事务失效总结

1、概述 我们知道 Spring 声明式事务功能提供了极其方便的事务配置方式&#xff0c;配合 Spring Boot 的自动配置&#xff0c;大多数 Spring Boot 项目只需要在方法上标记 Transactional注解&#xff0c;即可一键开启方法的事务性配置。当然后端开发人员对数据库事务这个概念并…

模型评估指标

1.回归模型 回归模型常常使用MSE均方误差&#xff0c;预测值与真实值之间的平均差距 2.分类模型 2.1 Accuracy正确率 分类正确的数目的占比 但在类别不平衡的情况下&#xff0c;模型可能倾向于预测占多数的类别&#xff0c;导致Acc高但对少数类别的预测效果其实比较差的。…

Vue脚手架 Vue CLI安装

目录 0.为什么要安装Vue CLI脚手架 1.配置方法 1.全局安装 (一次) 2.查看Vue版本&#xff08;一次&#xff09; 报错&#xff1a;出现禁止运行脚本 3.创建项目架子&#xff08;可多次&#xff09; 报错npm err! 问题&#xff1a;已知npm换过国内源&#xff0c;且进度条…

go-zero目录结构和说明

. ├── code-of-conduct.md 行为准则 ├── CONTRIBUTING.md 贡献指南 ├── core 框架的核心组件 │ ├── bloom 布隆过滤器&#xff0c;用于检测一个元素是否在一个集合中 │ ├── breaker 熔断器&am…

MicroPython相关教程

WebRepl MicroPython-ESP32之WebRepl-1Z实验室 - 简书 https://www.jianshu.com/p/c2ddd4fd05be ESP32上面webrepl的开启与连接 - 简书 https://www.jianshu.com/p/f4163eae4a05 Esp32安装micropython和配置webrepl记录备忘 - 哔哩哔哩 https://www.bilibili.com/read/cv121…

工资计算_分支结构 C语言xdoj63

问题描述 小明的公司每个月给小明发工资&#xff0c;而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资为S元&#xff0c;则他应交的个人所得税按如下公式计算&#xff1a; 1&#xff09; 个人所得税起征点为3500元&#xff0c;若S不超过3500&#xff0c;则…

数据挖掘目标(客户价值分析)

import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as snsIn [2]: datapd.read_csv(r../教师文件/air_data.csv)In [3]: data.head()Out[3]: Start_timeEnd_timeFareCityAgeFlight_countAvg_discountFlight_mileage02011/08/182014/0…