2011-08-01 96 views
0

我想從Maya導入一個運動曲線進入我的XNA遊戲,但我無法弄清楚如何。基本上我想通過它的名字來捕捉曲線,並在不同的時間點查找它的值。從Maya導入XNA曲線?

曲線是否完全導出到FBX中?而且,如果不是,那麼如何捕捉它呢?

編輯:瑪雅可以輸出到瑪雅ASCII,我試圖解析它,但我不知道什麼公式我應該用來重新創建曲線。

這裏是一個瑪雅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中的結果與我能找到的任何代碼進行匹配。

回答

0

我已經在3dsmax中通過以Ascii格式導出曲線並手動解析文本實現了這一點,Maya是否有這樣的導出器?

+0

它可以保存到Maya Ascii。我已經爲它做了一個解析器,但是我一直無法以這種方式重新創建正確的路徑,格式太複雜。我希望XNA可以導入FBX並以這種方式訪問​​曲線。 – sinsro

+0

我編輯了原文,並添加了關於Maya ASCII定義曲線方式的一些信息。 – sinsro

+0

@sinsro是的,我可以看到這將很難重現! XNA將曲線模型化爲有理Bézier樣條曲線,而不是曲折曲面。在Maya中創建曲線作爲bézier樣條曲線而不是nurbs會有多逼真? (不幸的是,我從來沒有用過Maya) – MattDavey