人型3Dモデルを動かすまで(その1)

今回はプレイヤーキャラを動かす
アニメーションの話をするぞ
おおっ、ついにUnityがはじまったw


さて、このブログでUnityの技術的な部分について細かくチュートリアルするのは大変すぎるし、そういうのは世の中の技術書籍やWebサイトでわかりやすく、たくさん行われている。だからこのブログで、改めてイチからチュートリアルすることはしない。そもそもそめ先生はプログラミングわからないんですよ、ごめんね。しかしわからないがゆえに、中高生やゲーム開発初心者に近い目線でUnityの解説ができると思う。だから、ここからは俺の目線でゲーム作りを説明していく!

とりあえずキャラクター作って
動かしてみたかったので
やってみた
そんなの簡単じゃないっすか?
簡単じゃなかったぜ!
Unityむずいわ~
僕が高校生なら心折れてるわ~
(えー)


神は7日間で天地を創造したというが、神になったつもりでまずUnityの世界に地面と生命あるキャラクターを置いてみたい。ボール転がしとかプログラミングの歴史とかは昔やったしもういいや。先生はなんかキャラ動かしたいねん。

3Dモデルの仕組み

3Dモデルの基本的な仕組みを説明しておこう。3Dモデルはポリゴンで出来ているが、ただの3Dモデルは彫像のようなものでボタンを押しても動いたりしない。ゲームに使われる3Dモデルキャラクターは骨組み=リグというものが仕込まれている。



この骨組みが動き=モーションによって動くと、3Dモデルが動く。





さらに「何をしたらどう動くか」のスクリプトが必要になる。



ここまでやると「動く3Dモデル」ができるというわけ。

め、めんどくさ……
ちょっとぉー!w
やる気出してくださいよォー!


しかしこのそめ先生、めんどくさいのはキライだし難しいことはわからんので安心してついてきてほしい。

アセットストアの3Dモデルはゲーム用に作られているので骨組み=リグも入っている。人型のモーションはUnityに最初から入っているStandard Assetや「ユニティちゃん」の中に入っている。人型のリグの3Dモデルならどれも同じモーションで動かせるから、ひとまずモデルやモーションを作る必要はない。だから「動かす」部分のスクリプトだけ頑張ればいいのだ。

そこだけ頑張るわ
(えー)


しかしアセットストアのアセットは色んな人が作ってるので、データの作りはバラバラだし、プロジェクトビューは散らかっていくし、データが古くてアニメーションタイプがレガシィだから動かないとか、コンフィグにバッテンが付いてるからアバター設定を割り当て直さないと使えないとか、初心者にはわからない罠があって大変でした。


散らかっていくプロジェクトビュー。3Dモデルは「Model」とか「Prefab」フォルダに入ってることが多い。フォルダを整理するクセをつけよう



アニメーションタイプがレガシィ(古いやつという意味)だと動かないのでヒューマノイド(人型)に変えてアプライ(適用)しよう



古いモデルを引っ張り出すとアバター設定が壊れてることがあるらしい。関節の割り当てを直そう


そういう初心者殺しの罠を
ぶっこわしていくぞ

(次回で詳しく解説予定)