查看: 954|回复: 0
打印 上一主题 下一主题

[其他] Unity3D技术之Mecanim 常见问题

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53488
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-1-30 23:46:19 |只看该作者 |倒序浏览
常见问题

我们针对玩家动画使用动画旧版系统 (Legacy System),您是否建议我们使用 Mecanim 代替?

Mecanim 是我们开发的当前动画技术,且该技术在持续改进之中。旧版系统保持“现状”。


我如何通过脚本访问 Mecanim 功能?

Mecanim 中的大多数功能由脚本控制,但我们可以在 4 个开发周期中以增量方式显示整个 API。

我如何创建类人角色的新动画?

您可以在此处 http://docs.unity3d.com/Documentation/Manual/HOWTO-importObject.html 所列的任何三维动画资源包中制作动画,并将其导入 unity。


在 Mecanim 中,我如何更改动画状态 (Animation State) 的运动?

您可以编写控制器脚本(或者使用演示中的一个脚本)来与播放动画的状态机 (State Machine) 交互。以下是一些链接:


导入

为什么动画器会自动添加到每个导入的网格中?

当前没有用来设置导入默认值的方法,但如果在导入设置中将装置 (Rig) 设为�无 (None)�,则不会添加动画器 (Animator) 组件 – 可以同时用多个文件执行该操作


层的顺序是否重要?

是。层的评估顺序是从顶部到底部。设为�重写�的层将始终重写之前的层(如果它们有遮蔽图,则基于遮蔽图)

是否有一种在层之间进行渐变的内置方式?

没有用于层权重的�自动�模式。使用自己的淡入/淡出是个不错的方法 *

基础层权重是否始终认定为一个或是否应当在另一个同步层运行时将权重设为零?

基础层权重始终为 1,然而,如果将层设为*重写*,则会完全重写基础层。

如果同步层的长度与基础层中相应状态的长度不同,则会发生什么?

如果层的长度不同,则同步层会变得不同步。

是否有什么办法可以从没有文本格式名称的控制器中获得变量值?

可以用整数来辨识状态和参数。使用 Animator::StringToHash 来获得整数标识符。例如:

runState = Animator.StringToHash(“Base Layer.Run”); animator.SetBool (oneOffRun, false);


Avatar 和身体遮蔽图 (Masks)

是否有方法限定哪些骨骼属于身体遮蔽图组成部分?

身体遮蔽图与类人重定位解算器紧密结合在一起,所以目前无法限定。

是否有方法能够创建超出 LeftFoot、RightFoot、LeftHand、RightHand 数量的 AvatarIKGoal?

我们已在路线图上包含了此方法


动画曲线和事件

您是否可以向 Mecanim 添加动画事件?

动画事件已在我们的高优先级路线图上。我们建议使用动画上的额外动画曲线来�模拟�事件。结果不可能完全一样,但我们的许多用户使用此方法已获得成功!

包含曲线 (Curves) 的动画如何与没有曲线的动画融合?

如果一个动画包含曲线,而另一个没有曲线,Unity 将使用连接到曲线的默认参数值进行融合。 可以设置参数 (Parameters) 的默认值,这样,在拥有�曲线�参数 (�Curve� Parameter) 的状态 (State) 和没有曲线参数的状态之间出现融合时,融合将发生在曲线值和默认参数之间。 要设置一个参数 (Parameter) 的默认值,只需在“动画器工具 (Animator Tool)” 窗口中而非 LiveLink 中设置其值。



转载:游戏开发网


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-8-20 03:19 , Processed in 0.098066 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部