プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:Softimage Mod Tool
馬忠
馬忠
呉将潘璋の部下。荊州の戦いにおいて、麦城から脱出を図る関羽親子と趙累を捕縛する大功を挙げた。演義では、夷陵の戦いで糜芳と傅士仁に裏切られて殺され、首を蜀軍に送られた。



◎腕の崩れ

XNAでまともに動かなくなってしまったので、試しにアニメーションマネージャでNewActionを一度削除してからアニメーションを再登録しました。すると、体全体が動き出したのですが、腕は悲惨な状態でした。

バラバラで動いた

う~む…一応動いたから半歩前進?
でもSoftimageでは綺麗に動くのに、XNAで腕がこれほど崩れる理由がよくわかりません。

キーセット追加するも、変化なし。
腕や手のウエイト設定変更するも、変化なし。
Biped選択後のアニメーションマネージャのアクション一覧に登録済のアクションを全て削除するも、変化なし。

…こんな調子で試行錯誤を重ねていたら、両腕のメッシュは左足のコントローラに、両手のメッシュは両足のコントローラに連動していることが判明。なんだそりゃ?

結局、それ以上のことはよくわかりませんでした。ウエイト設定が完全に無視されるので、どうすれば直るのか見当が付きません。

ただ、腕、手、槍以外は普通に動くので、エンベロープ再設定に問題があったと考えるべきでしょう。



◎やり直し

もう一度デフォルトポーズに戻して、エンベロープ設定をやり直します。

1.Biped選択後、画面下のAnimation>アニメーションの削除>すべてのパラメータから:任意のアニメーションタイプ

2.Biped選択後、アニメーションマネージャ>DefaultPoseを選択

3.腕、手、槍メッシュ選択後、デフォーム>エンベロープ>エンベロープの削除

4.腕、手、槍のボーンとメッシュを合わせる

5.腕、手、槍メッシュ選択後、デフォーム>エンベロープ>エンベロープの設定
  Biped_ShadowのShadow_envelope_groupを指定

エンベロープ設定対象をShadow_envelope_groupとしてやり直しましたが、駄目でした。腕は最初と同じ状態(ボーンとメッシュの掌の向きが90度異なる状態)に戻ってしまい、槍メッシュは槍ボーンを完全に無視してます。

槍のウエイト設定をしたくても、槍ボーンがWeightEditorの列に表示されないんだよなぁ…WeightEditorじゃなくて、ペイント方式で槍ボーンを指定できないかな?最終的にはShadow_envelope_group配下に槍ボーンが追加された状態にしたいのですが、どうすればその状態になるのでしょう?

腕の方は、デフォルトポーズの問題かもしれませんね。



◎ニュートラルポーズの設定

デフォルトポーズ(ニュートラルポーズ)を変更できないかヘルプを読むと、何やらいろいろ書かれてました。隅々までは理解できませんでしたが、要するに一度ニュートラルポーズを設定すると、そこからのオフセット値でアニメーションする、という話のようです。

設定手順は説明よりも単純です。

1.ニュートラルポーズにしたいポーズとする

2.Bipedをマウス中ボタン選択後、画面右のTransform>ニュートラルポーズの設定

3.同様に、Transform>ニュートラルスケーリングの設定

4.同様に、Transform>ニュートラル回転の設定

5.同様に、Transform>ニュートラル移動の設定

これでニュートラルポーズを設定できました。Bipedをマウス中ボタン選択後、画面右の「Transform>すべての変換をリセット」などとすると、ニュートラルポーズに戻すことができます。



◎試行結果と結論

で、ニュートラルポーズを設定してから再度エンベロープ設定を行いましたが、結局ダメでした(泣)
腕や手のメッシュはポーズに影響されましたが、掌の向きが90度異なる点は変わりません。

考えてみると、ポーズはリグに対して行いましたが、エンベロープはシャドウリグに対して設定してるので、このような結果になるのかもしれません。

そこでShadow_envelope_group配下のBiped_Shadow.RHand等を動かそうとしたのですが、ピクリとも動きません。多分、リグとシャドウリグが連動関係(Softimageではコンストレインと言うらしい)にあるからでしょう。

コンストレインを一旦解除してエンベロープ設定後に再設定することも考えましたが、それで上手くいく可能性が高いとは思えません。どうせならシャドウリグを作り直した方が確実という気がします。

でも、そこからやり直すなら、手のメッシュを回転してリグに合わせた方が早いですね。今までそうしなかったのは、本来リグをモデルに合わせるべきであって、モデルをリグに合わせると、今後支障が出るかもしれないと考えていたからです。しかし今でも十分支障が出てるので(笑)、これで直してしまいましょう。



◎修正完了

というわけで、以前の状態(XNAでアニメーションするが、掌のメッシュとボーンが90度ずれている状態)に戻して以下の手順で直しました。

1.Bipedをマウス中ボタン選択後、画面下のAnimation>アニメーションの削除>すべてのパラメータから:任意のアニメーションタイプ

2.Biped選択後、アニメーションマネージャでDefaultPoseを選択

3.腕、手、槍メッシュ選択後、デフォーム>エンベロープ>エンベロープの削除

4.手メッシュを移動、回転

5.手メッシュに合わせて手ボーンを拡大

6.腕、手、槍メッシュ選択後、デフォーム>エンベロープ>エンベロープの設定
  Biped_ShadowのShadow_envelope_groupを指定

ついでに、ニュートラルポーズの設定もしておきました。これで今後ニュートラルポーズに戻してもアクションが初期化されないでしょう。

掌のメッシュとボーンが揃った状態   掌のメッシュとボーンが揃った状態(XNA)

というわけで、掌の向きの問題は解決…と言うより回避しました。XNAでちゃんと動きます。

理想的な解決ができず気分的にはイマイチですが、進捗遅れまくりなので、いい加減先に進めましょう。



◎次回予告

次回は、槍ボーンの追加です。
シャドウリグの追加って、どうすれば良いのでしょう?ヘルプには全然書かれてないんですけど(泣)

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。