なるべくラクして3Dキャラ...甘かった

もふ山通信メモ 2022.01.27

名無しのモッフィーにアニメをつける作業でドツボはまり。

なるべくラクして3Dキャラを作りたい。―― こんな欲のためにかえってシンドい目にあった経過を、ソフトの名前ごとに書いておきます。


ラフスケッチ - MonsterMash

手描きで3Dオブジェクトができる。MonsterMashはソースが公開されているので自分のマシンでビルドして試しましたが、Webの方が軽快に動作していました。

メッシュとアーマチュア - Blender 1

MonsterMashで作った.objをきれいに磨いてリトポして、まあこの段階は楽しくてスイスイ進みました。

モデルを後でCascadeurに送る都合上、Cascadeurの命名に合わせてボーンを作ります。

トランスフォームで変更があった場合は「適用」を済ませておくこと。

ボディ左腕右腕左脚右脚
pelvisclavicle_lclavicle_rthigh_lthigh_r
stomacharm_larm_rcalf_lcalf_r
chestforearm_lforearm_rfoot_lfoot_r
neckhand_lhand_rtoe_ltoe_r
head

リグとアニメ付け - Cascadeur

クイック・リギングでボーンの場所を指定します。Blenderの段階でここで使う名前と同じものを用意しておいたので、同じ名前が並ぶように配置すればよい。わかりやすくて便利です。

アニメ付けが終わったら File Export Fbx/DaeでFbxシーンをエクスポートします。

キーフレームの操作や、それらしく見えるアニメの設定などは後でじっくり学ぶとして、とりあえず動きが加わったモデルをBlenderに戻します。この辺りからだんだん訳がわからなくなっていきます。例えば出力形式では、どうしてかは分かりませんがDAE形式ではうまく行かず、FBXシーン一択とか。これはこれで問題があったのですが。

Godot用モデルをエクスポート - Blender 2

Cascadeurから戻ってきたモデルは末端の骨が大きくなっていました。ちゃんと動くので、気にしないことにしようと思いましたが…

このモデルをglTF形式でGodotに持って行ったら、すごいことに。Blenderで異常を確認した骨がさらに肥大化しています。Blenderに戻って修正します。

デカデカ・ボーン現象は、Cascadeurで新たに"_end"で終わる小骨が追加された部分で起こっているので、試しに"_end"の骨を削除してみました。ボディの中央に並んでいるので見つけにくいですが、アウトライナーで選んで全部で5個の追加分を削除。Blender内ではアニメ動作は良好でした。がっ!!

glTFエクスポート・アドオンでエラー発生。‘AttributeError: ‘Pose’ object has no attribute ‘rotation_mode’

Pythonソースなんて読みたくないし。他の方法を探します。

悪戦苦闘の末、Godot Engine(.escn)エクスポート・アドオンで出したものが、Godotで開けることがわかりました。

escnを開いてキャラの動きを確認 - Godot

手足ピコピコのアニメがエディタ内では動くのに、出力したゲーム内では動かず。これの謎を解くのにさらに悪戦苦闘しました。DuckDuckGoで検索しまくり。(そういえばGoogle検索を使わなくなって久しいな。なくても困らない。)ほとんど偶然に、「読み込み後、自動再生」というボタンを見つけて解決しました。

次のステップ - 敵キャラ

主人公がウロウロするだけでは話にならない。とりあえず雑魚でいいので敵キャラを1匹作ります。

モデルはこの人。名前は「蛭・外忌吊1.0」です。「ゲ」の字は「外道」の「ゲ」か、「下衆」の「ゲ」か迷ったのですが、この者が後年行ったことを見れば、「外道(災いをなすもの。悪魔)」がふさわしいと思いました。


さてさて、どうなりますことやら。もふもふ山はまだ遠い。師匠、どうしていらっしゃるかなあ。



関連記事