プロフィール

Na-7

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


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:3Dテストプログラム開発

RokDeBone2のテクスチャアニメーションによるウインク。
.Xファイルには対応していないらしく、このままではXNA上でウインクしない。
--------------------

◎キメポーズ第二弾

キメポーズ第一弾は「森のくまさん」の曲調と合わないようなので、第一弾は次回に取っておくこととし、キメポーズ第二弾を作りました。

以前頂いたキメポーズ&ウインクのリクエストが、ようやく実現しました。いかがでしょうか?



◎意外な難題

まばたきが出来ればウインクなど朝飯前…と言いたかったのですが、実は苦戦しまくりでした。原因はコレです。

RokDeBone2サンプルデータ顔画像
[RokDeBone2サンプルデータ顔画像(原画)]

左半分の顔画像が左右兼用となっているため、単純に画像を差し替えると、両目とも瞑ってしまうのです。

これは元の3Dモデルの仕様なので、この問題を解決するためには、元の3Dモデルを入手して改造する必要があります。

最初は「3Dモデル作者にお願いしてデータを貰うしかないかなぁ」と思っていたのですが、RokDeBone2の「連番MQO出力機能」でメタセコイア用3Dモデルデータを生成できることに気付きました。
(モーション各フレーム毎の3Dモデルを連番で出力するパワフルな機能w)



◎メタセコイア奮闘記

メタセコイアは、これまでデータ変換用に使っていましたが、3Dモデル編集は殆ど未知の領域。
でも触ってみると、メニューやパネルの表記はかなり洗練されていて、「この機能で何が出来るのか?」が何となくわかるようになっています。「さすが定番ソフトは違うな~」と感心しました。

しかし、今回の3Dモデルが「どうやって顔画像を左右兼用にしているのか?」はなかなか解明できません。最初は「対象」機能か「鏡面」機能が怪しいと思ったのですが、結局どちらも違うような…?

いろいろ試行錯誤しているうちに、顔半分を新しい材質で塗り潰すと別の画像で上書き出来ることが判明。3Dモデルを改造しました。



◎泥沼

ここで検証。
右目を開けた画像&左目を閉じた画像の3DモデルをXNAに取り込み、片方の画像を差し替えると…両目とも変化しました。ガーン!これじゃ今までと同じだ~!

恐らく、1モデルに複数の画像を持たせた場合は、従来の差し替え方法では駄目なのでしょう。
HLSLで出来ないかとネットを調べたものの、なかなか見つかりません。
結局、この方法は可能か否かすら確認できず、別の方法を探ることにしました。



◎今度はRokDeBone2

XNAで画像差し替えが出来ないなら、ツールに頼ろうと、RokDeBone2のテクスチャアニメーション機能を利用して作ってみました。(動画参照)

でもこれ、XNAに取り込むと、ウインクしないんです。DirectXビュワーもダメ。またしてもガーン!

.Xファイル内を検索すると、アニメ用の追加画像は存在しませんでした。この機能は、どうやら.Xファイルには対応していないようです。折角作ったのに~!


RokDeBone2には、他にもスイッチアニメーション機能があります。オブジェクト単位に表示をオンオフすることによってアニメーションするものです。

メタセコイアで顔オブジェクトを左右に分けて試してみましたが、RokDeBone2上ではアニメーションするのに、.Xファイルには対応していないようです。最新バージョン5.0.0.6に入れ替えてもダメ。がっくし…。



◎最後の手段

ここまでやってダメだったので、諦めて「ごめんなさい記事」を書き始めたら、最初にやめた案が残っていることに気付きました。

顔を左右に分けるのではなく、顔全体を初期化した材質(画像)で塗り潰す方法です。(顔表面の再作成)

実は最初にちょっと試したのですが、顔の位置も大きさもズレまくりで、補正には職人的作業を伴う上に画質が落ちるのでやめました。

しかしもう他に方法はありません。修正と表示確認を延々続けて最終的に出来上がった画像がコレです。

RokDeBone2サンプルデータ新顔画像
[新顔画像]

顔の位置と大きさがポイントなんですよ!(笑)
(横1.45倍、縦1.35倍)

この画像と新3Dモデルの組み合わせで、ようやくXNA上でウインクが実現できるようになりました。
心配していた拡大に伴う画質の劣化ですが、実際にXNAで見てもあまり遜色ないようです。やったね!v(^^



◎さいごに

それにしても、ウインク1つにここまでかかるとは…
まぁ最後は出来たので良しとしましょう。力技だけど。w

ようやくキメポーズも確定したので、次回は「デモ:森のくまさんバージョン」完成予定です。お楽しみに!

スポンサーサイト

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

コメント

こんばんはー。
順調にすすんでますねー。ウインクの発想はありませんでした。新決めポーズもいいですね!自分は前の決めポーズもかなりいけてると思うのですが(笑 ぜひそちらを使ったものも見てみたいです!
アニメーションも滑らかでうまいなーと感心させられます。

勝手ながらこちらの報告もしてみます。
今自分は、3Dゲーム用の接触判定についてずーっと調べています。立体的な地形Xファイルをつくって、その上を歩かせるのが目的なのですが、Xファイルを形成する3角形をゲットできずに足踏み状態です(;; 2ヶ月以内には自由にキャラクターを歩かせてやりたいと思う今日この頃です。とりあえず接触判定はおいといてゲームの状態遷移作成に浮気しようとも思っていますけど(笑

できましたよ~

今、完成版の動画をUPしてるところです。次回記事ぜひ見てくださいね!
前の決めポーズは次回作で使う予定です。新曲もお楽しみに!

3Dゲームの接触判定ですか~難しそうですねぇ。私も少し興味がありますので、何かわかったら教えてください。
3角形は、シンプルなものを探しているのであれば、メタセコイアで作った方が早いかも。無料だし、.Xファイルも出力できます。

コメントの投稿


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

トラックバック


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



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