2016-05-24 2 views
0

スケルトンをエクスポートするためのCollada-1.4エクスポータを作成します。親に接続 Colladaを拡張して骨の尾を追加するノード要素

  • 骨状態(骨テールを接続する(長手方向軸に対して)(関節位置に対して)
  • 骨ロール

    • 骨テール:私はいくつかの追加情報を定義するためのCOLLADAフォーマットを拡張する必要がありますジョイント)

    私が考えているのは、要素を使用してツール固有のプロファイルを追加することですが、マニュアルではこれを正確に行う方法が明確ではありません。ここで

    は私が推測するものである正しい作業例です:

    <node id="Armature" name="Armature" type="NODE"> 
        <matrix sid="transform"> 
         1 0 0 0.1151489 
         0 1 0 0.01073149 
         0 0 1 1.730716 
         0 0 0 1</matrix> 
        <node id="A" name="A" sid="A" type="JOINT"> 
        <matrix sid="transform">1 0 0 0 0 0 -1 0 0 1 0 0 0 0 0 1</matrix> 
        <node id="B" name="B" sid="B" type="JOINT"> 
         <matrix sid="transform"> 
         -0.7919466 -0.4411024 0.422196 0 
         8.9407e-8 0.6914554 0.7224193 1 
         -0.6105905 0.5721177 -0.5475955 0 
         0 0 0 1 
         </matrix> 
         <extra> 
         <technique profile="blender"> 
          <!-- =============================== --> 
          <!-- Bone tail offset from bone head --> 
          <!-- =============================== --> 
          <float_array name="tail" sid="tail" count="3"> 
          0.0 0.0 1.0 
          </float_array> 
         </technique> 
         <technique_common/> 
         </extra> 
        </node> 
        </node> 
    </node> 
    

    私はいくつかの質問を持っているしかし:

    • が、これは、骨の尾の情報を提供するための許容可能な方法ですか?
    • プロファイルを定義する代わりにtechnique_common要素を使用できますか?
    • 空のtechnique_common要素を定義する必要がありますか、スキップすることはできますか?
    • コラージュファイル全体のすべてのボーンテールにsid = "tail"を使用しても問題ありませんか?
    • ボーンテール情報を定義する方法はあまり明確ではありませんか?
    • より具体的な方法でプロファイルを使用できますか?例えば同様:

      <node> 
          ... 
          <extra> 
          <technique profile="blender"> 
           <tail type="float_array" connect="true">0 0 1.0</tail> 
           <roll type="float">0</roll> 
          </technique> 
          <technique_common/> 
          </extra> 
      </node> 
      

    私は私が上記の例のように新しい要素を(尾が、役割は、接続)を定義させて頂く場合わかりません。私はこれをすることはできますか?

    また、インポーターは、骨の尾の情報を見つけるために余分なデータ(ミキサーのプロファイルをサポートする)を認識している必要があります。そのため、ツールがブレンダーのプロフィールを知らない場合、追加の骨情報は認識されませんが、それは私にとっては問題ありません。

  • 答えて

    2

    あなたの質問にお答えすることができます。

    • あなたはColladaの仕様から<extra>タグを読めば、あなたは <technique>または <technique_common>の下でデータを任意の-準拠XMLを書くことができます。だからあなたの最初の質問は、はいそれは です。 XML要素用に定義されたスキーマがある場合、 には、この技術でxmlns属性を付けることができます。
    • はい、<technique_common>要素を選択できますが、あなたのケースでプロファイル情報を指定する方が良いでしょう。 <technique>を使用して、すでに のようにプロファイル情報を入力することをお勧めします。
    • <extra>の子として<technique_common>要素を追加する必要はありません。
    • sidは、ドキュメント間で一意である必要があります。だからOKではない。尾を連続して番号付けすることができます。
    • ボーンテール情報はセマンティクスに関するものです。私はそれに答えることはできません。
    • 私はあなたが2番目の例でそれをした方法が最初のものよりも優れていると思います。しかし、あなたはデータ交換のためにそれを使用する人です。輸入者がこのデータをどのように解釈すべきかについて考える必要があります。私は、輸入者のインターン構造を知らずに、あなたをさらに助けることはできません。
    +0

    説明をありがとう!まず、自分のデータ構造が有効なcollada拡張であることを確認したかったのです。輸出者パートが完了したら、後で必要なインポート機能をBlender Colladaインポータに追加したいと思います。しかし、最初に、データのインポートがOpenColladaライブラリでサポートされているかどうかを調べる必要があります。しかしそれは別の質問です。ありがとう! – user2156664

    関連する問題