SceneQueryEngineFilterAttribute
Custom attribute is used to customize the search engine used by the scene search provider.
Read time 4 minutesLast updated 23 days ago
Definition
- Type: Class
- Namespace: UnityEditor.Search.Providers
- Assembly: UnityEditor
- Inherits from: QueryEngineFilterAttribute
[AttributeUsage(AttributeTargets.Method)]public class SceneQueryEngineFilterAttribute : QueryEngineFilterAttribute
Remarks
This sample shows to use the attribute to customize the search engine used by the scene search provider.
SceneQueryEngineFilterThe scene search provider allows the user to search for scene objects using custom filters, such as , etc.
is:prefab prefab:modifiedThe following example shows how you can add a property filter to search meshes that are affected but one or more lights.
lights>=1Examples
[SceneQueryEngineFilter("lights", new[] { "=", "!=", "<", ">", "<=", ">=" })]internal static int? MeshRendererAffectedByLightsSceneFilter(GameObject go){ if (!go.TryGetComponent<MeshRenderer>(out var meshRenderer)) return null; if (!meshRenderer.isVisible) return null; var lightEffectCount = 0; var gp = go.transform.position; foreach (var light in Object.FindObjectsByType<Light>(FindObjectsSortMode.None)) { if (!light.isActiveAndEnabled) continue; var lp = light.transform.position; var distance = Vector3.Distance(gp, lp); if (distance > light.range) continue; if (light.type == UnityEngine.LightType.Spot) { var da = Vector3.Dot(light.transform.forward, lp - gp); if (da > Mathf.Deg2Rad * light.spotAngle) continue; } lightEffectCount++; } return lightEffectCount;}
Constructors
Constructor | Description |
|---|---|
| SceneQueryEngineFilterAttribute(System.String,System.String,System.String[]) | Create a filter with the corresponding token and supported operators. |
| SceneQueryEngineFilterAttribute(System.String,System.String,System.StringComparison,System.String[]) | Create a filter with the corresponding token and supported operators. |
| SceneQueryEngineFilterAttribute(System.String,System.String[]) | Create a filter with the corresponding token and supported operators. |
| SceneQueryEngineFilterAttribute(System.String,System.StringComparison,System.String[]) | Create a filter with the corresponding token and supported operators. |