ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Set World Rotation とは
Set World Rotation は Unreal Engine 5 のブループリント / C++ で使える関数で、アクターまたはシーンコンポーネントの回転をワールド座標基準で設定します。「絶対回転を直接書き換える」イメージです。
同様の関数群:
| 関数 | 基準 | 主な用途 |
|---|---|---|
| Set World Rotation | ワールド空間 | 絶対方向を指定 |
| Set Relative Rotation | 親(ローカル)空間 | 親に追従させつつ相対角度を変える |
| Set Actor Rotation | ルートコンポーネントの World | アクター全体の向き |
| Add World Rotation | ワールド空間に加算 | 「現在の向きから +30 度回す」 |
| Set Physics Rotation | 物理エンジン経由 | Simulate Physics 中の剛体 |
入力ピン
| ピン | 型 | 意味 |
|---|---|---|
| Target | SceneComponent / Actor | 回転させる対象 |
| New Rotation | Rotator | 新しいワールド回転値(Pitch, Yaw, Roll) |
| Sweep | bool | true で経路上の衝突を判定(CCD 的挙動) |
| Teleport | bool / enum | true で物理状態をリセットして瞬間移動扱い |
| Hit Result | HitResult(出力) | Sweep 時の衝突情報 |
基本的な使い方(Blueprint)
- イベントグラフで Tick / カスタムイベントから処理開始
- Make Rotator ノードで Rotator を組み立てる(Pitch / Yaw / Roll を指定)
- Set World Rotation ノードを配置し、Target と New Rotation を接続
- 必要に応じて Sweep / Teleport を設定
例: アクターを Z 軸まわりに 90 度向ける
- Make Rotator: Pitch=0, Yaw=90, Roll=0
- Set World Rotation: New Rotation に上記をつなぐ
C++ での書き方
// Actor のルートコンポーネントを回す
SetActorRotation(FRotator(0.0f, 90.0f, 0.0f));
// 任意のシーンコンポーネント
MyComp->SetWorldRotation(FRotator(0.0f, YawDeg, 0.0f));
// Sweep + 衝突結果を取る
FHitResult Hit;
MyComp->SetWorldRotation(NewRot, /*bSweep=*/true, &Hit, ETeleportType::None);
// 物理シミュレーション中の剛体(推奨)
MyPrim->SetPhysicsRotation(FQuat(NewRot));
Set World Rotation と Set Relative Rotation の違い
アクター B が アクター A に Attach されている状況を考えます。A をワールド Z 軸 +30 度回転させた状態で、B の向きをどう扱うかで使い分けます。
| 使用関数 | 挙動 |
|---|---|
| B.SetWorldRotation(0,90,0) | B のワールド向きを Yaw=90 にそのまま設定(A の回転を打ち消す) |
| B.SetRelativeRotation(0,90,0) | B は A に対して Yaw=90 ずれた向き(A も回るなら一緒に回る) |
「親の動きに追従して、追加で 30 度ずらしたい」なら Relative、「絶対方向を毎フレーム狙いたい」なら World です。
Sweep / Teleport オプション
| オプション | true のとき |
|---|---|
| Sweep | 回転経路で衝突判定し、ぶつかった時点で止まる。Hit Result に詳細 |
| Teleport | 物理速度・接触状態をリセットして瞬間移動扱い。テレポートや初期配置に使う |
キャラクター移動などで小さな回転を多用する場合、Sweep を有効にすると壁めり込みを防げます。一方、ワープ系演出では Teleport を有効にして物理を引きずらないようにします。
動かない・思った向きにならない原因
1. Simulate Physics が有効
対象 PrimitiveComponent で Simulate Physics が ON だと、姿勢は物理エンジンが管理します。Set World Rotation を呼んでも次フレームで上書きされたり無視されたりします。物理剛体には Set Physics Rotation(C++)/ Set All Physics Rotation を使います。
2. アタッチ階層の影響
親アクター / 親コンポーネントが動いていると、World 指定でも次フレームで再計算され「ずれて見える」ことがあります。階層に依存させたいなら Relative、独立させたいならDetachしてから World で動かします。
3. オイラー角の特性(ジンバルロック)
Pitch が ±90° に近づくと、Yaw / Roll が同じ軸を回すようになり制御不能になる現象がジンバルロックです。長時間の補間や複合回転では Rotator ではなくQuaternion(FQuat)で計算し、最後に Rotator に変換する設計が安全です。
4. ターゲットを間違えている
Actor を回したいのに SkeletalMesh コンポーネントだけ回している、というケース。Set Actor Rotation(ルート全体)と各 Component の Set World Rotationを区別します。
補間して滑らかに回す
毎フレーム目標値をジャンプ設定するとカクつくため、RInterp To や QInterp To で補間します。
// Tick 内
FRotator Cur = GetActorRotation();
FRotator Target = FRotator(0.f, 90.f, 0.f);
FRotator Next = FMath::RInterpTo(Cur, Target, DeltaTime, /*Speed=*/4.f);
SetActorRotation(Next);
Blueprint なら RInterp To ノードを Tick で使い、Current / Target / Delta Time / Interp Speed を接続します。
FAQ
Q: アクターとシーンコンポーネント、どちらを回せばいい?
A: アクター全体を回すなら Set Actor Rotation。武器メッシュなど一部だけ回したいなら、そのコンポーネントに対して Set World/Relative Rotation を使います。
Q: 360 度を超える Yaw は?
A: 内部的に正規化されます(−180° 〜 +180°)。差分計算は NormalizeAxis で整理してから行うとバグが減ります。
Q: ネットワーク同期は?
A: Replicated なアクター / コンポーネントなら、サーバ側で Set World Rotation すれば自動的にクライアントへ複製されます。クライアント側のみの設定は表示限定です。
関連
- Set Relative Rotation / Add World Rotation
- Set Actor Rotation / Set Actor Transform
- Make Rotator / Break Rotator / FRotator
- FQuat(クォータニオン)
- RInterp To — 補間ノード
- Simulate Physics / Set Physics Rotation
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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 と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?