记录:Unity脚本的编写5.0

目录

  • 前言
  • 创建动画
    • Unity Animation、Animator
    • 常用类
    • 关于两者的区别
    • Animator
  • 编写脚本

大型连续剧之在untiy中(或者别的什么活动)

前言

之前在场景中添加了背景音乐,而在我们的日常的体验中,可以发现游戏或者场景中有很多有趣的动画效果,今天就给我们的场景添加一个动画效果,并通过脚本对其进行一定的控制吧

创建动画

先创建一个文件夹用来装动画效果
在这里插入图片描述

Unity Animation、Animator

在使用和编写关于动画的内容之前需要先了解一下unity关于动画的组件,那就是Animation和Animator
在unity的老版本中我们只有Animation组件,在4.6版本以后则增添了Animator组件,如果只是控制一个动画的播放我们则用Animaton组件,如果是很多动画之间相互转换则使用Animator组件,它们两者的区别就是Animator有一个动画控制器(俗称动画状态机),使用它来进行动画切换是非常方便的,但缺点是占用内存比Animaton组件大

常用类

Animator:动画控制器,控制Mecanim动画系统的接口,用来管理多个动画;

Animation:用于播放动画,老版中单独的一个Animation也可以完成动画的播放和切换,不过状态切换之类的需要程序猿代码控制。在新版中,状态管理部分交给了Animator;

AnimationClip:动画剪辑片段,储存基于关键帧的动画,是用于Animation来播放动画;

AnimationState:动画状态,用来改变单一动画的播放速度、权重、时间、层级、播放Mode,以及混合模式;

AnimationEvent:动画事件,用于某种条件下触发自定义函数;

StateMachineBehaviour: 动画状态机管理器拓展类,脚本继承了该类之后,绑定到Animator上某State上面。当状态发生变化,可以重载响应函数。类似 触发器的响应函数;

关于两者的区别

相对于老版Animation,新版的Animator加入了动画状态机
在这里插入图片描述
相对于老版Animation,新版的Animator加入了骨骼Avatar(不过现在用不到就是了
在这里插入图片描述
详细了解可以阅读这篇文章
linkhttps://www.cnblogs.com/01zxs/p/9965115.html

Animator

回归正题,由于unity自己的动画控制非常逆天,总之就是很难用,并且旧版还已经不太常用,在这里就不再赘述,想要了解的可以看看这篇文章或者视频什么的
linkhttp://t.csdnimg.cn/erxaa
所以在这里就说说Animator
先找一些动画效果,一个小人做一些动作
在这里插入图片描述
将小人拖到场景中(随便拖一个就行)
于是就出现了那行蓝字,就是拖过来的对象了
在这里插入图片描述
(熟悉的方块和球回来啦)
点击对象,进行操作
添加Animator组件对动画进行控制
在这里插入图片描述
打开动画器
在这里插入图片描述
将动画中的蓝色三角形图标拖到动画器中,这里随便拖了几个
在这里插入图片描述
在动画器的动作中创建过渡进行动画的衔接
在这里插入图片描述
同理,继续操作达成图中的效果
在这里插入图片描述
在参数中创建tigger
在这里插入图片描述
试运行一下,点击动画器
在这里插入图片描述
看看场景中
在这里插入图片描述
在这里插入图片描述

发现小人进行了动画的演示

编写脚本

使用脚本控制动画的播放

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class NewBehaviourScript1 : MonoBehaviour
{Animator am;// Start is called before the first frame updatevoid Start(){am = GetComponent<Animator>();StartCoroutine(learnConroitine());//开启协程//StopCoroutine();//StopAllCoroutines();}// Update is called once per framevoid Update(){if (Input.GetKeyDown(KeyCode.F)){am.SetTrigger("zcc");//设置触发   //这是我的那个动画的名字//yield return new WaitForSeconds(5);//am.SetBool();//设置bool值// am.SetFloat();//设置浮点数//am.SetInteger();//设置整数值}//else//{//    yield return null;//}}//Unity中协程的使用,采用的是yield returnIEnumerator learnConroitine(){yield return new WaitForSeconds(5); yield return null;           //yield用于将方法切割开}
}

这个脚本应该可以在按键盘F的时候使动画播放

以上。

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

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

相关文章

pyspark连接mysql数据库报错

使用pyspark连接mysql数据库代码如下 spark_conf SparkConf().setAppName("MyApp").setMaster("local")spark SparkSession.builder.config(confspark_conf).getOrCreate()url "jdbc:mysql://localhost:3306/test?useUnicodetrue&characterE…

MFC 基础篇(一)

目录 一.SDK编程 二.为什么要学MFC&#xff1f; 三.MFC能做什么&#xff1f; 四.MFC开发环境搭建 五.MFC项目创建 六.消息映射机制 一.SDK编程 Application Programming Interface 应用程序编程接口。 Software Development Kit 软件开发工具包&#xff0c;一般会包括A…

【音视频 | opus】opus编码的Ogg封装文件详解

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

Android Gldie复用只取之前decode过的缓存resource,Kotlin

Android Gldie复用只取之前decode过的缓存resource&#xff0c;Kotlin import android.graphics.Bitmap import android.os.Bundle import android.util.Log import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.life…

ARMday1

1、计算机的组成 输入设备-输出设备-运算器-控制器-存储器 输入设备&#xff1a;键盘、鼠标、手柄、扫描仪 输出设备&#xff1a;显示屏、打印机、音响 存储器&#xff1a;存放数据以及指令、是实现“程序存储控制”的基础、外存、内存、cache、寄存器 控制器&#xff08;…

梳理自动驾驶中的各类坐标系

目录 自动驾驶中的坐标系定义 关于坐标系的定义 几大常用坐标系 世界坐标系 自车坐标系 传感器坐标系 激光雷达坐标系 相机坐标系 如何理解坐标转换 机器人基础中的坐标转换概念 左乘右乘的概念 对左乘右乘的理解 再谈自动驾驶中的坐标转换 本节参考文献 自动驾驶…

Android Datastore 动态创建与源码解析

涉及到的知识点 1、协程原理---->很好的博客介绍&#xff0c;一个小故事讲明白进程、线程、Kotlin 协程到底啥关系&#xff1f; 2、Channel知识点---->Android—kotlin-Channel超详细讲解 3、Coroutines : CompletableDeferred and structured concurrency 封装的DataS…

基于Chirp窄带扩频技术的无线混合组网应用,以多角色智能计量插座作为Chirp广域基站,构建边缘计算混合无线网络

随着物联网&#xff08;IoT&#xff09;的不断发展&#xff0c;无线通信技术的需求也在不断增加。Chirp窄带扩频技术是一种具有广泛应用潜力的无线通信技术&#xff0c;它在低功耗、广域覆盖、抗干扰等方面具备独特的优势。本文介绍了如何利用磐启微Chirp技术构建ECWAN无线混合…

卡尔曼滤波之二:Python实现

卡尔曼滤波之二&#xff1a;Python实现 1.背景描述2.构建卡尔曼滤波公式2.1 预测2.2 更新 3.代码实现3.1 输入值3.2 pykalman包实现3.3 不使用Python包实现3.4 效果可视化 参考文献 了解了卡尔曼滤波之一&#xff1a;基本概念&#xff0c;可以结合代码来理解下卡尔曼滤波的2个预…

【数据库】数据库模式 Schema

数据库模式 Schema 1.MySQL2.PostgreSQL3.SQL Server4.Oracle5.SQLite 在数据库的术语中&#xff0c;模式&#xff08;schema&#xff09;是一个逻辑概念&#xff0c;用于组织数据库中的对象。模式中的对象通常包括 表、索引、数据类型、序列、视图、存储过程、主键、外键 等等…

Electron[3] 基础配置准备和Electron入门案例

1 背景 上一篇文章已经分享了&#xff0c;如何准备Electron的基础环境了。但是博客刚发才一天&#xff0c;就发现有人问问题了。经过实践发现&#xff0c;严格按照作者的博客教程走是不会有问题的&#xff0c;其中包括安装的环境版本等都要一致。因为昨天发的博客&#xff0c;…

【论文阅读】Equivariant Contrastive Learning for Sequential Recommendation

【论文阅读】Equivariant Contrastive Learning for Sequential Recommendation 文章目录 【论文阅读】Equivariant Contrastive Learning for Sequential Recommendation1. 来源2. 介绍3. 前置工作3.1 序列推荐的目标3.2 数据增强策略3.3 序列推荐的不变对比学习 4. 方法介绍4…