HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
1012
youdaiblender2.79で、hgimg3でアニメーションするXファイルの出力方法を教えて下さい6解決


youdai

リンク

2020/10/12(Mon) 10:06:25|NO.91594

blender2.79でXファイルを出力したところ、hgimg3でアニメーションが再生されませんでした。
(2.79はBlenderがXファイルを出力できる最後のバージョンです)
恐らく、hgimg3側の問題ではなく、私の出力設定や他の何かが間違っているのではないかと思っています。

状況説明

blender2.79でも静止状態のモデルデータであれば正常に表示されました。
その際、以下の点に気をつける必要がありました。

・上方向はblenderではZ軸ですが、hgimg3ではY軸が上
・Coordinate Systemは、Right Handleでなければいけない

これさえ気をつけていれば静止状態のモデルデータは表示できました。
テクスチャ画像についても正常なUVが表示されました。
ただし、アニメーションだけはなぜか再生されませんでした。

Xファイルの出力設定で以下の部分が関係していると思われるのですが、
色々設定を組み合わせてもアニメーションは動きませんでした。

・export armature bones
・export animation

アニメーションについては、アーマチュアを使ったアニメーション、
オブジェクトのサイズだけを変更したアニメーション、
シェイプキーを使った頂点アニメーション、いずれも試してみたのですが動きませんでした。
「アニメーションをベイク」しても動きませんでした。

blender2.79で、hgimg3でアニメーションするXファイルの出力に成功した方がいましたら
ぜひその方法を教えて下さい。

質問とは直接関係ありませんが、blender2.90.1から2.79へOBJファイルや
FBXファイルでモデルデータを渡せることを確認しました。
最新のblenderの環境でも2.79へモデルデータを渡せば、hgimg3で使えるXファイルを出力可能です。
アニメーションするXファイルが出力できれば、
blenderの物理シュミレーションの結果をhgimg3で再現できるかもしれません。



この記事に返信する


アキアキノヒロロ

リンク

2020/10/13(Tue) 17:09:25|NO.91604

私は、「hgimg3」は全くやったことがないので、勉強のつもりで、試してみました。


「プログラマ専用SNS ミクプラ
blenderでxファイルのアニメーションの出力」
https://dixq.net/forum/viewtopic.php?t=15191

を見つけたので、これを参考にやってみました。

モデルは、HSPの「sample/hgimg4/fbx/high_school_girlSD.fbx」を「FBXConverter」でバージョンを上げたものを、
「blender2.79」に「fbxインポート」したものです。
「Animation」にして、「ドープシート」エリアのモードを「ドープシート」から「アクション」にかえ、
リンクされるアクションから、仮に「Armature|run|Layer0」を選んでみました。
そして、「タイムライン」で「終了」を最後のキー直前(21)にしました。これを「fbxエクスポート」してみました。

「fbxエクスポート」時、上のサイトの
「Re: blenderでxファイルのアニメーションの出力 / #18投稿記事 by kino」
の指示通り、エクスポートの設定項目、上から順に言うと

1.export selected object only
のチェックをはずし
9.export skin weights
11.export armature bones
13.export animation
のチェックを入れる

すなわち、2,3,5,6,9,11,13番目の項目をチェックした設定で、「tamane2_sd_r.x」という名前にして、
「xファイル」をHSPの「sample/hgimg3」に出力しました。これをサンプルスクリプトの「sample/hgimg3/tamane3.hsp」の
22行目を

addxfile m_girl,"tamane2_w.x" → addxfile m_girl,"tamane2_sd_r.x"

と書き換えて読み込み、実行すると、「run」アニメーションが再生されました。
リンクされるアクションから、他の「Armature|walk|Layer0」や「Armature|stand|Layer0」を選んで、同様に出力すると、
「walk」「stand」のアニメーション再生が出来ました。


(本題からは外れますが、「fbxエクスポート」する前に、スクリーンレイアウトを「UV Edition」にして、 「tga画像」を割り当てると、
アクション選択がうまくいかなくなりました。また、ここで「UV設定」をせずに、白いだけのモデルのまま、先に進めても、何故か、
HSPでの再生では「UV設定」された状態でした。)



アキアキノヒロロ

リンク

2020/10/13(Tue) 17:50:53|NO.91606

上の方法だと、モーションはきちんと再生されますが、
モデルの初期の向きが、どのモーションでも後ろ向きになってしまいますが......。
これはうまく直せませんでした。



アキアキノヒロロ

リンク

2020/10/13(Tue) 21:39:21|NO.91609

度々のことで、すいません。

向きを直せないものかと、youdaiさんのご注意にしたがって、

Coordinate System = Right Handle
上向きの軸 = Y

にしたところ、無事、正面を向いてくれました。



youdai

リンク

2020/10/13(Tue) 23:47:23|NO.91610

返信ありがとうございます。アキアキノヒロロさんのお陰で
なぜblender2.79で出力したXファイルのアニメーションが動作しなかったのか理由が分かりました。

結果だけ先に言うと、なぜ動作しなかったのかというとオブジェクトに頂点グループが「全く」設定されていなかったので、
ボーンの動きにメッシュが追従していなかったことが動作しない原因でした。
実はHGIMG3の画面上では動いていないように見えても、ボーンだけが虚しく動いているという状態が展開されていたようです。

ではなぜ愚かな自分はそのことに気づかなかったというと、
そもそも自分はアーマチュアとボーンというものを誤解していたことが今回の件で分かりました。
アキアキノヒロロさんのアドバイス通り、FBXのtamaneをFBXConverterを使ってコンバートして
その中身をblender2.79で見た時、衝撃を受けました。
何せ自分が今までずっとしてきたアーマチュアとボーンの適用のさせ方が全く違ったのですから。

まず最初の疑問は、モディファイヤーが自分の使っていたものより少ないことでした。
実は自分はアーマチュアとボーンに対して、コンストレイトを使って位置コピーや回転コピーを駆使して親子関係を設定していました。
そうやってアニメーションを実現していたわけですが、それはblenderの画面上では
まるでアーマチュアとボーンで動いているように見えても、実際は頂点グループが全く設定されていないわけですから、
「アーマチュアとボーンでアニメーションしているわけでない」状態でした。
その状態でXファイルを出力しても、実際はアーマチュアのアニメーションではないわけですから、
オブジェクトは静止しており、その裏では目には見えないボーンだけが動いていたわけです。

映像だけならこの間違った方法でアニメーションさせていても、結果的には画面上には反映されるので
自分がアーマチュアとボーンというものを誤解していたことに気が付かなかったわけです。

主題とは直接の関係がありませんが、Xファイルのアニメーションが正しく出力されているか確かめる方法も分かりました。
もしかしたらご存知かもしれませんが、アキアキノヒロロさんがURLで教えて下さった掲示板のホームページの方でフリー配布されている
DXライブラリに同梱されているツールのDxLibModelViewerでXファイルやFBXファイルのアニメーションがチェックできます。
アーマチュアやボーンの名前から、パックされているアニメーションの数やその動作まで、何でも確認できる凄いビュアーです。
このビュアーはHSP.TVでも公式な形で宣伝した方がいいですね。
DXライブラリ自体はC++のライブラリですが、このビュアーはHSP3でXファイルやFBXファイルを扱う時に
これで正常に出力できているか確認するととても便利です。
DxLibModelViewer自体は実行ファイルで配布されているのでC++コンパイラを持っていなくても使えます。

特にXファイルでアニメーションが正常に出力しているか確認できることももちろんですが、FBXをGPBに変換する前に
DxLibModelViewerでチェックしてそもそも正常にFBXが出力できているか確認することにも使えます。

DXライブラリ置き場
https://dxlib.xsrv.jp/index.html

アキアキノヒロロさんの返答には本当に大変よく助けて貰っています。
ありがとうございます。

向きの正面化の件は役に立って良かったです。



アキアキノヒロロ

リンク

2020/10/14(Wed) 01:31:42|NO.91611

またまた、新たな情報を頂けて、うれしく思います。
今回も理解が追いつかない状態、勉強不足を思い知らされています。
お爺さん予備軍の硬くなった頭は、なかなか柔らかくなってくれません。



アキアキノヒロロ

リンク

2020/10/14(Wed) 13:25:40|NO.91617

youdaiさんにお教え頂いた「DxLibModelViewer」、私は掲示板までは見ていなかったので、
気が付きませんでした。下記のものですね。私自身かつて、FBXについて分かりやすく
理解できる解説はないものかと色々探しましたが、あっても、とても自分には無理な感じで、
諦めていました。これはもちろん解説ではなく、ソフト(ビュアー)ですけれども、あれこれと
いじってやって見ることで、理解が深まりそうに思えます。
ご紹介、ありがとうございます。

「DxLibModelViewer」
https://dxlib.xsrv.jp/temp/DxLibModelViewerTest.zip



ONION software Copyright 1997-2021(c) All rights reserved.