MechaStudio BBS

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■367 / inTopicNo.1)  SDKでのボーン設定
  
□投稿者/ TD -(2010/04/04(Sun) 18:53:00)
    こんにちは。メールでサポート頂いたTDです。
    少々突っ込んだ内容になるのでこちらのBBSでよろしくお願いします。

    視点変更ですが現状の「Shift+右クリック」に全く気がつきませんでした。
    申し訳ありません。


    さて本題
    SDKにてメッシュにボーンを設定することがうまくいきません。
    CTaObject->SetBones() を実行すると
    tllからToyStudioに制御を返した後、実行コードアドレス0x10006217でアクセス違反例外になってしまいます。

    マニュアルには
    1. ボーンのリスト
    2. スキンのバインド時ワールド変換行列
    3. ボーンのバインド時ワールド変換行列
    4. バインド ポーズ
    5. 頂点のボーン インデックスとウェイト
    とありますが、現在は 1と5 のみ実行しています。
    2〜4も実行しないと落ちるということでしょうか?
引用返信 削除キー/
■368 / inTopicNo.2)  Re: SDKでのボーン設定
□投稿者/ ピエール -(2010/04/05(Mon) 11:55:00)
http://www.mechastudio.net/
    TDさん
    ご質問ありがとうございます。

    ToyStudio のプラグイン開発についてのご質問ですね。
    プラグインの実体はスクリプト等ではなく、実行ファイル(DLL)
    ですので、基本的に何でもできます。想定外の使い方を
    しますとソフトは当然落ちたりフリーズしたりします。
    まずはその点に注意された上で開発を行ってください。

    SDK ドキュメントの以下のページを参照されていることと思います。
    http://www.mechastudio.net/sdk/skinning.htm

    ボーン変形では、バインド ポーズ(初期ポーズ)におけるボーンの
    姿勢と現在のボーンの姿勢の「差分」をスキン オブジェクトに
    与えて各頂点の変形を行います。1と5のデータのみではバインド
    ポーズが不明なので、原理的にボーン変形が成り立ちません。

    4のバインド ポーズのデータがあれば、そこから2と3は算出できます。
    ドキュメントに記されていますように、2はバインド ポーズにおける
    スキン オブジェクトのワールド変換行列で、3はバインド ポーズに
    おける全ボーンのワールド変換行列リストだからです。
引用返信 削除キー/
■369 / inTopicNo.3)  Re: SDKでのボーン設定
□投稿者/ TD -(2010/04/08(Thu) 21:56:00)
    回答ありがとうございます。
    バインドポーズは初期状態で単位行列が自動的に設定されていると思っていましたが、何も設定されていなかったわけですね。

    これで出来ると思います。ありがとうございました。
引用返信 削除キー/
■370 / inTopicNo.4)  Re: SDKでのボーン設定
□投稿者/ ピエール -(2010/04/09(Fri) 10:01:00)
http://www.mechastudio.net/
    > バインドポーズは初期状態で単位行列が自動的に設定されていると思っていましたが、何も設定されていなかったわけですね。

    バインド ポーズは以下の関数でセットします。

    CTaObject::SetBindPose(CTaObject *const pObjects[],
    const TA_VECTOR Translates[],
    const TA_VECTOR Angles[],
    const TA_VECTOR Scales[],
    const TA_VECTOR Shears[],
    UINT nCount)

    オブジェクトのリストと同数の姿勢パラメータを一括して
    渡します。この関数が呼ばれていない状態では、オブジェクトの
    リストや個数自体が不明ですので、それらの姿勢パラメータの
    デフォルト値があらかじめ設定されていることは理屈として
    ありえないですね。

    マニュアルで説明されていますように、1〜5のデータをセット
    するようにしてください。2のデータは単位行列になる場合
    が多いと思います。

    ご質問ありがとうございました。
対応済み
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -