(動画チュートリアル関連) DefaultSceneRoot は何のためにあるのか?

空のアクタ (Empty Actor) をレベルにドラッグしてから、ブループリント化すると、

DefaultSceneRoot というのができます。

これは何のためにあるのでしょうか?

なお、スタティック メッシュをレベルに配置してから、ブループリント化すると、

この DefaultSceneRoot はできません。

まず、アクタとはレベルに配置できるものです。アクタは 1 つ以上のコンポーネント (部品) から構成されます。コンポーネントは、スタティック メッシュであったり、何らかの機能 (たとえば、回転の動き) であったりします。

Root コンポーネントとは、そのアクタの中心となるコンポーネントであり、他のコンポーネントは Root コンポーネントに対する相対的な位置や回転をもつことになります (Root コンポーネント自体はその他のコンポーネントに対する位置や回転はもちません。レベルに配置した時の位置が Root コンポーネントの位置だからです)。

ところで、「空のアクタ」であれば、コンポーネントもないことになります。つまり、Root コンポーネントもないことになり、他のコンポーネントの位置や回転が決まらないので困ります。

そこで、ダミーの Root コンポーネントとして DefaultSceneRoot というものが最初から自動的にアクタに備わるようになっているのです (UE4.12)。このダミーは球のように見えて球ではありません。大きさのない点だと考えるべきです。エディタのユーザーに見やすくするために球のようになっているだけであり、ゲーム中は表示されません。

先ほど「相対的な位置」と言いましたが、これについて補足します。下の図は、スタティック メッシュ コンポーネントの Z 軸方向の位置が Root コンポーネントよりも 140cm 下に位置しています。つまり相対的に 140cm 下に位置しています。

この両者の相対的な位置関係は、このアクタ (=Root コンポーネント+スタティック メッシュ コンポーネント) がレベルに配置されても変わません。

なお、このスタティック メッシュ コンポーネントをダミーの DefaultSceneRoot の上にドラッグ & ドロップすると、Root コンポーネントにすることができます。

:arrow_forward:関連する UE4 AnswerHub スレッド アクタの床抜けを防ぐ方法

1 Like