【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放

这篇具有很好参考价值的文章主要介绍了【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

1.创建动画混合树片段 

混合树的级别和一个动画片段一样,只不过混合树里面包含了多个动作。

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

双击Blend Tree 进去混合树的编辑界面

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎 这里面可以添加很多个动作,然后选定一个之前设置好的任意一个参数作为控制变量。

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

这个参数只能选用Float类型!我前面就定义了一个float类型的变量,叫run。因此它默认帮我选了run

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

2.使用动画混合树的原因:

当你有一套连续的动作,比如从走路、跑步、投射,他们可以用一个参数的变化来控制切换,并且实现非常自然的过渡。比如人物站立、小走、走路、快走和跑这几个动画,都有一个共同的变量-速度。那么我们可以用一个速度来控制不同的动画自动切换,虽然在状态机我们可以给多个片段设置触发参数来实现,但是,比如站立时速度=0,小走速度可以设置大于0小于2,正常走设置大于2小于5.。。。。。但是0 1 2这三个速度始终都是一个动作。

动画混合树的厉害之处就是,假如参数为0时,播放站立摆手打招呼

速度达到2播放走路动画

那么速度处于0-2之间的时候,他会把站立和走路的动画,混合到一起,就像两个图片半透明后融合在一起,类似图像混合模式,正片叠底、叠加等等!

Unity 混合树居然可以把两个动画混合到一起,参数为0-2 之间,就会一边站立摆手打招呼一遍走路动画。只不过两个动作各自取一般的速度

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

3.动画混合树参数的设置和理解

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

取消Automate Thresholds 美[ˈθrɛʃˌhoʊldz] 自动门槛设置

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

然后拖入对应的motion

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

设置每一个行为对应上面参数的门槛,也就是参数触发临界值

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

这里面依据的参数是run,这是我们在参数面板随便自定义的。所以说这个参数面板的参数是公用的。类似一个全局变量,过渡线可以使用,混合树也可以使用。代码控制方法也一样!

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

参数随便设置,但是跨度越大,动画过渡时间越长,越精细。剩下的就是我们在代码中实时控制run这个参数就可以了(例如 setFloat(“run”,0))

动画效果是跟随这个参数来变化,来融合的!

【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放,Unity零基础课程,unity,游戏引擎

// 注意:以下示例代码是简化的,实际使用时需要根据项目需求进行调整和扩展。

using UnityEngine;

public class CharacterController : MonoBehaviour
{
    private Animator animator;
    private float speed;

    void Start()
    {
        animator = GetComponent<Animator>();
    }

    void Update()
    {
        // 获取输入或其他方式的速度值
        speed = Mathf.Clamp01(Input.GetAxis("Vertical"));

        // 更新Animator的Speed参数
        animator.SetFloat("Speed", speed);

        // 触发过渡条件
        if (speed > 0.5f)
        {
            animator.SetBool("IsRunning", true);
        }
        else
        {
            animator.SetBool("IsRunning", false);
        }
    }
}


```

动画融合是游戏开发中一个关键的技术,能够增强游戏角色的表现力和逼真感。在Unity中,动画混合树提供了一个强大而灵活的工具,通过合理使用Blend Trees和动画过渡,可以实现各种复杂的动画效果。通过深入了解这些技术,开发者能够在游戏中创造出更加生动、流畅的动画体验。文章来源地址https://www.toymoban.com/news/detail-771242.html

到了这里,关于【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Android远程过渡动画

    Android的系统动画我分为三类:窗口动画,过渡动画,旋转动画。而这篇文章将分析过渡动画。而过渡动画根据创建leash和运行动画是否在同一个进程可以分为本地过渡动画和远程过渡动画,启动远程过渡动画流程相比于其他系统动画的过程,因为涉及到了跨进程,所以涉及到

    2024年01月21日
    浏览(9)
  • 【CSS】过渡动画

    【CSS】过渡动画

    不加过渡动画,变化不太流畅 MDN css transitions w3school transform transform :用于元素的变形,显示变形后的状态,不是变形的过程,变形过程需要配合 transition 表示 2D 转换 translate(50px, 100px) 平移 rotate(20deg) 顺时针旋转 20 度 rotateX(150deg) 绕其 X 轴旋转给定角度 scaleX(2) 增大为其原始

    2024年02月04日
    浏览(11)
  • React 之 过渡动画

    React 之 过渡动画

    在开发中,我们想要给一个组件的显示和消失添加某种过渡动画,可以很好的增加用户体验 可以通过原生的CSS来实现这些过渡动画,但是React社区为我们提供了react-transition-group用来完成过渡动画 React曾为开发者提供过动画插件 react-addons-css-transition-group,后由社区维护,形成

    2024年02月13日
    浏览(9)
  • 前端高度变化实现过渡动画

    前提:已知初始高度与最终高度。 如果有这个前提,那么这个动画是最好实现的了。 利用最大高度实现过度动画。 但是有缺陷,如果最大高度大于需要的高度,就会有明显的延迟。(相当于设置了初始高度与最终高度) 利用的就是放大,缩小。 这个方法是用css实现最简单

    2024年03月21日
    浏览(9)
  • AnyTransition/过渡动画, MatchedGeometryEffect/匹配几何动画效果 的使用

    AnyTransition/过渡动画, MatchedGeometryEffect/匹配几何动画效果 的使用

      1.1 创建过度动画案例 AnyTransitionBootcamp.swift   1.2 效果图:   2.1 创建匹配几何效果案例,MatchedGeometryEffectBootcamp.swift   2.2 效果图:      

    2024年02月07日
    浏览(10)
  • css3过渡与动画

    css3过渡与动画

    在数字时代,网页不再是静态的画面,而是充满活力和动感的空间。CSS3的过渡与动画技术就像是一场魔法表演,能够赋予网页以生命。本文将引领你进入这个奇妙的世界,解锁CSS3过渡与动画的神奇效果。 transition过渡属性时css3浓墨重彩的特性,过渡可以为一个元素在不同样

    2024年01月16日
    浏览(11)
  • 回到页面顶部(回到顶部、过渡动画)

    项目背景: vue 1.创建 backtop.vue 的回到顶部逻辑的组件 2.在相应的组件位置进行引用 进行组件封装 可以与业务代码进行解耦,预留插槽位置可以保留外部的样式定制化,预留外部api的定制化操作。

    2024年02月05日
    浏览(11)
  • Flutter动画库:animations(路由过渡动画或者页面切换动画)

    Flutter动画库:animations(路由过渡动画或者页面切换动画)

    animations 是一个 Flutter 库,它提供了一组用于创建动画效果的工具和组件。 这个库的核心重点是路由过渡动画或者页面切换动画 地址 https://pub-web.flutter-io.cn/packages/animations 安装 看了下官方文档和官方例子,然后就有点懵。差点以为找错库了。还好flutter中的库可以直接点开(

    2024年02月16日
    浏览(34)
  • VUE基础知识——过渡与动画

    目录 官网图示 过渡动画 过渡中的6个切换 具体操作 元素进入的样式 元素离开的样式 如何使用 示例 html代码 js代码 css代码 他是用来在我们对页面进行插入、移除或者更新DOM元素的时候,为我们添加一下动画效果的样式。 下面是官网对于过渡6个类的定义: 在进入/离开的过

    2024年02月01日
    浏览(15)
  • Vue过渡与动画的实现效果

    Vue过渡与动画的实现效果

     使用 transition 标签配合 CSS3 过渡实现【不完整代码】: Vue 还提供了四个 class 类名,分别是进入的起点(v-enter)进入的终点(v-enter-to)离开的起点(v-leave)离开的终点(v-leave-to) 注 :进入的起点 和 离开的起点 就相当于 CSS3 动画里的 from  进入的终点 和 离开的终点 就相

    2024年02月02日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包