0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unreal Engine (UE)Advent Calendar 2024

Day 13

Unreal Engineを手探りで学んだ時のメモ [1]

Posted at
  1. Unreal Engineを手探りで学んだ時の自分用メモ
  2. 覚え書き・その日のうちに記事を書こうと思うので多分間違い・解釈違いが多い
  3. Unityを少しやったことがある

今回の目標

Unreal Engineの講座とか動画を先に見ても良いのだけれど、
自分で発見しないと覚えられない人間なので、
先にUnrealEngineのテンプレートプロジェクトの内容を理解出来るようにしようと思う。
あたって砕ける。

とにかくUnreal Engineをインストールして起動

5.4でやる。
image.png

テンプレートがいくつかあるらしい。
これをとりあえず全部理解する所が目標。
image.png

直感だけど、多分サードパーソンが一番基礎的でシンプルな実装になると思うので、サードパーソンから見ようと思う。

image.png
スクショを取る前に少しレイアウトをいじってしまったが、基本的にはUnityと機能の単位は変わらない印象。

  • コンテンツブラウザがちょっとこのレイアウト使いにくそう
  • macのFinderかwindowsのフォルダシステムかどちらかに寄せて欲しい。使えるから良いけども
  • 逆にアウトライナーは、Unityには無いフォルダ機能があって、これは整理しやすくていいかも

image.png
とりあえず実行

  • 操作はWASDとスペースキーのジャンプで、カメラをマウスの上下左右で動かせるっぽい
  • 青いブロックはキャラクターがぶつかることで動かせるらしい
  • クリックとかは無さそう

image.png
アウトライナーの中身はこんな感じ

  • 地形のオブジェクトをブロックの組み合わせで作っている
  • 地形以外は Lighting PlayerStart WorldDataLayers WorldPartitionMiniMap0 の4つかな
  • とりあえず今回学びたいのはキャラクターの移動とかカメラの操作とかなので、 PlayerStart から辿ってみる

PlayerStartってなんだ

PlayerStart を選択した状態で詳細を見たら、てっきりそこにStartするキャラクターを指定するインターフェイスがあるのかと予想していたけどなにもない。

image.png

Startする位置を指定するだけなのになんで CapsuleComponent がついてるのかも気になる。
座標を指定するだけじゃだめなんだろうか。

アウトライナーをよく見るとUnityみたいにGameObjectみたいな概念が無くて、機能を直接レベル上に配置するスタイルなんだろうか。
逆に言うと1つのGameObjectに対していろんな機能をつけることは出来ないと。まぁそれはある意味シンプルでいいか。

少なくとも詳細にヒントが出ない以上、アウトライナーから全容を辿ることは難しそう。

コンテンツブラウザから攻める

アウトライナーからだと何もわからないのでコンテンツブラウザから見ることにする。
image.png

多分このThirdPerson内に操作とかがまとまっているはず。
人間っぽいブループリントを開く。

image.png

Add Input Mapping Camera Input Movement Input Jump Input とグルーピングされてるのでわかりやすくなってそう。

image.png

ノードの仕組みはわからないけれど、 Triggered実行 に渡されているということはこのタイミングでノードが実行されるということだろうか。
Event BeginPlay とか EnhancedInputAction とかいうのはタイミングの概念があるものだと思うし多分そうなんだろう。

image.png

赤いノードがイベントで、 Triggered を持つもので、緑のノードがGet系、青のノードがSetとか何かの外に影響のある機能を呼び出すものかな。
ノードの処理もわかりやすいしブループリントええやん。

self ってなんだ

Camera InputMovement Input はそれぞれ青いノードに繋げてるけど、
その両方で targetself と指定されてるけどなんで?

今気付いたけど、キャラクターのブループリントなのになんでCameraの操作が入ってるんだ??

よく見るとアウトライナーにCameraというオブジェクトがない。
image.png

ブループリントのコンポーネントとしてFollowCameraというのがあるけれど、これがあのCameraなんだろうか。
良いのか?キャラクターが増えたらその分だけCamera増えるけど。
image.png

まぁもしかしたらUnreal EngineではCameraというものは概念的なもので、
このFollowCameraにはUnityでのCameraの機能自体は無いのかもしれない。
エンジン側でCameraを持っていて、このコンポーネントが指定している位置にCameraを持ってくるとかかな。
まぁそれなら許してやるか。

それよりも self の方だよ。
image.png
image.png
この2つのノード両方とも Target is Pawn なのに、一方はCameraを操作していて、もう一方はキャラクターの移動を操作しているのはなんでだろう。
(まぁ Target is Pawn が何を指しているのかも、わからないんだけれども)

他に差分は無さそう。

この Movement InputCamera Input がたまたま両方Vector2だったので、
入力を「マウスで移動操作」「WASDでカメラの操作」という形に入れ替えても、
WASD押すとキャラクターがピクピク動き出すので、
なんかブループリント上には表示されていない隠された依存というか接続がありそう。

やはり手探りでUnreal Engineは無理だったのか?
負けた気がするのでGoogleに聞く前に一通り確認する。
手探り置いといても、こういうR◯Gツクールみたいな直感的じゃなくて推測出来ないインターフェイスは嫌いだ

30分後

image.png
なんだこれ。
つまり 「Add Controller Yaw Input はキャラクターのYawを回転しない」ということなんだろうけど、じゃあ何を回転してるんだろう。

実際に動かしてみ見るとCameraが回転しているので、Cameraに対して操作が行われているということは、
仮にこのチェックボックスをtrueにしたら、キャラクターが回転してその2倍の速度でカメラが回転するんだろうか。

と思ったら何か予想とはちょっと違ったけど、それっぽい動きになった。
そうか、Unityじゃないから親の位置や回転に依存しないということだろうか。

位置が依存している用に見えるのは多分こっちのスプリングアームコンポーネントの機能だと思う。
image.png

このスプリングアームコンポーネントがない状態だと、キャラクターはカメラは初期位置から動かないんじゃないかな

いや動いた、わかんないや。

ああいや、Add Movement Inputがキャラクターとカメラ両方に移動値を加えてるから同じ位置にあるのかな
スプリングアームコンポーネントと干渉する気がするけど、どうなんだろう。

いや、Boxをブループリントに追加して見ると親の位置や回転に依存しているように見えるな。
それに、 Add Controller Yaw Input は今の理解だとあくまでキャラクターが入力を無視しているだけなんだから、カメラの回転に合わせてBoxも回転していないと辻褄が合わない。

30分後

よくわからないのが、
キャラクターの Use Control Rotation Yawfalse の時はカメラに対して Use Controller Rotation Yaw が機能し、
キャラクターの Use Control Rotation Yawtrue の時はキャラクターのみに Use Controller Rotation Yaw が機能しているように見える点。
キャラクターの回転の2倍の速度でカメラが回転すると予想していたけれども。

そしてそのルールが、Camera以外の他のオブジェクト(Boxとか)に恐らく適用されていない点。

うーんなんか本当にCameraだけ特殊な処理をしている気がするな・・・。
なんか余計な親切・余計なお世話感がある。Unreal Engine苦手になってきた。

操作を見る

Cameraの回転に関しては、もうそういうルールだと覚えていくしか無いとして、操作を見る。

image.png

まぁ多分これか

image.png
image.png

めっちゃ抽象化されていて親切じゃん。
Unreal Engine好きになってきた。
これはすぐに理解出来そう ヨシッ。

今日はこれぐらいにする。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?