ブループリントでTPSサンプルのプレイヤーの動かし方について

Unreal Engineのバージョン5.0.3でTPSのサンプルを作成。
そして「BP_ThirdPersonCharacter」のブループリントを開くと、以下のような処理があります(他にもプレイヤーの向きを変える、ジャンプする処理があるようですが、この質問とは関係ないので省略)


2種のインプットから入力を受け取り、AddMovementInputが呼ばれ、キャラクターが動くようです。
試しにインプットを削除したり、nodeを切断するとキャラクターが動かなくなったのでその点は間違いないかと思うのですが、

問題はAddMovementInputで、これをダブルクリックすると「C++Symbleを読み込み中」とUEエディタの右下に表示されるのですが、
これはキャラクターが動くのはC++で定義されており、ブループリント内で処理が完結していない、ということなのでしょうか?

問題はAddMovementInputで、これをダブルクリックすると「C++Symbleを読み込み中」とUEエディタの右下に表示されるのですが、
これはキャラクターが動くのはC++で定義されており、ブループリント内で処理が完結していない、ということなのでしょうか?

C++で定義されている、という意味ではその通りです

気にしているところがいまいち掴めませんが、UnrealEngineのBlueprintシステムは、C++で構築されたプログラムの上に成り立っています
最終的な挙動を実現しているのはC++で実装されたフレームワークの部分です

ゲームを構成するロジック部分はBPのみで完結できます
これは、フレームワークのルールを理解すれば、エンジンの内部挙動を気にすることなくゲームを作ることが可能である、という意味です
C++を使う(あるいは、エンジンの内部挙動まで手を入れる)予定がなければ、「このノードはこういう動きをする」程度の理解で問題ありません

UnrealEngineの使い方ではなく、UnrealEngineの内部挙動に興味があるのであれば、ぜひソースコードを追ってみてください

1 Like

なるほど。ありがとうございます。

気になっていたのは、受け取った入力を元にこれ(BP_ThirdPersonCharacter)自体の座標を変更するような処理があると思っていたのですが、
その処理がBPで記述されていたかったため、少しでも複雑な処理をやろうとすると、結局C++に触れなければならないのか。という点でした。

しかし、「ゲームを構成するロジック部分はBPのみで完結できます」とのことであれば、その懸念がない様で安心しました。