从 Maya 导入 XNA 曲线?
Posted
技术标签:
【中文标题】从 Maya 导入 XNA 曲线?【英文标题】:XNA curve import from Maya? 【发布时间】:2011-10-17 05:54:06 【问题描述】:我正在尝试将 Maya 中的运动曲线导入我的 XNA 游戏,但我不知道如何操作。基本上我想通过它的名字来捕捉曲线,并在不同的时间点查找它的值。
是否将曲线导出到 FBX 中?如果没有,那怎么抓?
编辑:Maya 可以导出为 Maya ASCII,我尝试解析它,但我不确定应该使用什么公式来重新创建曲线。
这是一个定义典型曲线的 Maya ASCII 片段:
createNode transform -name "curve1";
createNode nurbsCurve -name "curveShape1" -parent "curve1";
setAttr -keyable off ".visibility";
setAttr ".cached" -type "nurbsCurve"
3 11 0 no 3
16 0 0 0 1 2 3 4 5 6 7 8 9 10 11 11 11
14
-4.9774564508407968 0 -6.8331005825440476
-5.5957526204336077 0 -5.5944567905896161
-6.8323449596191823 0 -3.1171692066807277
-5.6935230034445992 0 3.3047128765440847
-1.6528787527978079 0 8.8676235621397499
7.5595909161095838 0 10.325347443191644
9.2297347448508607 0 8.5586791722955731
10.0730315036276 0 0.93412333819133941
5.9770106513247976 0 3.7809964481624871
2.9006817236214149 0 -3.3327711853359037
11.373191256465434 0 -4.6672854260704906
4.5697574985247682 0 -14.178349348937205
2.4191279569332935 0 -11.415532638650156
1.3438131861375628 0 -10.034124283506653
;
我设法在某处找到了文件格式参考,这里的重要信息是节点索引 (16 0 0 0 1 2 3 4 5 6 7 8 9 10 11 11 11
) 和坐标(所有行都包含三个数字)。
但是,我仍然不知道如何重新创建曲线。我用谷歌搜索了很多关于 nurbscurves、bsplines 等的信息,但无法成功地将 Maya 中的结果与我能找到的任何代码匹配。
【问题讨论】:
【参考方案1】:我已经在 3dsmax 中通过以 Ascii 格式导出曲线并手动解析文本来实现这一点,Maya 有没有这样的导出器?
【讨论】:
它可以保存到 Maya Ascii。我已经为它做了一个解析器,但是我无法通过这种方式重新创建正确的路径,格式太复杂了。我希望 XNA 可以导入 FBX 并以这种方式访问曲线。 我编辑了原始帖子,并添加了一些有关 Maya ASCII 定义曲线方式的信息。 @sinsro 是的,我知道要重新创建它是多么困难! XNA 将曲线建模为有理贝塞尔样条曲线,而不是 nurbs afaik。在 Maya 中将曲线创建为贝塞尔样条曲线而不是 nurb 曲线有多现实? (不幸的是,我自己从未使用过 Maya) 问题是我需要重新创建精确的数学公式,即使是最轻微的不准确也会使动画看起来明显偏离。我尝试了一些近似值,但它只是在视觉上不起作用。所以,希望这里有人可以提供帮助...... @sinsro 你有没有找到解决方案?以上是关于从 Maya 导入 XNA 曲线?的主要内容,如果未能解决你的问题,请参考以下文章