俺に解るように説明する "Godot Engine 3.x" 入門+

ゲームエンジン Godot Engine に関すること。入門とか使い方とかチュートリアルとか、あれとかこれとか。日本語解説。

Godot キャラコン 12 「blender + Better Collada Exporter + ManuelbastioniLAB」 2/2

blenderでの人型3Dモデル作成準備は完了。今回は、実際にモデルを作ってGodotにインポートしよう。アニメーションを付けてないから、これでいいのか不明だが、出来たところまで忘れないうちに記述しておく。後で、全部修正する可能性あり。

f:id:ore2wakaru:20180419221823p:plain

今回は、アニメーション無しの「おねーさん」を出力する。


blender から Export

[1]

blenderを立ち上げて、最初に出てくるカメラ、ライト、キューブを全部デリート。

[2]

f:id:ore2wakaru:20180419222736p:plain

  1. [ManuelbastioniLAB]タブ
  2. 今回は、デフォで設定されてる「おばさんボディー」を使用するが、出力される基本ボディーを変えたかったらここで変更。男か女かはここで決めたら、後では変えられないようだ。
  3. ここの4項目すべてチェック外す。(項目は最初4つあるが、チェックを外すと3つになる。)
    • 今回アニメを付ける気はないので、インバースキネマティックはいらない。
    • 筋肉ボーンが何をしてるか分からないのでチェック外した。
    • blenderレンダリングする気はないのでサイクルも、ライトセットもいらない。
  4. 最後にここを押して、キャラクリに入る。

[3]

f:id:ore2wakaru:20180419223607p:plain

これで、33歳のおばさんが出てくる。基本ボディだな。また、[ManuelbastioniLAB]タブの中身もキャラクリ用に変わっている。

f:id:ore2wakaru:20180419225014p:plain

  1. 年齢。-1~+1の範囲で設定。18歳~80歳まで表現できるようだ。18歳が好きならココ、-1にすればいいよ。
  2. (体重)。これも-1~+1。
  3. 筋肉の割合。-1~+1。上で体重に充てたをどのくらい筋肉にするかの設定。ブヨブヨ(全部脂肪)にしたければ-1、ムキムキ(全部筋肉)なら+1。
  4. 上記設定を全部0にするだけ。

5~8辺りのボタンでさらに細かくキャラクリできるが、めんどいので多少気に入らなくても、この体型で今回は完了させる。

が、ちなみに、

  1. 人種的な特徴を追加できるっポイ。
  2. ランダムで決定できるっポイ。
  3. 体の各部位が何センチか確認・変更できる。身長が出るので、意外と便利。
  4. オート?
  5. AポーズとかTポーズとか。
  6. スキンの編集。
  7. バックアップを取ったヤツのインポートとか。
  8. 作ったキャラをこれで決定する。
  9. しょぼいPC使ってる人用に表示のディテールを変えるっポイ。

な感じ。

[4]

特に何もいじりたくないので、12の[Finalize Tools]を押す。

f:id:ore2wakaru:20180419232742p:plain

  1. 一応バックアップをとる。pngでスキンテクスチャ、jsonでモデルデータを保存するようだ。
  2. blenderのモディファイアがGodotで機能するとは思えないので、リムーブ。
  3. 押す。

[Finalize with textuers and backup]を押すことで、キャラクリの終了を宣言することになる。適当なフォルダに保存し(俺のPC、ここで応答なしになるんだけど。しょぼ。)、以降はアニメとかの編集に。

f:id:ore2wakaru:20180419233649p:plain

その後、AFTER-CREATION TOOL になるが、今回は何もしない。

[5]

f:id:ore2wakaru:20180419234127p:plain

Better Colladaで適当なフォルダにエクスポート。だが、ここが難問でよく分からない。

f:id:ore2wakaru:20180419234702p:plain

  1. オブジェクトは、ライトもカメラもキューブも消したので、アーマチャとメッシュだけ必要だと思うけど、どうなんだろうか?
  2. オブジェクトは、おばさん一人しかいないので、別にチェックしない。変にライトとか残した場合はおばさんを選択状態にしてから、ここをチェック?
  3. Godotでblenderのモディファイアって意味ないよねキット。
  4. わからんので、そのまま。
  5. 同じくわからんので、そのまま。
  6. スキンテクスチャのことかな? バックアップの時に保存したので、いらんかな。
  7. わからん。モデルを別レイヤに2体も3体も作った時、チェックが必要? 今回は1体しか作ってないけど、そのまま入ってる。
  8. 多分IKボーンを外すかどうかって事だと思う。メッシュをデフォームさせないボーンはいらない時、チェック? blenderのIKボーンがそのままGodotでIKしてくれるとは思えないのよね。
  9. アニメを出力する時は、チェックする感じ? 今回はアニメ無いので未チェック。
  10. これもアニメ関連だよね。
  11. わからん、そのまま。
  12. キーフレームだから、アニメ関係? そのまま。
  13. 表情の変化はシェイプキーでやってるので、これを出力するとGodotでもリップシンクとかいけちゃう感じ?

基本分からんので、結局1だけ変えてあとはデフォのままにした。


Godot に Import

[1]

daeをインポートすると、マテリアルがごっそり入って来るので、フォルダを作成しておく。

f:id:ore2wakaru:20180420001300p:plain

"Body"フォルダを作った。

f:id:ore2wakaru:20180420001632p:plain

[2]

GodotへのインポートはDDすればいい。

f:id:ore2wakaru:20180420002335p:plain

こうなる。

f:id:ore2wakaru:20180420002410p:plain

daeのアイコンはシーンのアイコンだな。マテリアルがごっそり入ってきた。

[3]

今まで頑張ってもらった"MeshInstance_Player"には消えてもらって、代わりに「おばさん」を登場させる。

f:id:ore2wakaru:20180420004735p:plain

  1. "KinematicBody_Player"の子としてひっつけるので、ここを選択しておく。
  2. daeはシーンとして扱われるようなので(アイコンでもシーンアイコン)、ココ、[シーン追加]ボタンで追加する。

f:id:ore2wakaru:20180420005041p:plain

daeを選択。ダブルクリック。

ちなみに、右下見てみると、[シーン追加]ボタンで追加できるタイプの中に、daeがある。gltfやobjとか、他の3Dモデルも1シーンとして考えるようだ。

f:id:ore2wakaru:20180420005503p:plain

[4]

追加される時は、"Scene Root"という名前になっているので、適当にリネーム。上の方に持ってきておく。(親子関係は間違えない事。)

それから、今まで表示していた"MeshInstance_Player""MeshInstance_Head"は非表示、または削除。

f:id:ore2wakaru:20180420010620p:plain

[5]

コリジョン"CollisonShape_Player")とヘッド("Spatial_Head")の位置を修正する。

f:id:ore2wakaru:20180420012111p:plain

こでれシーン再生すると、向きを変えないおばさんが動くはず。


注意

[1]

ただ、単にdaeをインポートするだけだと、何かが変更できないらしい。恐らく、ライトとかカメラとかを一緒にインポートした場合は、取り除けないという事なのだろう。

f:id:ore2wakaru:20180420012352p:plain

[2]

いっぺんオールシーンをセーブしないと"unknown dae"の警告がでる?

スクショは取り忘れ。多分、daeはシーンの一つなので、他のシーンに追加して利用するには、先にセーブする必要があるって事かな?

f:id:ore2wakaru:20180420012644p:plain


次回

移動方向に向くようにする。それ用の関数はすでに知っているのでスクリプトするだけ。


ウォークモーションとか欲しいな。