見出し画像

超初心者のUE5学習メモ-1-:レベルってなんぞや?

なぜかUnityではなくUEを勉強し始めました、恒石涼平です。TyranoScriptとツクールMVくらいしか触ったことないけど……まあ頑張ろう。

前提として私は「超初心者」です。めちゃくちゃ基本的な部分とか、当たり前に使われてる専門用語とかにも躓きます。一つひとつを調べながら学んでいきます、その点ご了承ください。

なお使用させていただく『Unreal Engine 5』はこちらのサイトからDL出来ますので、気になる方は要チェックや!

【本日の勉強内容:ファイルメニュー】

とりあえずトップダウンのデモデータを開いてみました。

起動してみたものの何も分からん。とりあえず画面左上の「ファイル」とか「編集」「ウィンドウ」とかのメニュー部分から潰していきます。

今日はファイルのところから。

うーむ、基本的には他のソフトウェアと似たようなものだけれど1つだけ意味が分からんのがある。

「レベル」ってなんぞや? 「現行レベル」ってなんぞや?


《レベルって何やねん》

雰囲気的に考えるとツクールでいう「マップ」的なものだろうか。とりあえず見つめていても仕方ないので調べてみます。

Level はゲームの「ワールド」のすべて、または一部です。レベルは、背景、利用可能なオブジェクト、その他のキャラクタなど、プレイヤーが見たりインタラクトすることができるすべてのものを含みます。ビデオゲームには複数のレベルが存在し、それらの間の遷移が明確に描かれているのが一般的です (たとえば、レベルの最後のボスを倒すと、次のボスに移動します)。

なるほど、何となくは分かるような……気がする?

とりあえず専門用語の解説に専門用語を使うなと声を大にして言いたいが、ここは超初心者が来るところではないということ……!

一応、用語解説のページもあったのでそちらも参照しておこう。

レベル は定義するゲームプレイ領域です。レベルは、ジオメトリ、ポーン、アクタなど、プレイヤーが見たりインタラクトすることができるすべてのものが含まれます。

Unreal Engine において、各レベルは個別の .umap ファイルに保存されるので、これらのファイルは マップ と称されることがあります。

はい、分からん。最後の文章にあるとおり『レベル = マップ』という捉え方は合っているらしい、というのが収穫か。

これらのドキュメントを見つつ、レベルについてもっと噛み砕いて考えていきます。


《レベル = 1つのマップ》

解説文にある『Level はゲームの「ワールド」のすべて、または一部』とある。最後の部分が何だか怪しげだが文面通りに受け取ると……

「レベル = ゲームの1つのマップ」という捉え方で良さげかな?

Unreal Engine において、各レベルは個別の .umap ファイルに保存されるので、これらのファイルは マップ と称されることがあります。

このようにも書かれているので認識は間違ってなさそう。その説明文の下にはレベルの構成する最小限の要素について書かれているので、自分なりに分かりやすいようにまとめてみる。


《レベルを構成する最小限の要素》

  • 背景(木や岩、壁などのマップに固定されたもの)

  • キャラクター(プレイヤー以外も含む、ゲーム内で行動する存在)

  • ライト(太陽光や照明の明かりなど)

  • (環境音や、足音などのSE)

これらがレベル(マップ)を構成する最小限の要素らしい。なお原文は以下の通り。

・レベルそのものとなる .umap ファイル。他のすべてを保持するコンテナだと考えてください。
スタティックメッシュ アクタ で構成された背景。木、岩、壁、その他の背景に固定されたものなどです。ランドスケープ アクタやウォーター アクタなど、他のタイプのアクタを使用する背景もあります。
・スケルタルメッシュ アクタ で表現されるプレイヤー キャラクター。
・異なるタイプの 1 つ、または複数の ライト
・環境音とサウンド エフェクト (足音など)。

分かりやすくするために端折ったが、原文にはまた新しい用語が出てきた。「スタティックメッシュ アクタ」「スケルタルメッシュ アクタ」の2つである。用語多すぎィ!

今回はレベルに関して知りたいだけだから放置……しておきたいが軽く目を通してめっちゃ簡単にまとめてみよう。


  • アクタ = マップに配置するオブジェクト(カメラや物体、キャラなど)のこと

  • スタティックメッシュ = 変形しない3Dモデル(岩や壁など)

  • スケルタルメッシュ = 変形する3Dモデル(動くキャラクターなど)

……単純化かつ自分も理解しきれてないであろう部分なので、間違ってたらすまん。でも多分だいたい合ってると思う、メイビー。

とりあえず認識はこの程度に留めておいて、レベルの作成に関して進めよう。


《レベルの作成もまたややこしい》

ファイルメニューを開くと、先ほども挙げたこちらの項目が出てくる。

頭から理解していきたいんだけども、「新規レベル」というレベルの作成するところから非常にややこしい。何故ならこいつを押すと……

何故か4つも出てくるのだ。選択肢多いよ、アイレムゲーじゃないんだから。

これに関してもドキュメントには解説があったのでそちらを参照してみます。

まず最初の文にあるややこしい所を解決したい。

レベル は個々のアセット ファイルに格納されます。一般的なアセット操作の多くをレベルアセットで行うことができます。

……そういやアセットってゲーム制作でよく聞くけど、何なのか調べたことなかったな。と思ったので検索してみたところ「アセット = ゲームで使う素材のこと」という認識でいいみたい。

んでこの文章なんだけど、もう理解が難しいのよ。アセットファイルって何やねん。

恐らくなんだけど「レベルは他の素材(アセット)と同じように保存し、他の素材と同じように操作できる」ということ……何だろうと思う。


これに関しては合ってるか分からないけど解決ということで。次に新規レベルで作れる4つのものを噛み砕いてまとめます。

  • Open World:大規模なオープンワールドに必要な機能を使える、サンプルとして基礎的や要素がすでに作られているもの

  • オープンワールドを空にします:上記のサンプル部分がないやつ

  • Basic:通常のマップを作成する、サンプルとして基礎的な要素がすでに作られているもの

  • 空のレベル:上記のサンプル部分がないやつ

日本語訳どうした……ともあれ大まかに分けて2つ、そこからそれぞれサンプルのありなしという形みたい。

オープンワールドとか大規模なマップを作るなら「Open World」の方で、通常のマップや小規模なものは下の「Basic」の方を使えばよさそうだね。サンプルありなしは慣れてから考える部分だろうし今は無視!

なお解説の原文はこちら。

Open World: 大規模でストリーミング可能なオープン ワールドを作成するための World Partition (ワールド パーティション) 機能を使用するサンプル コンテンツを含むレベル。
Empty Open World:World Partition を使用し、コンテンツを何も含まないレベル。
Basic:間取り、ライティング、大気、指数関数的フォグを含むレベル。
Empty Level:中身が空のレベル。

オープンワールドの機能に関しては、まあ、その内ということで。絶対今見ても分からんだろうし。というかオープンワールド作る予定ないし……


【本日の学習メモまとめ】

という感じで今日は「レベル」について学びました。要約するとこんな感じ。

  • レベルとは「マップ」のことである

  • ゲームは複数のレベル(マップ)で構成されている

  • 「現行レベル」とは現在弄っているレベルのこと

  • レベルには「背景」「キャラ」「光源」「音」などのアセット(素材)が配置され、マップやゲームを構成する

  • レベルは他のアセットと同じように保存し、編集ができる

  • レベル作成時にはオープンワールド用の機能を搭載した「Open World」と通常のワールド用の「Basic」の2種がある

うむ、レベルだけで記事が終わってしまった。でもかなり理解は深まったのでヨシとしよう。本当に合ってるか分からんけど。

んで勉強のためにUnreal Engine5のドキュメントに目を通したんだけど、よく見るとレベルの項目ってちょっと後のやつだったんだよね。

引用:https://docs.unrealengine.com/5.0/ja/working-with-levels-in-unreal-engine/

なのでもしかしたらドキュメントの順番で学んでいくかもです。……と思ったんだけど、よく見たらUnreal Engineの公式にこんなページが。

引用:https://www.unrealengine.com/ja/onlinelearning-courses

学習できるやんけ!

試しに目を通したら動画は全編英語でした。字幕はあるけどね。

まあ今後はこちらもドキュメントと同じく参考にしつつ、基本は手探りで学んでいければと思います。教えられるより自ら動いて学んでいく方が好きなのじゃ。

という所で今回はここまで。また次回お会いしましょう。

……続けばいいなぁ。


もしも記事が参考になったら、スキやフォローよろしくね! 気が向いた時はサポートで支援していただけると嬉しいです。