Blenderを使用してモーションを自作

こんにちは。
メイドさんこと、女装子ゲームクリエイターtoメイドです(笑)

いつもコメント、ときにはメッセージをいただき、ありがとうございます💗

「素材は無ければ自分で作る」をモットーにして、今日もゲームを制作しております。
ということで、今回は”モーションデータの素材がなかなか見つからないので、自作することにした”という話。

わからない方のために説明すると。
モーションデータとは……モーションはわかると思う。
動き、動作とかいう意味。
で、モーションデータというのは、動きを設定したデータのこと。
3Dモデルに動きをつけるときは「ボーン」という骨組み……粘土に針金を仕込んであるようなイメージかな――が設定されてるんだけど、そのボーンというものに「この部分はこんな風に動いて、こっちはこう動いて……」と、動く部位・動き方を一通りリスト化して、動けって言われたらそのリストに沿って動かす、指示書のようなもの。

『パンチのモーションをして』と言われたらパンチの動きの指示書のとおりに動き、
『走るモーションをして』言われたら走る動きの指示書どおりに動く、といった感じ。

3Dものを見てるとわかると思うんだけど、ゲームだとキャラクターによっては全く同じ動きをしている2人がいたり、3Dキャラクターを使用したダンス系の動画での振り付けとかだと、寸分違わず同じ動きをしていることがあります。
これは上記の「動きの指示書」を、全く同じものが使われているからです。

この指示書が、自分の思い描いてるものが見つからないので自分で作ることにした、というのが今回書く話です。




そもそもの話。
「モーションデータって、どうやって作ってるんだろう?」という。
一応Unityでも作れるんだけど、けっこう手間がかかるうえに、別のツールで使いまわすことができない。
例えば、データ自体はUnityで使うために作ったんだけど、何らかの事情があってUnreal Engineを使うことになり、同ツールでも同じ動きをさせたい……と思ってもそれができない。
その上、一度設定したアニメーションはそのオブジェクトに対してしか使うことができない。
つまりは、エディアンさんに設定した動きをエフィにもさせたいと思ってもできず、同じ動きをさせようと思ったらエフィにも1から同じように設定をしないといけないという。
いろいろ応用しようと思ったらかなりクセのある機能である。

ちなみにだけど。
スパッツくじ”のエディアンさんの動きはUnity標準のアニメーション機能で作っています。


そんなこんなで、応用を利かせるために他のツールで作る方法を探していた。

基本的にはオートデスク社より発売の「Maya」という3D系の統合ソフトを使って作るみたいです。
Mayaとは、大手のメーカーや同人サークルも使用している高品質な3Dデータが作れるソフトで、モデリングはもちろん、ボーンの設定、モーションデータの制作まで、同ソフト1本ですべてできてしまいます。
スマホゲーム「白猫プロジェクト」の3Dモデルもこのソフトで作られているそうです。
あとは、同人サークル「AQUA STYLE」様制作の「不思議の幻想郷シリーズ」のオープニングで流れる3Dムービーもこのソフトで作られてたかな?

が、このMayaというソフト、もともと業務用でつくられたソフト、商用前提のソフトっていえばいいのかな――つまりは大手のゲーム会社等で使われることを想定した本格的なソフトってことで価格がとても高いです。
しかも、料金は月額制で買い切りではないという。

これはさすがに手が出ないので、他の方法を……と思って探していたら、なんとBlenderでもモーションの制作ができるみたいだった。

Blenderとは、Mayaと同じく3D関係の統合ソフトで、こちらも業務用途でドイツだったかな? のスタジオで使われてたものらしいんだけど、そのスタジオが倒産したかなんかで他の会社がBlenderを買収。
現在はオープンソースのソフトウェアとして共同開発が行われ、現在もバージョンアップが繰り返されていて、そのたびに機能が続々と追加されている。
オープンソースということで、無料でダウンロード・使用ができる。
つまり、Mayaには劣るかもしれないけど、同等の機能がタダで使えるということである。
ちょっと操作性にクセがあったりするんだけどね……
その点は無料で使えるということで許容するべき範囲内かな、と。

講座等のページで使われているBlenderのバージョンは2.70から2.78ぐらいまでのものが多かったけど、2.80でも同じことができ、かつUnityも認識できたので、メイドさんは2.80を使用しています。

「バージョン」についても、わからない方のために(要点だけ)説明しとくと。
バージョン(Version、Ver. と記載されることもある)は1を初版として、基本的には小数点以降の番号が上がっていきます。
バージョン表記の整数が0のもの……0.5のような表記となっているソフトはまだ正規品としてリリースされていない、要は「未完成品」の意味になります。
中にはバージョンが0表記で完成品となっているものもありますが……基本的には上記の考え方で問題はないです。

つまり”スパッツくじ”はVer.0.95なので「完成間近の未完成品」ということです(笑)
過去に書いている「早くVer.1.00を公開したい」は「早く完成させたい」という意味で書いています。

で、バージョンは「数値が高いほど新しいもので、使える機能も多い」です。
他の機能との相性の問題等で削除されたりする機能もたまにあったりしますが、基本的には最もバージョンの高いものを使用することが推奨されます。



ということで、Blenderを使用してモーションを作っていく。
以降の、モーションの作り方等はこちらのページ「Blenderを使ってUnityにアニメーションを追加する手順」を参考にした(以下、参考ページと記述)。
Blenderのダウンロード、日本語化からUnityへの取り込みまで一通りのやり方が書かれている。
メイドさんは日本語化までは前からやってあったので、実際にやってみるのはその次から。
アドオンの追加はやってなかったので、やっておいた。
上にも書いたけど、メイドさんはVer.2.80を使っている。
Ver.2.80を使う際の注意点としては、インターフェース(ウィンドウのレイアウトやボタンの位置・見た目等)がちょっと違うので、参考ページは……確認したかぎりでは2.78がスクリーンショットと同じだった(日本語化するためのボタンが少し違ったけど)ので、おそらくはVer.2.7系じゃないかと思われる。
参考ページでは「File」→「User Preferences」をクリックして設定画面を~と書いてあるけど、Ver.2.80では「User Preferences」という項目は「編集(Edit)」メニューにある。

また、アニメーションの原理・補完・その他、細かい説明等も参考ページで解説されているので省略。
メイドさんがやったことだけ”書きます。




Blenderを起動すると、こんな画面が出てくる。
その前になんかポップアップでファイルオープンのウィンドウが出てくるけど、画面上のポップアップウィンドウ以外のどこかをクリックすれば消える(ポップアップウィンドウに閉じるボタンはない)。

真ん中にCube(正方形)があるので削除する。
最初の状態だと上記の画像のようにCubeが選択された(周りが黄色で囲まれている)状態なので、Deleteキーを押せば削除できる。
右のリストから選択して右クリックメニューから削除もできるけど、このリストにあるものすべて使わなくて削除する関係で、最初からリストを右クリックで削除したほうが早いかもしれない。







Rigifyアドオンが正しくインストールされていれば、オブジェクトモードの「追加」から「アーマチュア」に「Human(Meta-Rig)」という項目があるはずなのでクリックすると、ヒューマノイド(人型)のボーン一式が作成される。

「Human(Meta-Rig)」を選択すると……





ヒューマノイド(人型)のボーン一式が作成される。

これを、タイムラインを使用してアニメーションを作っていくことになる。







というわけで、モーションを作ってみた。

戦闘中の待機モーションを想像して作った。





ちなみに、以前はストアにあったものを使っていた。

停止しているときが待機モーション。
過去の記事では「ど素人の構え」なんて失礼なことを書いてたような気がするけど……







今回作ったモーションを動かすとこんな感じに。
こちらはBlenderでの制作中の画面。

これをUnity上でエディアンさんに適用してみると……










む~う……
もっと素人っぽい動きになったような。

なんか武術も何も知らないような人が、なんとなくやってみたような構えっぽい(笑)
もうちょっと人の動きとかをよく観察してみたりするべきかなって思った。

やっぱりというかなんというか、そう簡単にはいかないか。
要勉強、だな。


以上のようなことで。
モーションを自作した、という話でした。




最後までお読みいただき、ありがとうございました。

ゲーム制作に関する記事はこちらに投稿します

今までゲーム制作に関する記事、思っていること等……すべてアメブロに投稿してたんだけど、ゲーム制作に関する記事はこちらに投稿することにしました。

というのも、アメブロは商用利用が禁止されているからです。

ゆくゆくは作ったソフトを有料で販売したいと考えていて。
この時の、有料ソフトを売るための宣伝記事等は商用利用に該当するため、アメブロの利用規約に引っ掛かります。
ということで、今後ゲーム制作に関する記事はこちらに投稿させていただきますのでよろしくお願いいたします。