Unreal Engine楽しー!!!

はじめに

この記事は「ゲーム制作にかかわる人が自由な記事を作る Advent Calendar 2022」の参加記事です。
つよつよなクリエイターの方々に交じって、Unreal Engineが楽しい!!!みんなもUnreal Engineやろうよ!!!という記事を書かせていただきます。

あんた誰?

趣味でゲーム開発を嗜んでいる既婚男性です。
血液型はB型で、星座はかに座。いらない情報ですね。
元役者・声優で現在はゲームではないエンタメ業界で制作のお仕事をしていて、趣味でゲームを作っています。
中学生の頃に親のPCでFlashゲームを作ったのが始まりで、去年までは「プチコン」というソフトでゲームを作っていました。
「プチコン」シリーズは、任天堂のゲーム機上でゲームが作れてそのままゲームが動くという、めちゃめちゃユニークなソフトです。

ソフト内にチュートリアルもあるし、なんと言ってもTwitterで「プチコン」のワードに反応して開発会社の社長が手厚いサポートをしてくださるのが、他のゲーム開発ツールにはない特別仕様(?)です。
今は新しいゲームエンジン、「RPG Developer Bakin」の対応でお忙しいかも?
もちろんそっちも購入済みで、ちまちまと触っています。
少し話が逸れましたが、そんなこんなでしばらくプチコンに熱中していたのですが、30歳になってようやく生活も安定してきたので、昨年ゲーミングノートPCを購入し中学生以来のPCでのゲーム開発に挑戦中です。
一時期はゲーム業界に入るぞー!と意気込んでいたこともありますが、なかなか狭き門。
今は、趣味で楽しむくらいで、相変わらず中学生レベルでゲーム開発を楽しんでいて、Unreal Engineに熱中しています。
Unityも少し触っていますが、プログラミングをモリモリ書けるレベルではないです。
ボタンを押したらエフェクトが出るよ、ぐらいは実装できるかな?ってレベル。

前置きが長くなりましたが、ここから本題です。

アンリアルエンジンの楽しいところ

お手軽にリッチな絵が出せる

Unreal Engineの大きな強みはやはりこれでしょう。
あんまり頑張らなくてもリッチな絵が出せちゃう。
「Lumen」という機能でなんか光とか影とかがすっっっごくいい感じになる、という大雑把な理解しかしていませんが、この「Lumen」がつよつよなのです。
試しに光らせてみましょう。

まずは普通にマテリアルを作ります。

マテリアル作成の初期画面。

Unreal Engineではマテリアルと言う名前ですが、Unityだと「Shader Graph」がこれです。たぶん。おそらく。きっとそう。

RGBの定数が出力できるノードから、エミッシブカラーにピンを繋ぎます。
カラーをHSVでも設定できるのですが、この時、Vの値を1よりも大きくすると勝手に光ります!

ベクター3の定数をエミッシブカラーに繋ぐ。

これをレベル(Unityで言うところの「シーン」)に配置したオブジェクトにドラッグ&ドロップすると・・・

光ったーーー!!!

光ったーーー!!!
これだけで、なんだかいい感じに光ります。
ポストプロセスは何もいじってません。
このレベルはUnreal Engineではお決まりのサードパーソンテンプレートで、デフォルトで入っています。
Unityでも頑張ればリッチな絵が出せますが、Unreal Engineはあんまり頑張らなくてもこんな絵が出せちゃいます。
これは憧れるうぅ~~~!!!
みんなもUnreal Engineでどんどん光らせよう!!!

ノードプログラミングが楽しい

Unreal Engineのもうひとつの大きな特徴は、ブループリントというノードによるプログラミングです。
これが楽しい!
作りたい処理を論理で突き詰めて実装していく、というプログラミングの元来持つ楽しさももちろんあるのですが、ノードを線で繋いでいくため、自分が考えたプログラムが図として可視化されて、整理がつきやすくなります。

試しに画面に「Hello World」と表示させるプログラムを書くと、

画面にHello Worldと表示させるプログラム。

これだけです。
これは開発用のログに表示するプログラムなので、実際のゲーム画面に表示させるものではないですが。

画面に1から10を表示して最後にFinishと表示させるプログラム。

ド素人なのであんまりいいプログラムが思いつかないですが・・・
こんな風に、処理の流れが線で繋がって、頭で描いた実装を文字ではなく見た目で整理することができます。
このノードがけっこう便利で、あれをこうしてこうしたい、みたいな処理も、ノードひとつでできたりします。

Valueに入れた値が、Aより低い場合はAに、Bより高い場合はBにして、Return Valueから出力するノード。
Targetに入れたオブジェクトを、Delta Locationに入れた分だけ動かすノード。

こういったノード群を、論理的な思考で線で繋ぎ、そしてそれが自分の思い通りに動いた時が、めちゃめちゃ気持ちいい!!!
とは言え、僕のような素人が複雑なプログラムを作ると、すぐグチャグチャになるんですけどねぇ~~~。

僕が開発中のゲームのプログラムの一部分。
これはまだ自分の中では整理できてる方・・・

あとは、先ほど紹介したマテリアルもノードで作るし、AIのプログラムや3Dのアニメーションなんかも、ノードで作ることができます。

僕が開発中のゲームのAI部分。
AIは上から及び左から順に実行され、下に進むにしたがって分岐していく。
アニメーションのブループリント。
これはデフォルトのサードパーソンテンプレートで用意されているもの。

やっていることはプログラミングなので、変数、条件分岐、論理演算、なんかはガンガン使いますが、コードは書けなくてもゲームが作れちゃいます。
慣れてくるとイベントドリブンな設計だとか、アニメーションからの通知でイベントを呼び出すとか、インターフェースでクラス同士の依存関係を減らすだとか、そんなこともコードなしでできるようになってきます。
というか、最近そういうことができるようになってきて、めちゃくちゃ楽しいんです!!!
楽しいよ!!!

コミュニティの雰囲気がいい

Unreal Engine公式のイベントや生放送、株式会社ヒストリアさん主催の学習用イベントなどがちょくちょく開催されています。

よく登場するのは、Epic Games Japanの岡田さんと塩谷さん、株式会社ヒストリア社長の佐々木さんと広報・イベントデザイナーの有末さん。
皆さん優しいし、生放送のコメントやDiscord等での質問も丁寧に答えてくださります。
そんな優しい人たちが主催のイベントでUnreal Engineの学習もできちゃいます!
参加者も、本当にUnreal Engineを初めて触る人からプロの方まで様々で、わからないことを質問すれば、誰かが何かしら答えてくれます。
しかもそれが、学習用のイベントなので、100%の答えではなくいい感じに自分の力で答えに辿り着けるくらいのヒントでとどめてくれる。
参加者はそんな気の利いた人たちばかりなのです。
これはもう、それぞれのレベルに合わせた学習ができちゃうこと間違いなし!です。
僕も何度もお世話になっています。
これは参加しない手はないでしょう!!!

アンリアルエンジンを使う上での注意点

ここまでUnreal Engineの魅力を熱く(?)語りましたが、いくつか注意するべきところもあります。

容量がゴリゴリ

まずは、エンジン自体の容量がゴリゴリです。
Unityは10~20GB程度で、古いバージョンのUnityを置いておくこともよくあるかと思いますが、Unreal Engineは50GBくらい必要で、ストレージ容量に余裕がないと、古いバージョンのエンジンは消さざるを得ません。

Unreal Engine 5.0.3ひとつで54GBあるらしい。

これに加えて、マーケットプレイス(Unityで言うところの「アセットストア」)からダウンロードしたアセットの保存、作ったゲーム自体の保存なんかもすると、容量はどんどん膨らみます。
そして、ゲームを作りたい人は往々にしてゲーマーでもあるので、ゲームもいっぱい入れたい・・・とやっているとあっという間にストレージ容量がなくなります。
Unreal Engineはまだ5になったばかりで、場合によっては前のバージョンのUnreal Engine 4を使いたかったりするのですが、上記のような理由から、僕は4は消しちゃいました。
ストレージが512GBで、ゲームもいっぱい入れたい、みたいな人は要注意です。まあ僕がそうなんですけど。

要求スペックがなかなかハード

お手軽にリッチな絵が出せちゃうUnreal Engineですが、その分要求されるスペックがなかなかハードみたいです。
僕はあんまり詳しくないですが、あまり強くないスペックのPCだと、エンジンを立ち上げるのにけっこう時間がかかるとか、立ち上げてもガクガクで動かしづらい、とか発生するようです。
僕のPCもそんなに強いスペックではないので、Unreal Engineを起動しているとファンが回りっぱなしになります。
使えないというレベルではないですが。
一応、エンジンの設定をいじることで、ある程度スペックの高くないPCでも使えるレベルにはなるようですが、スペックの高さを活かしたゲームを作りたい場合は、作る場合の要求スペックも高い、ということになります。
幅広いユーザー層で使えるとなると、ここはUnityに軍配が上がります。

本格的な情報はだいたい英語

英語が苦手な方は要注意です。
Unityと比べると日本語の情報がけっこう少ないです。
もちろん、たくさんの日本人のUnrealユーザーの方がYoutubeやブログやTwitter、Discord等で情報発信はしていますが、やりたいことを検索すると一瞬で情報に辿り着ける確率はUnityの方が圧倒的に高いです。
Unreal Engineの場合は、込み入った情報になるとほとんどが英語です。
今は翻訳の精度もけっこう高くなっているし、Youtubeの場合は動かしている画面が見えるので、意外となんとかなったりもしますが、日本語だと欲しい情報がない、ということは珍しくないので、これからUnreal Engineを始める方はこの点は少し注意が必要です。

おわり

以上、Unreal Engineがたのしー!という記事でした。
最後は注意点も挙げましたが、そんなところも含めてUnreal Engineが大好きです。
だってほら、頑張ってるぜ~~~って感じがするじゃないですか!?
ドエムなのか!?俺はドエムなのか!?
Unreal Engineでサクサクゲームを作って、一発当てたいところですね!!!
ゲーム制作にかかわる人が自由な記事を作る Advent Calendar 2022」のラスト2番手がこんな記事でいいのか!?
いいんですよ!たぶん!!!
こんな感じでゆるゆるとゲームを作っています。
最近は本業が忙しくて進捗もなかなか投稿できてないですが、よかったらTwitterフォローしてね!
それではみなさん、よいお年を~。

この記事が気に入ったらサポートをしてみませんか?