- 用户指南
- 资源商店 (Asset Store)
- 资源服务器 (Asset Server)(仅限团队许可证)
- 缓存服务器(仅限团队许可证)
- 幕后场景
- 创建游戏
- 运行时实例化预设 (Prefabs)
- 变换 (Transforms)
- 物理
- 添加随机的游戏元素
- 粒子系统(Particle Systems)
- Mecanim 动画系统
- 旧动画系统
- 导航网格 (Navmesh) 和寻路 (Pathfinding)(仅限专业版 (Pro))
- Sound (音频侦听器)
- 游戏界面元素
- 多玩家联网游戏
- iOS 开发入门
- Android 开发入门
- Blackberry 10 开发入门
- Metro:入门指南
- 本地客户端开发入门
- FAQ
- Advanced
- Vector Cookbook
- 资源包(仅限专业版)
- Graphics Features
- 资源数据库 (AssetDatabase)
- 构建播放器管道
- 分析器(仅限专业版)
- 光照贴图快速入门
- 遮挡剔除(仅限专业版)
- 相机使用技巧
- 运行时加载资源
- 通过脚本修改源资源
- 用程序生成网格几何体
- 富文本
- 在 Unity 工程 (Project) 中使用 Mono DLL
- 事件函数的执行顺序
- 移动优化实用指南
- Unity XCode 工程结构
- 优化图形性能
- 减少文件大小
- 理解自动内存管理
- 平台依赖编译
- 泛型函数
- 调试
- 插件(专业版/移动版特有功能)
- 文本场景文件格式(仅限专业版)
- 流媒体资源
- 启动时运行编辑器脚本代码
- 网络模拟
- VisualStudio C 集成
- 分析
- 检查更新
- 安装多版本 Unity
- 故障排除
- Unity 中的阴影
- Unity 中的 IME
- 对集成显卡进行优化
- 网络播放器 (Web Player) 部署
- 使用网络播放器中的信任链系统
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
动画参数
动画参数 (Animation Parameters) 是在动画系统中定义的变量,但也可以是脚本的访问值和分配值。例如,参数值可由动画曲线更新,然后从脚本访问,因此,比如说,音效的音高就像动画一样会改变。同样,脚本可以设置 Mecanim 选择的参数值。例如,脚本可以设置一个参数来控制混合树。
默认参数值可以使用“动画器 (Animator)” 窗口左下角的参数 (Parameters) 小部件来设置。它们有四种基本类型:
- 向量 (Vector) – 空间中的一点
- 整数 (Int) – 一个整数
- 浮点数 (Float) – 带有小数部分的一个数
- 布尔 (Bool) – true 值或 false 值
参数可以是使用动画器 (Animator) 类中函数的脚本的分配值:SetVector、SetFloat、SetInt 和 SetBool。
以下是基于用户输入修改参数的脚本示例
using UnityEngine; using System.Collections; public class AvatarCtrl :MonoBehaviour { protected Animator animator; public float DirectionDampTime = .25f; void Start () { animator = GetComponent<Animator>(); } void Update () { if(animator) { //get the current state AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0); //if we're in "Run" mode, respond to input for jump, and set the Jump parameter accordingly. if(stateInfo.nameHash == Animator.StringToHash("Base Layer.RunBT")) { if(Input.GetButton("Fire1")) animator.SetBool("Jump", true ); } else { animator.SetBool("Jump", false); } float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); //set event parameters based on user input animator.SetFloat("Speed", h*h+v*v); animator.SetFloat("Direction", h, DirectionDampTime, Time.deltaTime); } } }
(返回动画状态机)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论