UE5のSpawn Actor from Class
UE5のSpawn Actor from Classは様々なアクタ(キャラ・炎・弾丸などのオブジェクト)を指定した位置に生成することができるノードだ。
例えば、キャラが弾を撃つ際に、弾丸を銃の位置へ生成するといった使い方が可能。非常に便利で使用機会は多い。
詳しく紹介していく。
Spawn Actor from Classの一覧目次
Spawn Actor from Classの詳細Spawn Actor from Classの使い方
目次にもどる
Spawn Actor from Classの詳細
.jpg)
Classには生成したいアクタを入力する。
ブループリントクラスを指定することが多いと思うが、カメラやサウンドのアクタなどを生成することも可能となっている。
Spawn Transformには生成するアクタの位置・向き・サイズなどのトランスフォームを入力する。
Collision Handling Overrideにはアクタを生成する際に他のコリジョンと重なった場合にどうするかを選ぶ。選択肢は以下の4つだ。
・Default
・Always Spawn,Ignore Collisions
コリジョンがあっても無視してアクタを生成する。
・Try To Adjust Location,But Always Spawn
位置調整を行いアクタを生成する。調整に失敗してもアクタを生成する。
・Try To Adjust Location,Don’t Spawn If Still Colliding
位置調整を行いアクタを生成。調整に失敗した場合はアクタを生成しない。
・Do Not Spawn
邪魔なコリジョンがある場合はアクタを生成しない。
目次にもどるSpawn Actor from Classの使い方
今回は操作キャラの銃口から弾を発砲したい。
例えば以下のように、ノードを配置する。
.jpg)
Classには生成したい弾丸のブループリントを作っておき指定する。
Spawn Transformには銃の弾を出したい位置を入力。
今回は操作キャラのブループリントのコンポーネントタブにWeaponのスタティックメッシュを作っておいた。
.jpg)
そのスタティックメッシュにソケットとしてMuzzleを作成し、位置を銃口の辺りに配置する。
.jpg)
あらかじめ、Muzzleの変数(Name型)を作り、そこに先ほど作成したMuzzleのソケットをセットしておく。
そして、Get Socket TransformノードでTargetにWeaponのスタティックメッシュを指定。In Socket TransformにMuzzleの変数を入力。
.jpg)
Get Socket TransformノードのReturn Valueを、Spawn Actor from ClassのSpawn Transformに入力してやればOKだ。
以上のような処理を何かキーが押した時に行うようにしておき、弾丸ブループリントをProjectileMovementコンポーネントタブなどで動くようにしておけば発砲処理を実装できる。