Zenn
🗂️

【Roblox】エクスプローラーのフィルタリングについて

2025/03/24に公開

はじめに

今回は、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:を用いることでフィルタリングする。
  • 子・孫に対してのフィルタリングは. *を利用してフィルタリングする。
  • これらのパラメータは組み合わせてフィルタリングすることができ、コードのようにandorを用いることもできる。

開発規模が大きくなるとエクスプローラー内のインスタンスも増えていきます。
フィルタリングを使いこなし、効率の良い開発を目指しましょう!!

参考

https://create.roblox.com/docs/studio/explorer#filtering-instances

ランド・ホー Roblox開発チーム

Discussion

ログインするとコメントできます