Godot キャラコン 12 「blender + Better Collada Exporter + ManuelbastioniLAB」 2/2
blenderでの人型3Dモデル作成準備は完了。今回は、実際にモデルを作ってGodotにインポートしよう。アニメーションを付けてないから、これでいいのか不明だが、出来たところまで忘れないうちに記述しておく。後で、全部修正する可能性あり。
今回は、アニメーション無しの「おねーさん」を出力する。
blender から Export
[1]
blenderを立ち上げて、最初に出てくるカメラ、ライト、キューブを全部デリート。
[2]
- [ManuelbastioniLAB]タブ
- 今回は、デフォで設定されてる「おばさんボディー」を使用するが、出力される基本ボディーを変えたかったらここで変更。男か女かはここで決めたら、後では変えられないようだ。
- ここの4項目すべてチェック外す。(項目は最初4つあるが、チェックを外すと3つになる。)
- 最後にここを押して、キャラクリに入る。
[3]
これで、33歳のおばさんが出てくる。基本ボディだな。また、[ManuelbastioniLAB]タブの中身もキャラクリ用に変わっている。
- 年齢。-1~+1の範囲で設定。18歳~80歳まで表現できるようだ。18歳が好きならココ、-1にすればいいよ。
- 肉(体重)。これも-1~+1。
- 筋肉の割合。-1~+1。上で体重に充てた肉をどのくらい筋肉にするかの設定。ブヨブヨ(全部脂肪)にしたければ-1、ムキムキ(全部筋肉)なら+1。
- 上記設定を全部0にするだけ。
5~8辺りのボタンでさらに細かくキャラクリできるが、めんどいので多少気に入らなくても、この体型で今回は完了させる。
が、ちなみに、
- 人種的な特徴を追加できるっポイ。
- ランダムで決定できるっポイ。
- 体の各部位が何センチか確認・変更できる。身長が出るので、意外と便利。
- オート?
- AポーズとかTポーズとか。
- スキンの編集。
- バックアップを取ったヤツのインポートとか。
- 作ったキャラをこれで決定する。
- しょぼいPC使ってる人用に表示のディテールを変えるっポイ。
な感じ。
[4]
特に何もいじりたくないので、12の[Finalize Tools]を押す。
[Finalize with textuers and backup]を押すことで、キャラクリの終了を宣言することになる。適当なフォルダに保存し(俺のPC、ここで応答なしになるんだけど。しょぼ。)、以降はアニメとかの編集に。
その後、AFTER-CREATION TOOL になるが、今回は何もしない。
[5]
Better Colladaで適当なフォルダにエクスポート。だが、ここが難問でよく分からない。
- オブジェクトは、ライトもカメラもキューブも消したので、アーマチャとメッシュだけ必要だと思うけど、どうなんだろうか?
- オブジェクトは、おばさん一人しかいないので、別にチェックしない。変にライトとか残した場合はおばさんを選択状態にしてから、ここをチェック?
- Godotでblenderのモディファイアって意味ないよねキット。
- わからんので、そのまま。
- 同じくわからんので、そのまま。
- スキンテクスチャのことかな? バックアップの時に保存したので、いらんかな。
- わからん。モデルを別レイヤに2体も3体も作った時、チェックが必要? 今回は1体しか作ってないけど、そのまま入ってる。
- 多分IKボーンを外すかどうかって事だと思う。メッシュをデフォームさせないボーンはいらない時、チェック? blenderのIKボーンがそのままGodotでIKしてくれるとは思えないのよね。
- アニメを出力する時は、チェックする感じ? 今回はアニメ無いので未チェック。
- これもアニメ関連だよね。
- わからん、そのまま。
- キーフレームだから、アニメ関係? そのまま。
- 表情の変化はシェイプキーでやってるので、これを出力するとGodotでもリップシンクとかいけちゃう感じ?
基本分からんので、結局1だけ変えてあとはデフォのままにした。
Godot に Import
[1]
daeをインポートすると、マテリアルがごっそり入って来るので、フォルダを作成しておく。
"Body"フォルダを作った。
[2]
GodotへのインポートはDDすればいい。
こうなる。
daeのアイコンはシーンのアイコンだな。マテリアルがごっそり入ってきた。
[3]
今まで頑張ってもらった"MeshInstance_Player"には消えてもらって、代わりに「おばさん」を登場させる。
- "KinematicBody_Player"の子としてひっつけるので、ここを選択しておく。
- daeはシーンとして扱われるようなので(アイコンでもシーンアイコン)、ココ、[シーン追加]ボタンで追加する。
daeを選択。ダブルクリック。
ちなみに、右下見てみると、[シーン追加]ボタンで追加できるタイプの中に、daeがある。gltfやobjとか、他の3Dモデルも1シーンとして考えるようだ。
[4]
追加される時は、"Scene Root"という名前になっているので、適当にリネーム。上の方に持ってきておく。(親子関係は間違えない事。)
それから、今まで表示していた"MeshInstance_Player"と"MeshInstance_Head"は非表示、または削除。
[5]
コリジョン("CollisonShape_Player")とヘッド("Spatial_Head")の位置を修正する。
こでれシーン再生すると、向きを変えないおばさんが動くはず。
注意
[1]
ただ、単にdaeをインポートするだけだと、何かが変更できないらしい。恐らく、ライトとかカメラとかを一緒にインポートした場合は、取り除けないという事なのだろう。
[2]
いっぺんオールシーンをセーブしないと"unknown dae"の警告がでる?
スクショは取り忘れ。多分、daeはシーンの一つなので、他のシーンに追加して利用するには、先にセーブする必要があるって事かな?
次回
移動方向に向くようにする。それ用の関数はすでに知っているのでスクリプトするだけ。
ウォークモーションとか欲しいな。