2013-06-19 51 views
0

我正在使用C#腳本來修改Unity3D 4.1中的動畫控制器。因此,我使用YamlDotNet yaml解析器解析控制器,但在嘗試解析控制器文件時遇到錯誤。解析Unity3D動畫控制器結果SemanticErrorException

我試過用其他yaml的例子,它工作正常,但控制器旁邊有一些特殊的標籤---這似乎導致解析器運行到SemanticErrorException。

請參見下面的代碼代表的AnimationController YAML文件中的一些行:

%YAML 1.1 
%TAG !u! tag:unity3d.com,2011: 
--- !u!91 &9100000 
AnimatorController: 
(...) 
--- !u!1101 &110100000 

解析尋找類似於下面的示例文件的工作就好了:

%YAML 1.1 
%TAG !u! tag:unity3d.com,2011: 
--- 
AnimatorController: 
(...) 
--- 

我一直在尋找yaml規範中的解決方案1.1。和1.2,但我仍然不明白這些標籤代表什麼以及它們是如何解釋的。

yaml.org/spec/1.1/

yaml.org/spec/1.2/

有人可以解釋我這些標籤也許還怎麼我還可以分析使用解析器AnimationController而不需要寫我自己的YAML解析器。

任何幫助表示讚賞!謝謝!

電賀

托馬斯

回答

0

如何在UnityEditorInternal使用AnimatorController類?它提供了創建和修改AnimatorController資產所需的所有方法,並且所有內容似乎都是公開的。似乎是修改Yaml代碼的更好方法,尤其是因爲Unity Free中沒有任何Yaml代碼,它不支持文本序列化模式的資產。

此外,API可能比序列化格式更穩定。

+0

謝謝您的輸入Jan,我會仔細研究它,並根據我的要求提供相應的反饋。 –

+0

那麼,這有什麼好運? –

0

解析統一場景yaml有同樣的問題。

有人可以解釋我這些標籤

Unity Manual>Advanced>Textual Scene File Format>Description of the Format

---!u!舉報1 ... 第一行包含字符串「!u!舉報1 & 6「之後的文件 標記。 「!!!」之後的第一個數字部分表示 對象的類(在這種情況下,它是一個GameObject)。 後面的數字是與文件 中唯一的對象ID編號,但編號是任意分配給每個對象的。

我猜這是非標準Yaml?