ネームスペースは、1 つの名前の下に集められたオブジェクトのグループです。また、ネームスペースは一意のパスでもあります。したがって、ネームスペース内の各オブジェクトは、そのオブジェクトが属するネームスペースとそれぞれのオブジェクト名で識別されます。たとえば、ネームスペース「Galaxy」には、「Galaxy:Moon」、「Galaxy:Rocket」、「Galaxy:Alien」といったオブジェクトが属します。
注:コロン(:)は、ネームスペースとノードの名前の区切りに自動的に追加されます。
ネームスペースを使用すると、同じ名前を持つ 2 つのオブジェクトに別々のネームスペースがあれば、その 2 つのオブジェクトを 1 つのシーン内に置くことができます。たとえば、「Mars:Alien」と「Moon:Alien」という2つのオブジェクトはネームスペースが異なるため、同じシーンで使用できます。
オブジェクトを、同じ名前の別のオブジェクトを含むシーン内にマージする場合は、マージする方のオブジェクトにネームスペースを設定することで名前の衝突を解決できます。
アセットは、シーン内にどのように存在するかに関係なく、任意のネームスペースに存在することができます。コントロール リグ階層からのノードに、1 つまたは複数のネームスペースを割り当てる、あるいは親オブジェクトに 1 つのネームスペースを割り当て、子オブジェクトに別のネームスペースを割り当てることができます。
オブジェクトやオブジェクトのブランチにネームスペースを設定しておくと、シーンの管理や最適化をスムーズに行えます。これは、非常に大きなシーン ファイルに特に有効です。
注:ネームスペースは、オブジェクトのプロパティやプロパティ リファレンスにも影響します。
ネームスペースは、シーン ファイルの作成過程で追加、変更、削除できます。また、シーン内のネームスペースにさらに別のネームスペースを追加することもできます。詳細は、「ネームスペース内のネームスペース」を参照してください。
注:ネームスペースの長さの上限は 1024 文字です。
オブジェクトにネームスペースを設定するには:
- Scene Browser または Viewer ウィンドウで、オブジェクトを選択します。
- MotionBuilder のメニューバーから Edit > Add/Remove Namespace を選択します。
注:あるいは、オブジェクトまたはノードを右クリックし、コンテキスト メニューから Add/Remove Namespace を選択する方法もあります。
Add/Remove Namespace ダイアログ ボックスが開き、カレント シーンに含まれるネームスペースが表示されます。
- Add ペインをクリックします。
- New Namespace フィールドをクリックし、ネームスペースを入力します。
シーン内に他に有効なネームスペースがある場合は、Add after other namespace オプションをオンまたはオフにします。
警告:オブジェクトにネームスペースを設定すると、アニメーションのマージバックに影響が生じることがあります。これは、マージバックがオブジェクト名に基づいて処理されるためです。
- OK をクリックします。
オブジェクトに指定したネームスペースが適用され、一意の名前で識別できるようになりました。
1つのシーンに同じ名前(たとえば、「Cube」)のオブジェクトが2つ存在し、片方にだけネームスペースが付いている(たとえば、「Big:Cube」)場合に、もう片方のオブジェクトにも同じネームスペース(この場合は「Big」)を設定しようとすると、次のような警告メッセージが表示されます。
OK ボタンをクリックして操作を続行すると、オブジェクトに一意の名前を持たせるために、オブジェクト名の末尾に番号が付加されます(たとえば、「Big:Cube1」)。
ブランチにネームスペースを設定するには:
- Scene Browser または Viewer ウィンドウで、ブランチの最上位のオブジェクトを選択します。
ヒント:Viewer ウィンドウにシーン内のオブジェクトの階層を表示して、階層の最上位のオブジェクトを選択するには、Ctrl+W キーを押すか、View メニューから Schematic を選択して Schematic ビューに切り替えます。カメラ ビューに戻るには、Ctrl キーを押しながら W キーを押します。
- MotionBuilder のメニューバーから Edit > Add/Remove Namespace を選択します。
注:あるいは、オブジェクトまたはノードを右クリックし、コンテキスト メニューから Add/Remove Namespace を選択する方法もあります。
Add/Remove Namespace ダイアログ ボックスが開き、カレント シーンに含まれるネームスペースが表示されます。
- Add ペインをクリックします。
- New Namespace フィールドをクリックし、ネームスペースを入力します。
シーン内に他に有効なネームスペースがある場合は、Add after other namespace オプションをオンまたはオフにします。
- Apply to branch オプションをオンにします。
警告:オブジェクトやブランチにネームスペースを設定すると、アニメーションのマージバックに影響が生じることがあります。これは、マージバックがオブジェクト名やブランチ名に基づいて処理されるためです。
- OK をクリックします。
指定したネームスペースがオブジェクトのブランチに適用されます。
注:名前が重複する場合は警告メッセージが表示され、操作を続行するかキャンセルするかを選択できます。操作を続行すると、ブランチ内の各オブジェクトに一意の名前を持たせるために、オブジェクト名の末尾に番号が付加されます。
オブジェクトのネームスペースを変更するには:
- Scene Browser または、Viewer ウィンドウで、オブジェクトを選択します。
- MotionBuilder のメニューバーから Edit > Add/Remove Namespace を選択します。
注:あるいは、オブジェクトまたはノードを右クリックし、コンテキスト メニューから Add/Remove Namespace を選択する方法もあります。
Add/Remove Namespace ダイアログ ボックスが開き、カレント シーンに含まれるネームスペースが表示されます。
- Replace ペインをクリックします。
選択したオブジェクトのネームスペースがハイライト表示されます。
- New フィールドをクリックし、新しいネームスペースを入力します。
警告:オブジェクトのネームスペースを変更すると、アニメーションのマージバックに影響が生じることがあります。これは、マージバックがオブジェクト名に基づいて処理されるためです。
- OK をクリックします。
オブジェクトのネームスペースが、指定したネームスペースに変更されます。
オブジェクトのブランチのネームスペースを変更するには:
ヒント:Viewer ウィンドウにシーン内のオブジェクトの階層を表示して、階層の最上位のオブジェクトを選択するには、Ctrl+W キーを押すか、View メニューから Schematic を選択して Schematic ビューに切り替えます。カメラ ビューに戻るには、Ctrl キーを押しながら W キーを押します。
- 前述の(オブジェクトのネームスペースを変更する)手順 5 までを繰り返します。
- Apply to branch オプションをオンにします。
警告:オブジェクトやブランチのネームスペースを変更すると、アニメーションのマージバックに影響が生じることがあります。これは、マージバックがオブジェクト名やブランチ名に基づいて処理されるためです。
- OK をクリックします。
オブジェクトのブランチのネームスペースが、指定したネームスペースに変更されます。
オブジェクトのネームスペースを削除するには:
- Scene Browser または、Viewer ウィンドウで、オブジェクトを選択します。
- MotionBuilder のメニューバーから Edit > Add/Remove Namespace を選択します。
注:あるいは、オブジェクトまたはノードを右クリックし、コンテキスト メニューから Add/Remove Namespace を選択する方法もあります。
Add/Remove Namespace ダイアログ ボックスが開き、カレント シーンに含まれるネームスペースが表示されます。
- Remove ペインをクリックします。
選択したオブジェクトのネームスペースがハイライト表示されます。
警告:オブジェクトのネームスペースを削除すると、アニメーションのマージバックに影響が生じることがあります。これは、マージバックがオブジェクト名に基づいて処理されるためです。
- OK をクリックします。
選択したオブジェクトのネームスペースが削除されます。
オブジェクトのブランチのネームスペースを削除するには:
- Scene Browser または Viewer ウィンドウで、オブジェクトのブランチを選択します。
ヒント:Viewer ウィンドウにシーン内のオブジェクトの階層を表示して、階層の最上位のオブジェクトを選択するには、Ctrl+W キーを押すか、View メニューから Schematic を選択して Schematic ビューに切り替えます。カメラ ビューに戻るには、Ctrl キーを押しながら W キーを押します。
- MotionBuilder のメニューバーから Edit > Add/Remove Namespace を選択します。
注:あるいは、ブランチまたはブランチの最上位ノードを右クリックし、コンテキスト メニューから Add/Remove Namespace を選択する方法もあります。
Add/Remove Namespace ダイアログ ボックスが開き、カレント シーンに含まれるネームスペースが表示されます。
- Remove ペインをクリックします。
選択したブランチのネームスペースがハイライト表示されます。
- Apply to branch をオンにします。
警告:ブランチのネームスペースを削除すると、アニメーションのマージバックに影響が生じることがあります。これは、マージバックがオブジェクト名やブランチ名に基づいて処理されるためです。
- OK をクリックします。
選択したブランチのネームスペースが削除されます。
ネームスペース内のネームスペース
ネームスペースは、ファイル システムのディレクトリと同じように機能します。ネームスペースは、オブジェクトまたはブランチの一意の ID です。ネームスペースに割り当てられたアセットは、ディレクトリ フォルダ内のファイルと同じように機能します。ディレクトリを別のディレクトリ内部に格納するように、ネームスペースを別のネームスペース内部に格納することができます。
また、ネームスペースは一意のパスでもあります。この場合、パス全体で 1 つのネームスペースと考えます。つまり、「Moon:Alien」は 1 つのパスであり、「Galaxy:Moon:Alien」はまた別のパスになります。「Galaxy:Moon:Alien」は「Galaxy」の中にある「Moon:Alien」を参照するものではないので、「Moon」以下を変更することができます。「Moon:Alien」と「Galaxy:Moon:Alien」は協同関係にある
2 つの個別の要素ですので、名前を変更する必要はありません。
たとえば、エイリアン キャラクタの脊椎は「Alien:Spine」と示され、「Moon」ネームスペース内に配置することができます。このときこの脊椎は Moon:Alien:Spine になるはずです。次に、Moon ネームスペースおよびそれに関連するアセットを「Galaxy」ネームスペース内に格納し、Galaxy:Moon:Alien:Spine
を作成するなどができます。
1 つのディレクトリ内に同じ名前の 2 つのサブディレクトリを入れることができないのと同様に、1 つのネームスペース内に同じ名前の 2 つのオブジェクトを入れることはできません。たとえば、ネームスペース「Galaxy」内に、2 つの「Galaxy:Moon」オブジェクトは存在できません。次のトピック(「階層のネームスペースを作成する」)の手順を参照してください。