Unity3D用c#脚本修改Animator controller的weight值

本文探讨了如何通过Unity3D的C#脚本动态修改Animator控制器的layer权重,解决了使用脚本添加新层时weight值不生效的问题。通过正确初始化layer并设置defaultWeight,确保权重在生成的animator controller中正常设置为1f。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      unity3d可以通过拖拉拽的方式创建animator controller,也可以通过c# 脚本创建(显然和拖拉拽调用的底层是一致的)。本文介绍如何通过脚本修改Animator controller的layer中的weight值


原理分析:

      用脚本创建animator controller将在另一篇文章中描述。我们知道animator controller可以是multi - layer的结构,用于更加精细的控制object的运动(例如在本项目中,是将形象的面部表情和身体分成了两层)。在非default层中存在可调节的weight参数,用于控制该层的动作叠加(这里统称,其实是分为addictive和override两种模式)在之前层次上的比重。
在这里插入图片描述

以下是踩坑部分:
      在最初的代码中,我们采用如下的方式添加新层和设置weight:

controller.AddLayer("faceController")</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值