- 用户指南
- 资源商店 (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) 部署
- 使用网络播放器中的信任链系统
子状态机
角色有多个包含一系列步骤的复杂动作,这种现象非常常见。不是用单一状态处理整个动作,而是确定独立步骤并针对每个步骤使用单独的状态,这样做是有意义。例如,角色可能会有一组称为“花巧射击 (Trickshot)” 的动作,在该组动作中角色会蹲下来稳定瞄准、射击,然后再站起。
“花巧射击 (Trickshot)”动作中的状态顺序
尽管出于控制目的,这样非常有用,但不利之处是状态机会随着更多复杂动作的添加而变大、变笨拙。您可以用编辑器中的空白空间将状态进行直观分组,以简化一些事物。但 Mecanim 通过让您在状态机图表中将一组状态折叠成单一指定项,相比之前方法进一步简化。这些折叠的状态组称为子状态机 (Sub-state machines)。
可右击“动画器控制器 (Animator Controller)” 窗口中的空白空间,然后从上下文菜单选择“创建子状态机 (Create Sub-State Machine)”,来创建一个子状态机。子状态机在编辑器中用细长的六边形表示,以与正常状态区分开来。
子状态机
双击六边形时,编辑器将清空,以便编辑子状态机(就像它本身是一个完全独立的状态机)。窗口顶部的条形将显示“浏览路径记录”,以指明当前正在编辑的子状态机(请注意,您可以在其他子状态机中创建子状态机,等等)。点击记录中的项目,会让编辑器以该特殊子状态机为重点。
"浏览路径记录"
外部转换
如上所述,子状态机只是将一组状态直观折叠进编辑器的一种方式,所以,当您在子状态机上进行转换时,必须选择希望连接的状态。
在“花巧射击 (Trickshot)” 子状态机中选择目标状态
您会注意到,子状态机中额外出现了一种状态,其名称以“可用 (Up)” 开头。
"可用 (Up)" 状态
可用 (Up) 状态代表“外部世界” - 在视图中围住子状态机的状态机。如果您向可用 (Up) 状态添加子状态机中的状态转换,系统会提示您选择一种要连接到的封闭机状态。
连接到封闭机中的一种状态
(返回 Mecanim 简介)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论