【Unity】如何做一个很平滑的行人动画,且可以根据行人速度动态调整动画速度?

首先我们定一下不同速度对应的行人动作状态,设计为四种状态:

  • 静止站立Stand:0~maxStandSpeed
  • 走路Walk:minWalkSpeed~maxWalkSpeed
  • 慢跑Jog:minJogSpeed~maxJogSpeed
  • 快跑Run:大于MinRunSpeed

我们可以使用Animator组件实现行人的不同动画,可以设计为如下行人动画状态机:
在这里插入图片描述
并通过速度做动画的切换,其中Animator有一个方便之处是不同动画之间切换的过渡是可以通过Transitions来实现,这样动画之间切换就不会突兀。

此外,在Walk, Jog, Run这三个动画中,还可以根据行人速度调整动画自身的速度Speed。在Unity editor中动画速度在如下图中调整(默认为1),也可以代码动态调整。
在这里插入图片描述
然后我们将行人的速度映射为动画的速度,可以采用归一化映射方法:

映射公式如下:
y = y m i n + y m a x − y m i n x m a x − x m i n ∗ ( x − x m i n ) y = y_{min} + \frac{y_{max} - y_{min}}{x_{max} - x_{min}} * (x - x_{min}) y=ymin+xmaxxminymaxymin(xxmin)
其中, y m a x y_{max} ymax为要映射的目标区间最大值, y m i n y_{min} ymin为要映射的目标区间最小值, x m a x x_{max} xmax为数据的最大值, x m i n x_{min} xmin为数据的最小值, x x x为当前数据值, y y y为归一化映射后的值。
将映射后的值调整到动画上的速度就可以根据行人速度动态调整动画的速度

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

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

相关文章

FISCO BCOS x GitLink,为国产开源技术生态注入新活力

作为中国领先的区块链底层平台之一,FISCO BCOS 自成立以来始终致力于推动国产开源区块链技术的应用和普及。近期,FISCO BCOS 将开源代码托管到CCF官方代码托管平台 GitLink (确实开源),为国产开源技术生态注入新活力。…

C++类型转换深度解析:从基础数据类型到字符串,再到基础数据类型的完美转换指南

前言 在 C 编程中,我们经常需要在基础数据类型(如 int、double、float、long、unsigned int 等)与 string 类型之间进行转换。这种转换对于处理用户输入、格式化输出、数据存储等场景至关重要。 本文将详细介绍如何在 C 中实现这些转换。 文…

刚实习的大学生如何避免招聘骗局?

大学生在求职过程中,常常成为招聘骗局的受害者。为了避免这种情况,大学生需要提高警惕,采取一系列措施来防范招聘骗局。以下是一些建议: 首先,大学生应当保持警惕,不轻信招聘信息。在求职时,务…

使用 Elasticsearch 设计大规模向量搜索

作者:Jim Ferenczi 第 1 部分:高保真密集向量搜索 简介 在设计向量搜索体验时,可用选项的数量之多可能会让人感到不知所措。最初,管理少量向量很简单,但随着应用程序的扩展,这很快就会成为瓶颈。 在本系列…

Linux下的/etc/resolv.conf

Linux下的/etc/resolv.conf 文件用于配置域名解析器的设置,告诉系统在解析域名时要查询哪些DNS服务器。nameserver:指定DNS服务器的IP地址。你可以列出多个nameserver,系统将按顺序尝试它们,直到找到可用的DNS服务器。 nameserve…

ip地址公和内有什么区别

在数字化世界中,IP地址扮演着至关重要的角色。它不仅是网络设备的身份标识,更是信息传输的桥梁。然而,并非所有IP地址都拥有相同的属性和功能。公有IP地址和私有IP地址,作为IP地址的两大类别,它们存在着显著的差异。虎…

C#A类调用B类的方法,在方法中更新B类的控件

1.首先在B类中定义静态成员 public static B bnull; 其次,在B类构造函数中给静态成员初始化 public B(){B this;InitializeComponent();} 在A类中,调用更新B类控件的方法 B.b.Method("已通过"); 2.如果当前方法所在的线程不是UI线程&…

成都百洲文化传媒有限公司电商服务的领航者

在当今数字化浪潮席卷全球的时代,电商行业以其独特的魅力和无穷的潜力,正成为推动经济发展的重要引擎。在这一领域,成都百洲文化传媒有限公司以其专业的电商服务和创新的营销理念,成为了行业的佼佼者,引领着电商服务的…

芯片后端对于芯片设计公司的重要性

在芯片设计流程中,后端设计是一个至关重要的环节,它直接关系到芯片从设计到实际生产的转化,以及最终产品的性能、可靠性、成本和上市时间。 以下是为什么芯片后端非常重要的几个关键原因: 物理实现:后端设计是芯片从逻…

【车载开发系列】车载电源介绍

【车载开发系列】车载电源介绍 【车载开发系列】车载电源介绍 【车载开发系列】车载电源介绍一. 整车的两个电源二. 整车电源的状态1)OFF模式2)ON模式3)ACC模式4)CRANK模式 三. 整车电源相关术语说明 一. 整车的两个电源 发电机&…

git子模块应用和常用用法

概念 子模块:分离项目不同模块,集成一个大的项目,方便模块管理,比如模块各自管理自己的依赖。 命令 1. 初始化拉取,更新子模块 git submodule update --init --recursive --remote参数: –init: 初始化远…

CAP理论

CAP理论 在分布式系统的世界中,CAP理论是一个绕不开的话题。CAP,即Consistency(一致性)、Availability(可用性)和Partition tolerance(分区容错性),这三个属性在分布式系…

langchain发布了v0.2版本

文章目录 前言1. 文档和可发现性:2. 标准化接口:3. 异步和流媒体支持:4. LangGraph:5. 改进的工具包和回调:6. 向后兼容性和迁移:总结 前言 langchain发布了v0.2版本,LangChain v0.2 相比 v0.1…

Vxe UI vxe-table custom 实现自定义列服务端保存,服务端恢复状态,实现用户个性化列信息保存

Vxe UI vue vxe-table custom 实现自定义列服务端保存,服务端恢复状态,实现用户个性化列信息保存 支持将自定义列状态信息,列宽、冻结列、列排序、列显示隐藏 等状态信息保存到本地或服务端 代码 实现自定义列状态保存功能,只需…

在气膜建筑中运动,我们会感觉到不舒服吗—轻空间

气膜建筑是一种以膜材为主要结构,通过空气压力支撑的新型建筑形式,广泛应用于体育场馆、游泳馆和多功能运动场等领域。然而,人们常常担心在这种建筑中运动是否会感到不适。本文将探讨气膜建筑中运动的舒适度问题,并结合相关的技术…

【深度学习】IP-Adapter 和 InstantID 的核心机制比较

IP-Adapter 和 InstantID 是两个在图像生成中具有不同优势和应用场景的模型。以下是这两个模型的区别及其理论分析。 IP-Adapter 特点: 图像提示能力: IP-Adapter 通过引入图像提示能力,使得预训练的文本到图像扩散模型可以接受图像作为提示,从而生成…

区间预测 | 带有置信区间的BP神经网络时间序列未来趋势预测Matlab实现

下面是一个使用带有置信区间的BP神经网络进行时间序列未来趋势预测的简化示例的Matlab代码。请注意,这只是一个示例,并且可能需要根据您的具体数据和问题进行适当的修改和调整。 matlab % 步骤1:准备数据 % 假设有时间序列数据(time_series…

GaN VCSEL:工艺革新引领精准波长控制新纪元

日本工程师们凭借精湛的技艺,开创了一种革命性的生产工艺,让VCSEL的制造达到了前所未有的高效与精准。这一成果由名城大学与国家先进工业科学技术研究所的精英们联手铸就,将氮化镓基VCSELs的商业化进程推向了新的高峰。它们将有望成为自适应前…

Spring Cloud 之 GateWay

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言前言1、通过API网关访问服务2、Spring Cloud GateWay 最主要的功能就是路由…

SQL调优方案

1、尽量避免使用in或not in语句&#xff0c;发生数据库的全表扫描 2、尽量避免使用&#xff01;或< >号&#xff0c;发生数据库的全表扫描 3、在查询多的情况下要使用索引提高查询效率&#xff0c;但也降低了insert或update的操作&#xff0c;对于一个表所要建立的索引…