【Roblox】エクスプローラーのフィルタリングについて
はじめに
今回は、Roblox Studioにおけるエクスプローラーのフィルタリングについて紹介します。
Robloxバージョン 0.658.0.6580461
エクスプローラーとは
エクスプローラーとは、エクスペリエンス内のすべてのインスタンスをツリー構造で管理・表示するウィンドウです。
Roblox Studioでゲームを作成するには必ず触るウィンドウだと思います。
すべてのインスタンスをエクスプローラーで管理するので、使用するインスタンスが増えるほど管理が大変になります。
今回はそんな時に役立つ、エクスプローラーのフィルタリング機能についてまとめました。
フィルタリング時に使える機能
エクスプローラーでインスタンスをフィルタリングするには、 ウィンドウ上部の検索フィールド(FilterWorkspaceの箇所)にフィルタリングしたい名称・パラメータを入力します。
下記画像の赤枠の箇所は、フィルタリングした際に表示されます。
特に全選択などは非常に便利なのでよく使用することになると思います。
画像 | 機能 |
---|---|
![]() |
該当するインスタンスの個数 |
![]() |
フィルタリング結果を上下に移動する |
![]() |
フィルタリング結果を全選択する |
![]() |
フィルタリング結果の更新 |
エクスプローラーでのフィルタリング
フィルタリングしたいワードや指定されたパラメータを入力することで、クラスやプロパティなどでフィルタリングできます。
インスタンス名
シンプルにインスタンス名でフィルタリングをかけたい場合は、そのままフィルタリングしたいワードを入力します。
Baseplate でフィルタリング
プロパティ
プロパティの値などでフィルタリングも可能です。
フィルタ内容 | フィルタ方法 | 例 | 例によるフィルタリング結果 |
---|---|---|---|
値の等価性 | =, == | Anchored = true, Anchored == true | Anchoredがtrueになっているインスタンスをフィルタリング |
値の比較 | ~=、>、<、<=、または>= | Transparency >= 0.5 | Transparencyが0.5以上のインスタンスをフィルタリング |
Vector3やColorなどの個々のフィールドでのフィルタリング | 値の等価性、比較の両方で使用できる演算子 | Color.R <= 120 | Color.Rが120以下のインスタンスをフィルタリング |
Vector3やColorなどの完全な比較 | 値の等価性、比較の両方で使用できる演算子 | Size = "20, 5, 20" | Sizeが x = 20, y = 5, z = 20 に該当するインスタンスをフィルタリング |
上記のように、Vector3やColorなどはフィールドごとにフィルタリングできます。
これらでフィルタリングした結果を全選択して、一括で変更などもできます。
クラス、サブクラス、タグ
クラス、サブクラス、タグは「:(コロン)」を使用してフィルタリングできます。
フィルタ内容 | フィルタ方法 | 例 | 例によるフィルタリング結果 |
---|---|---|---|
クラス | classname:Class, c:Class | classname:MeshPart | MeshPartに属するインスタンスをフィルタリング |
サブクラス | is:SubClass | is:BasePart | サブクラスがBasePartに属するインスタンス(MeshPartやPartなど)をフィルタリング |
タグ | tag:Tag | tag:IsCar | 「IsCar」というタグが付いているインスタンスをフィルタリング |
上記を使用することで、簡単に下記のようにクラスでフィルタリングできます。
「is:」は通常のクラスでも機能しますが、「classname:」はサブクラスでは機能しないので注意しましょう。
▼ SubClassのフィルタリング
▼ is: 使用 | ▼ classname: 使用 |
---|---|
![]() |
![]() |
子・孫に対してのフィルタ
ワークスペース全体に対してではなく、指定のオブジェクトの子・孫に対してのみフィルタリングをかけたい場合があります。
この場合は「.(ドット)」や「*(アスタリスク)」を使用します。
フィルタ内容 | フィルタ方法 | 例 | 例によるフィルタリング結果 |
---|---|---|---|
子オブジェクト | 親.* | Car.* | Carオブジェクトの子をフィルタリング |
指定の子オブジェクト以下のオブジェクト(親に対しての孫) | 親.子.* | Car.Body.* | Carの子オブジェクトのBody以下のオブジェクトをフィルタ |
直系の子を除く、孫全体 | 親.*.* | Car.*.* | Carオブジェクトの子を除く、孫全体をフィルタ |
指定の名の孫全体 | 親.*.孫 | Car.*.Union | Carオブジェクトの孫に存在するUnionという名称のオブジェクトをフィルタ |
全ての子孫 | 親.** | Car.** | Carオブジェクトの子孫をフィルタ |
「.」と「*」を組み合わせることで、指定のオブジェクトに対してフィルタをかけることができます。
Car.Body以下の全てをフィルタ
パラメータを組み合わせる
ここまでの内容を組み合わせることでさらに高度なフィルタリングを行うことができます。
2つ以上に該当する
2つ以上の条件に該当するインスタンスをフィルタリングしたい場合は、条件をスペースまたは 「and」で区切ることでフィルタリングできます。
スペースと「and」接続詞、どちらを使用しても同じ結果になります。
andなし | andあり |
---|---|
![]() |
![]() |
これらはプロパティ以外でも有効です。
Carの子孫 且つ Anchored=false 且つ CanCollide=true
条件のどちらかに該当する
条件のどちらかに該当するインスタンスをフィルタリングしたい場合は、「or」で条件を区切ることでフィルタリングできます。
サブクラスがGuiObject または MeshPart
下記のように条件を()で区切ることもできます。
アンカーされていて衝突できる、またはアンカーされておらず衝突できないBasePart
まとめ
- インスタンス名でフィルタリングする際は、フィルタリングしたいワードを入力する。
- プロパティはプロパティ名と演算子を用いてフィルタリングする。
- クラス、
classname:
c:
、サブクラスはis:
、タグはtag:
を用いることでフィルタリングする。 - 子・孫に対してのフィルタリングは
.
*
を利用してフィルタリングする。 - これらのパラメータは組み合わせてフィルタリングすることができ、コードのように
and
やor
を用いることもできる。
開発規模が大きくなるとエクスプローラー内のインスタンスも増えていきます。
フィルタリングを使いこなし、効率の良い開発を目指しましょう!!
参考

当社ではRobloxを活用したゲームの開発、 また企業の商品やサービスの認知度拡大に寄与する3Dワールドの制作など、 Robloxにおける様々な活用支援を行っております。 Robloxのコンテンツ開発をご検討されている企業様は、お気軽にご相談ください。 landho.co.jp/
Discussion