GameDesign 板


LINE

这个问题以前有研究过 那时是为了制作一个把动画从 unity 转到 maya 的工具 这个 project 我有放在 github 上 有兴趣可以参考 https://github.com/newyellow/Unity-Runtime-Animation-Recorder 首先 模型之所以汇入的时候 每一个关节的 rotation 都不太一样 这是因为这个关节的 rotation 数值 是在建模过程时决定的 影片是 maya 在做 rigging 的过程 从 1:30 开始是在新增骨架的节点 那一个一个的 (+) 形状符号 就是骨头的节点 仔细看他在点的过程中 (+) 的旋转会改变 那便代表了那一段骨头的 axis https://youtu.be/1wvdQy2Fdhw
节点的 rotation 代表了骨头的 axis 也就是两个节点之间的方向向量 那便不可能让他们为 0 (除非两点之间的角度刚好是 0) 但熟悉 maya 的人可能会说 在 maya 里面有一个功能叫做 freeze transform 如果在节点上使用 freeze transform 该节点的 rotation 会变成 0 (freeze transform 可以让 position、rotation 归零,scale 变成 1) 但事实上 如果再汇入 unity,会发现他的 rotation 并不是 0 这是因为,实际上 freeze rotation 做的事情,并不是真的把数值归零 而是把这些数值存到另外一个 pre-rotation 数值里 介面上虽然 rotation 变成 0,实际运算上会再把 pre-rotation 加回去 rotation 归零只是让使用者在视觉上比较乾净、人脑好理解 这样後续 key 动画如果要调整数值 也比较好调整 (不然如果数字很碎 例如 -1.5768344 之类的 应该会觉得很烦) 但是 pre-rotation 这个参数在 unity 里面并不支援 所以在 unity 汇入模型的时候会直接把 pre-rotation 的数值加回到 rotation 上 因此在 unity 里面看到的 rotation 仍不是零 (这个东西我是在写动画工具的时 仔细看 fbx 档的 ascii 编码才发现的 事实上除了 pre-rotation 还有另一个参数 post-rotation 但我就没有细究其作用) 但我想 rotation 是不是真的归零并不重要 主要还是看你想要做什麽 例如我们可以利用一个 script 去模仿归零这件事情 例如这样: Quaternion _preRotation; public Vector3 newRotation = Vector3.zero; void Awake () { _preRotation = transform.rotation; } void Update () { transform.rotation = _preRotation * Quaternion.Euler(newRotation); } 这样你在操作 script 的 newRotation 时 感觉上就跟归零一样 那如果你是想要把角色的动画 套用到其他人形角色上 那就不用那麽麻烦,unity 的 animator 就有内建类似的功能 只要人形角色在 import 的时候型态都设定为 humanoid 他们的动画就可以互相套用 (而这个系统背後的逻辑 大概也跟上面那段 script 类似 只是还有加入其他的功能) 不过 unity 这个动画转换的功能只限於人型模型 其他的骨架就要自己写脚本 最後分享一下以前制作的一个专案 这个专案是把即时的 motion capture 资料套用到模型上 那时候用的 mocap 系统有两三种不一样的 每种传进来的格式有些差别 再来有些模型不是人型的 所以就做了很多 rotation 资料转换的研究 https://www.youtube.com/watch?v=GIyD6h8rem0
--



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.127.173.39 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1596952412.A.7AD.html ※ 编辑: newyellow (59.127.173.39 台湾), 08/09/2020 13:55:10 ※ 编辑: newyellow (59.127.173.39 台湾), 08/09/2020 14:00:26 ※ 编辑: newyellow (59.127.173.39 台湾), 08/09/2020 14:14:44
1F:推 powenyu: 感谢 我会去研究看看 08/09 14:30
2F:推 oopFoo: Maya这样做等於另外包个rig,如Snegi大建议的。 08/10 09:26
3F:→ oopFoo: 直接transfrom vertex。你model的transform就归初始值 08/10 09:27
4F:→ oopFoo: 真的,这些基本要了解。 08/10 09:29







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP