ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
Set World Rotationは、コンポーネントやアクターの回転をワールド座標を基準として設定するノードです。親や取り付け先(アタッチ先)の向きに左右されず、シーン全体の絶対的な座標系で「どの方向を向くか」を指定できます。回転を相対値ではなく最終的なワールドの姿勢として与えたい場面で使われます。
この記事の要点
- Set World Rotationはコンポーネント/アクターの回転をワールド座標基準で設定するノード。
- 主な引数はNew Rotation(Rotator型:Pitch / Yaw / Roll)、Sweep(移動経路の衝突判定)、Teleport(物理状態の扱い)。
- ワールド回転は親の影響を受けない絶対値、相対(Relative)回転は親に対する差分という違いがある。
- 用途に応じてSet Relative Rotation・Set Actor Rotation・Add(相対加算系)と使い分ける。
- Rotatorは度(degree)指定。World と Relative の混同や親の存在が、想定外の向きになる主因になりやすい。
1Set World Rotationとは
Unreal Engine 5(UE5)のBlueprint(BP)には、オブジェクトの回転を制御するノードがいくつか用意されています。その中でSet World Rotationは、対象の回転をワールド空間(World Space)の座標系で直接設定するノードです。ワールド空間とはレベル(シーン)全体に共通する基準座標で、ここで指定した回転は親オブジェクトやアタッチ階層の向きに影響されない「絶対的な姿勢」として扱われます。
このノードは主にSceneComponent系(StaticMeshComponentやArrowComponentなど、Transformを持つコンポーネント)のターゲットに対して使われます。アクター自体の回転を扱いたい場合は、後述のSet Actor Rotationが対応するノードになります。いずれもC++のAPIに対応する関数があり、Set World RotationはUSceneComponent::SetWorldRotationに相当します。
2引数(ピン)の意味
Set World Rotationノードには、主に次のピンがあります。実際に表示される引数はバージョンや対象により多少異なる場合があるため、エディタ上の表記もあわせて確認してください。
| ピン | 型 | 役割 |
|---|---|---|
| Target | Scene Component 参照 | 回転を適用する対象のコンポーネント。 |
| New Rotation | Rotator(Pitch / Yaw / Roll) | 設定したいワールド回転。各成分は度(degree)で指定する。 |
| Sweep | Boolean | 目的の姿勢へ移る経路で衝突判定(スイープ)を行うか。主にルートコンポーネントが対象で、衝突が無効な場合は効果がない。 |
| Teleport | ETeleportType(列挙) | 物理状態をテレポート扱いにするか。テレポートにすると速度を保持し、しない場合は位置変化に応じて物理速度が更新される。 |
| Sweep Hit Result | Hit Result(出力) | Sweepを有効にしたとき、経路上で何かに当たった際のヒット情報を返す。 |
New RotationはRotator型で、Pitch(X軸まわり=上下の見上げ/見下ろし)、Yaw(Z軸まわり=左右の向き)、Roll(Y軸まわり=傾き)の3成分を持ちます。値はラジアンではなく度で扱う点に注意してください。
SweepとTeleportは、回転に伴って対象の位置や物理が動くケース(オフセットを持つルートコンポーネントなど)で意味を持ちます。純粋にその場で向きだけを変える用途では、これらの影響は小さいことが多いものの、コリジョンや物理シミュレーションを併用している場合は挙動が変わるため、目的に合わせて設定します。
3ワールド回転とローカル(相対)回転の違い
UE5の回転設定は、大きくワールド(World)基準と相対(Relative=ローカル)基準の2系統に分かれます。この違いを理解することが、Set World Rotationを正しく使う前提になります。
- ワールド回転:レベル全体の共通座標系における絶対的な向き。親がどう回転していても、指定した向きがそのまま最終的な姿勢になる。
- 相対(ローカル)回転:親(アタッチ先のコンポーネントやアクター)の座標系を基準にした差分。親が回転すれば、子の最終的なワールド姿勢も連動して変わる。
例えば、回転している土台(親)の上に乗った砲塔(子)を考えます。砲塔の相対回転を0のままにしておくと、砲塔は土台と一緒に回り続けます。これに対し、砲塔へSet World Rotationで特定のワールド方向を与えると、土台の回転に関係なく常にその方向を向かせることができます。内部的には、指定したワールド回転を実現するために相対回転が再計算されて適用されます。
4Set Relative / Set Actor / Add 系との違い
回転を設定・加算するノードは複数あり、目的によって使い分けます。代表的なものを比較します。
| ノード | 対象 | 基準 | 動作 | 主な用途 |
|---|---|---|---|---|
| Set World Rotation | コンポーネント | ワールド(絶対) | 指定した向きをそのまま最終姿勢にする | 親に左右されず特定方向を向かせたい |
| Set Relative Rotation | コンポーネント | 親基準(相対) | 親に対する差分として向きを設定 | アタッチ階層内での向き調整 |
| Set Actor Rotation | アクター | ワールド(絶対) | アクターのルートをワールド基準で回転 | アクター全体の向きを設定 |
| Add World / Relative Rotation | コンポーネント | 現在値への加算 | 現在の回転に増分を足す | 毎フレーム少しずつ回す等の継続回転 |
大まかな指針は次の通りです。「絶対的な向きを一度で決めたい」ならSet World Rotation(アクター単位ならSet Actor Rotation)、「親の中での相対的な向きを決めたい」ならSet Relative Rotation、「現在の向きに少しずつ足していきたい」ならAdd系です。コンポーネントとアクターのどちらを対象にするかで、World系とActor系を選ぶ点もポイントになります。
5使い方の例:対象の方を向かせる
ワールド回転がとくに活きるのが、「あるオブジェクトを別のオブジェクトの方向へ向かせる」処理です。向きはワールド空間で計算されるため、Set World Rotationと相性が良い組み合わせです。
典型的な流れは次のようになります。
1. 自分の位置(Get World Location)と、向きたい相手の位置(ターゲットのGet World Location)を取得する。
2. Find Look at Rotationノードに、Start=自分の位置、Target=相手の位置を渡し、相手を向くRotatorを得る。
3. 得られたRotatorをSet World RotationのNew Rotationへ接続し、対象に適用する。
これにより、対象は常にターゲットの方向(ワールド基準)を向きます。向きを瞬時に切り替えるのではなく滑らかに追従させたい場合は、現在の回転と目標の回転をRInterp Toなどで補間し、その結果をSet World Rotationへ渡すとよいでしょう。なお、Find Look at Rotationが返すのは主にPitchとYawの向きで、必要に応じてYawのみを使うなど成分を取捨選択すると、意図しない傾き(Roll)を避けやすくなります。
Get World Location (Self) ─┐ |
6落とし穴と注意点
| よくある落とし穴 | 内容と対策 |
|---|---|
| World と Relative の混同 | 相対回転を設定したいのにWorldを使う(またはその逆)と、親が回転している場合に向きがずれる。親の影響を受けたいかどうかで選ぶ。 |
| 親(アタッチ階層)の影響を見落とす | 対象が他のコンポーネントへアタッチされていると、見た目の挙動が直感とずれることがある。階層構造を確認する。 |
| Rotatorの単位の取り違え | Rotatorの各成分は度。ラジアンの値をそのまま入れると大きくずれる。回転計算の結果を渡すときは単位に注意。 |
| 瞬間的に切り替わる | 直接適用すると向きが一瞬で変わる。滑らかにしたい場合はRInterp Toなどで補間してから渡す。 |
| 物理シミュレーション中の対象 | 物理が有効なコンポーネントに直接適用すると、SweepやTeleportの設定により挙動が変わる。物理を併用する場合は両引数の意味を確認する。 |
7FAQ
Q. Set World RotationとSet Actor Rotationはどちらを使えばよいですか。
A. 回転させたい対象がアクター全体(ルート)ならSet Actor Rotation、アクター内の特定のコンポーネントならSet World Rotationが基本です。どちらもワールド基準の絶対回転を扱う点は共通しています。対象として何を選んでいるか(ピンに何を接続しているか)で判断してください。
Q. 向きが思った方向にならず、少しずれます。原因は何が考えられますか。
A. まず対象が他のコンポーネントへアタッチされていないか(親の影響を受けていないか)を確認します。次に、Worldを使うべき場面でRelativeを使っていないか、Rotatorの成分(Pitch / Yaw / Roll)の割り当てや単位(度)が正しいかを見直します。Find Look at Rotationと併用している場合は、不要なRollやPitchが入っていないかも確認するとよいでしょう。
Q. 滑らかに回転させたいのですが、Set World Rotation単体では瞬時に切り替わってしまいます。
A. このノードは指定した姿勢を一度で適用するため、それ自体には補間機能がありません。Tickなど継続的に実行されるイベントの中で、現在の回転から目標の回転へRInterp Toなどで毎フレーム少しずつ近づけ、その結果をSet World Rotationへ渡すことで滑らかな回転を表現できます。
8まとめ
Set World Rotationは、コンポーネントやアクターの回転をワールド座標基準の絶対値として設定するノードです。親やアタッチ階層の影響を受けないため、「常に特定の方向を向かせたい」「向きを一度で確定させたい」といった用途に向いています。親基準で扱うSet Relative Rotation、アクター単位のSet Actor Rotation、現在値に足し込むAdd系との違いを押さえ、Find Look at RotationやRInterp Toと組み合わせることで、狙った向きへ正確かつ滑らかに制御できるようになります。WorldとRelativeの取り違えや親の影響、Rotatorの単位といった落とし穴に注意して、目的に合ったノードを選びましょう。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
- Event BeginPlay
- Event ActorBeginOverlap
- Event Tick
- on component begin overlap
- On Component Hit
- CameraBoom(Spring Arm)
- Get Player Character
- Nav Mesh Bounds Volume
- AI MoveTo
- Pawn
- Create Render Target 2D
- Take High Res Screenshotノード
- Sphere Reflection Capture
- Event Tickノード
- ウィジェットのキャンバスパネル
- DefaultSceneRoot
- FloatingPawnMovement
- Set World Rotation
- Event Any Damage
- Set World Rotation
- VInterp To
- Get Socket Transform
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Scratch 作品の公開方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?