Unityでインディゲームを作る!

Unityでのゲーム制作を目指し、それに関わる話題についてのブログ

Blender始め(てまし)た!3D CGモデリングへの道!!

My Blender Piccolo

ピッコロ大魔王的な何か

 実は・・・Blenderを始めていました。Blenderとは、デジタルコンテンツ制作のためのオープンソース・ソフトウェア。近年だとシン・エヴァンゲリオンでスタジオ・カラーが大々的に導入したり、あるいはNvidiaAdidasなどの大企業がスポンサードしたりと、いろいろ注目度の高いソフトです。 

 無償で公式サイトからダウンロードできて、気軽に使いはじめることが出来ます。現在はVer2.93ですが、Ver3.0にて新たな局面になるようなので、触るなら今のうちから慣れていくのが良いです。始めるなら、今!

 

 今回はBlenderについての紹介記事を書いてみたいと思います。ゲーム制作への利用はもちろんですが、Blenderそのものも使っていて楽しかったので、本ブログの重要なトピックのひとつに加えていきたいからです。

 もちろんゲーム制作こそが最大目標ではありますが、ゲーム制作とUnity、プログラミング、そしてBlenderが本ブログにおける主要な柱となっていきます。

 

Blenderって何?

 オープンソースで開発されており、モデリングからスカルプティング(デジタル彫刻)、ドローイング、シェーディング、レンダリング、アニメーション、画像加工、はたまた動画編集まで、ヴィジュアル・デジタルアートに関する作業を包括的に行うことができる総合ソフトウェアです。

 無償で使うことが出来ますが、現在では多くの企業と個人の援助支援による大幅な開発力向上があり、どんどんソフトウェアとしての品質は上がっています。そして、2021年内の9月(もうすぐ!)に予定されている、Ver3.0への大型アップデートが期待されているのが現状です。

 

 自分が触り始めたのはVer2.83とかだったので、そこまで気にならなかったのですが、かつてのBlenderと言えば、その使いにくさに定評があるソフトだったようです。しかし、現在では開発が進んだおかげで、慣れさえすれば非常に便利なツールになっていると思います。

Fake-Piccolo

 ちなみにこの画像はBlenderを触り始めて割とすぐに作った、ピッコロ大魔王的な何かです。パチモノ感がすごい!個人的にはマジュニアではなく大魔王の方なのがポイントです!シュッと尖った顎先は、なかなかの味が出てるなと自画自賛しています。

 

Unityとの連携

 UnityとBlenderの間には現在、直接的な連携はありませんが、Blenderで制作した3DモデルをFBXという形式で出力し、Unityに取り込むことが可能です。また、自分では未確認ですが、.blenderファイルを直接Unityにインポートすることも出来るようです。

 ただし、UnityとBlenderでは座標系が左手系右手系でそれぞれ違うという問題もあったりします。そこらへんを含めて自分もまだ苦労している段階ですが、自分で作ったモデルがUnity内で動くと、かなりの感動モノです。(と言っても、まだピンボールのフリッパーぐらいなもんですが)

 

 Unityには標準パッケージであるProBuilderをはじめとして、3Dモデル制作ツール・アセットがいくつかあり、内部でモデリングを行うことが出来ます。しかし、最近のUnityの動作は安定してるとはいえ、本格的なモデリングは個別のソフトで行うのが良いのではないでしょうか。

 最近はUnityからFBXを出力する機能もあるようなので、簡単なモデリングはUnity内で行い、本格的なモデル制作はBlenderで行うことも出来ます。ともかく、モデリングについては、いろいろな選択肢があるということです。

 

シェーディングについてBlenderで学ぶ

 『3Dモデル』というのは、単なる3次元上の立体形状(メッシュ)だけでなく、シェーダーやマテリアルも含む総合的なモノです。モデリングというのはポリゴンの集合体であるメッシュ"Mesh"の作成を指しますが、それだけではゲームで使える『3Dモデル』とならないので、シェーダーおよびテクスチャやマテリアルも必要になります。

 Blender上で、もちろんそれらの作成が可能です。

Blender-Shader-Editor

Blender上のShaderエディター

 UnityにはShader Graphというノード形式のシェーダー作成ツールがあるのですが、BlenderのShader Editorでも同様にノードを使います。

 Shader Graphもかなり使いやすいツールではありますが、Blenderでのシェーダー作成経験の方が本質的なシェーディング理解に役立った、と自分では考えています。Blenderでのシェーダー作成経験は、Shader Graphにも活きるはずです。

 

 Unity内部で全て完結する、というのは確かに理想的なのかもしれませんが、Unityというのはあらゆる分野の技術が含まれており、情報量が多いので疲れてしまいます。少なくとも、3Dモデリングレンダリングなどヴィジュアルに関することを学ぶには、Blenderという専用のソフトを利用するべきではないかと感じました。

 

 もちろんShader GraphとBlenderのShader Editorでは異なる部分があります。同じ機能のものがUnityではRe Mapノードで、BlenderではMap Rangeノードという名称だったりします。 

 なので、わざわざBlenderを覚えて・・・というのは二度手間かもしれません。でも、ちょっとしたものを試しで作ってみる分には、現状のBlenderはかなり気軽に使えるので、そういう勉強の仕方もあると思っていただければ。

 

アニメーションもBlender上で

 3Dモデルのアニメーションというと、まずボーンを設定するリギング"Rigging"という作業をしてから、ボーンを動かすことでモデルを動かすわけですが、それらの作業もやはり、Blender上で出来ます。

 そして、自分もまだ詰めていないですが、Blenderで作成したアニメーションをモデルと共に出力でき、それをUnity上でアニメ・クリップとして取り込めるようなのです。

じゃあ、もうBlenderでいいじゃん!!

 

 このUmotion Proというのは、Unity内部でアニメーションを作るだけでなく、モデルにIKターゲットを設定できたり、既存のアニメ・クリップを編集出来たり、かなり便利で、このブログでもいずれ記事にしたいアセットですが、これとBlenderがあれば、もうそれでいい気がしてきました。

 

ゲームにおける見た目のオリジナリティ

 自分でゲームを作るとなって、まぁいろいろ考えるわけです。その中で、もちろんゲームである以上、『遊びのシステム』が大事なんですが、やはり『見た目の面白さ』の大切さからは逃げられないと思いました。

 仮にどんなに面白いゲームであっても、キャラクターや各種オブジェクトがアセット・ストアからそのまま引っ張ってきたような、平凡な見た目のゲームをあなたやりますか?ってことです。


 インディゲームには見た目はいいけど、中身が微妙に伴っていないゲームは正直多いです。キャラとかビジュアルとか世界観は良いけど、ゲームとしては微妙だなぁというゲームはインディに限らず多い。けど、それは裏を返せば、見た目に惹かれるということの重さを示しているのではないでしょうか。

 

 なので、全部を自分でモデリングするというのはキツイにせよ、独自の世界観を作り出したり、見た目に統一感を出すために、出来る限りオリジナルの3Dモデルを用意しないとダメなんだなぁと。もちろん、外注も手段のウチなんで全部自分でやる必要はないですが。(外注するにしても指示の仕方むずかしそう・・・)

 そう考えると、やはり絵が描けたり、モデリング出来る人がインディゲーム制作では強いわけですよね。魅力的なキャラがカッコよく動いてれば、それだけでワクワクしちゃいますからね。

 

まとめ

 少し脱線しましたが、Blenderすげぇ!という話でした。繰り返しになりますが、ある程度使えるようになれば、それだけで無限の可能性を感じられるソフトですし、Blenderがちょうど今大きな転換期であるので、興味のある方はちょっと触ってみると面白いかもしれません。

 というわけで、本ブログでは今後、Blenderに関する話題についても書いていく予定です!早く自分でモデリングしたキャラクターをUnityで動かせるようになりたい!!