ちゃんぽん 2022/06/13 20:00

6月 13日 進捗のご報告

前置き

だんだんと梅雨の季節になってきましたね。徐々に夏へ向かっている感じがしてワクワクしますね。屋内にいても脱水症状などになる可能性もあるので、こまめに水分補給を忘れず体調に気をつけていきたいですね。

今週はUnreal Engineを触り始めたファーストインプレッションとUnityとの比較、フォロワー限定無料プランで新しいキャラクターデザインについてご紹介します。

Unreal Engineはじめました

こちらはゲーム制作に興味がある方向けの内容です。
現在制作を進めている新作ゲームから前作Unityエディタから離れてUnreal Engineを使ってゲームを構築しようとしています。今週は触り始めと言うことで、キャラクターを3D空間に配置、キーボードの入力でキャラを動かすまでやってみてUnityとの違いを主観バリバリでレポートします。

①キャラクターを3D空間に配置する
Asepriteというドット絵専用のお絵描きエディターで制作したアニメーションを列挙したPNGを出力、それをUnreal Engineに取り込んでゲームオブジェクト化するという流れで作ります。Unityの場合はMultipleの2DSpriteとして設定した後、エディタに放り込んでオブジェクト化し、アニメーションとステートのファイルが生成されて色んな料理ができるという流れです。
UnrelaEngineは「Paper2D」という2Dキャラクター専用のオブジェクトの形式があり、それにPNGアニメーションをまとめた「FlipBook」を作成、指定してあげることで3D空間に2Dオブジェクトを配置することができます。このPaper2DオブジェクトにBluePrintを設定することでUnityで言うところのプレハブ的な扱いができるようになったりします。

この流れはUnity、Unreal Engineでめちゃくちゃに違うって感じではないです。Unityの場合はアニメーションフレームに関数を仕込んだりすることができて非常に助かったのですが、UEでそれができるかまだ検証してないので引き続き動作確認進めていきます。

実際に配置してみた様子
ポストプロセスで薄らBloomと露出補正、色味を少し調整かけただけですがこんなに見栄えが良いです。

②キャラクターとコントローラーを繋げる
Unityの場合はInputSystemという機能があり、InputSystemでコントローラーのボタンやスティックを割り当てたアクションマップを作成してエディターで設定したりスクリプトでアクションマップを切り替えたりして対応します。

UnrealEngineの場合も同じようにプロジェクト設定のインプット項目からアクションマップを設定できて、GameModeBaseというBluePrintクラスを切り替えて複雑なアクションマップの動きを作るようです。正直まだ細かいところまで理解できていないのでこちらも引き続き検証と勉強が必要そうです。

コントローラー(主にアクションマップ)もUnity UEで大きく違うというような感じではないです。細かな名称や設定箇所は違えど本筋は一緒という感じです。


③動作のスクリプトを書く
UnityはC#で記述する方が多いかと思いますが、ビジュアルスクリプティングのアセットで「BOLT」があるのでBluePrintと似たことができるみたいですね。
「エルフの村の作り方」ではC#を記述して動作を制御しています。JavaScriptに触れていたこともありコーディングはすんなりいきました。ただ関数なりクラスなりを整理する意識をせずに構築したために見返すのが大変な仕上がりに…。あとあとリファクタリングするのも大変だしどうにかならないかなーと思っていた所で導入を考えたのがUnreal Engineという流れです。

Unreal EngineのBluePrintは素晴らしいと思いました。よく謳い文句で「ソースコード書けなくてもゲームが作れる!」なんて言いますが主観としてはそれは嘘で、「プログラミングはできるんだけどもチーム開発の高速化(プログラマー毎の記述差標準化やコードレビュー)とかコード資産の再利用性向上、デバッグとか楽したいんだけど」というニーズにドストライクな技術だと思ってます。

画像は主人公キャラクターを矢印キーで移動させて、移動状態に合わせて待機、歩行アニメを切り替えるまでやっているBluePrintになります。最初は私も全然わからなかったのですが、サンプルのプロジェクトでちょっと勉強して各モジュールの機能とIOを把握すればヘタにコーディングするより早いかもしれません。視覚的にスクリプトの動きがわかるのでコードレビューやリファクタリングは圧倒的にやりやすいでしょう。
今回私が作ったBPは2Dゲームサンプルプロジェクトを参考に自分が理解できるモジュールで組んで制作しましたが、サンプルとは違ったBPでも同じ動作を実現できることから、スクリプト設計の自由度も非常に高いことが伺えます。結果として煩雑な構成になってしまう場合も十分あるということなので全体の設計思想をしっかり持つ必要性は変わらずという感じでしょう。

モジュールの機能と種類を覚える学習コストはあるものの、ちょっとプログラムをかじったことのある人ならパズルゲームの感覚でスクリプトを構築できて楽しいと思います!

結局UnityとUE どっちがいいのさ

今のところ「Unreal Engine最高!BluePrint最高!」という感じです。UnityとUnreal Engineどっちがおすすめですかと言われたら、PCのスペックに余裕があるならUnreal Engineを迷わず勧めちゃうかもしれません。

無料プラン

今週はメイドさんのデザインをご紹介します。スカートたくしあげして見せてくれるそうなので是非フォローして確認してみてください!

フォロワー以上限定無料

メイドさんのデザインとタクシアゲ

無料

最新の記事

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索