高级搜索语法

在内容浏览器中执行搜索时的高级搜索语法参考。

Windows
MacOS
Linux

内容浏览器使您可以使用高级语法搜索内容。高级搜索语法支持复杂的搜索查询,能够按键-值对从资源元数据进行搜索,并提供对特殊键值的访问权。 

AdvancedSearchSyntax.png

语法参考

下表显示了可用运算符:

运算符(类型)

语法

描述

示例

Equal(二进制)

=
==
:

测试针对指定键返回的值是否等于指定值。

Name="Blast"
Name==Blast
Name:Bla...

NotEqual(二进制)

!=
!:

测试针对指定键返回的值是否不等于指定值。

Name!=Blast
Name!:"Blast"

Less(二进制)

<

测试针对指定键返回的值是否小于指定值。该运算符仅支持数字值。

Triangles<92

LessOrEqual(二进制)

<=
<:

测试针对指定键返回的值是否小于等于指定值。该运算符仅支持数字值。

Triangles<=92
Triangles<:92

Greater(二进制)

>

测试针对指定键返回的值是否大于指定值。该运算符仅支持数字值。

Triangles>92

GreaterOrEqual(二进制)

>=
>:

测试针对指定键返回的值是否大于等于指定值。该运算符仅支持数字值。

Triangles>=92
Triangles>:92

Or(二进制)

OR
||
|

测试两个值,并且任意一个为 true 即返回 true

Blast OR Type:Blueprint
!Blast || Path:Testing
Name:"Blast" | Path:Testing...

And(二进制)

AND
&&
&

测试两个值,且两个值均为 true 则返回 true

Blast AND Type:Blueprint
!Blast || Path:Testing
Name:"Blast" | Path:Testing...

Not(预一元)

NOT
!

测试后面的值,并返回反转结果。

NOT Blast
! "Blast"

TextCmpInvert(预一元)

-

修改文本值,以便返回其所参与的运算的反转结果。

-Blast
-"Blast"

TextCmpExact(预一元)

+

修改文本值,以便执行“精确”文本比较。

+Blast
+"Blast"

TextCmpAnchor(预一元)

...

修改文本值,以便执行“结尾”文本比较。

...ast
..."ast"

TextCmpAnchor(后一元)

...

修改文本值,以便执行“开头”文本比较。

Bla...
"Bla"...

特殊键

大多数可用于搜索的键来自于从资源注册表提取的资源元数据。但是,针对所有资源类型存在一些特殊键。这些特殊键仅支持 EqualNotEqual 比较运算符。

别名

描述

Name

--

资源名称。

Path

--

资源路径。

Class

Type

资源类。

Collection

Tag

包含资源的任何集合的名称。

字符串

字符串可以带引号(单引号或双引号),也可以不带引号。带引号的字符串可以包含嵌套引号;但是,必须使用反斜杠(\)表示嵌套引号结束。使用无引号和带引号字符串的主要差异在于带引号字符串允许在搜索词中使用空格和特殊字符。默认情况下,它们将执行部分字符串匹配,除非使用了 TextCmpExactTextCmpAnchor 运算符来修改此行为。

以下是使用单引号和双引号以及反斜杠的部分示例:

"Foo\"bar"  ->  Foo"bar
'Foo\'bar'  ->  Foo'bar
"Foo\'bar"  ->  Foo'bar
'Foo\"bar'  ->  Foo"bar
"Foo\\bar"  ->  Foo\bar
'Foo\\bar'  ->  Foo\bar

必须使用反斜杠来转义对另一个反斜杠的使用。

资源元数据

将鼠标悬停于内容浏览器中的资源名称上将显示其元数据。这些可以用作运算符的参数。AssetMetaData.png

不同资源可能会列出特定于该类型的不同元数据,因此静态网格体不同于骨架网格体。这些元数据可以用于测试搜索结果。

[元数据名称] [运算符] [字符串或数字值] 

Triangles>=10500
Type==Skeletal 
UVChannels>2 
CollisionPrims!=0

元数据不区分大小写,但字符中间不需要空格。例如,Morph Target将写成MorphTarget。

基本搜索示例

基本搜索以元数据对象为输入,并使用运算符来测试字符串或值。 

例如,搜索包含超过1500个三角形的任何资源。 

Triangles>1500

或者对特定类型资源执行搜索

Type==Blueprint

高级搜索示例

通过使用 ANDORNOT 运算符,您可以同时测试多个搜索运算。例如,搜索任何使用半透明材质且该材质使用默认光照着色模型的资源。

BlendMode==Translucent AND ShadingModel==DefaultLit

通过使用 AND 运算符,两个测试混合模式和着色模型的运算都必须求值为True才能显示结果。当您使用 OR 运算符时,任一运算单独求值为True即可显示结果,意味着并不要求每个使用半透明混合模式的材质都必须使用默认光照。对于复杂的高级搜索,同类型运算符必须始终合并起来。如果开始使用不同的运算符类型,括号可以消除不明确性。例如,我们可以执行两个搜索,然后求值来显示结果。第一个运算对半透明和默认光照的任何材质求值。

BlendMode==Translucent AND ShadingModel==DefaultLit

第二个运算对延迟贴花且不使用场景颜色的任何材质求值。

MaterialDomain==DeferredDecal AND HasSceneColor==False</span>

可以使用括号对上述两个搜索的结果求值。

(BlendMode==Translucent AND ShadingModel==DefaultLit) OR (MaterialDomain==DeferredDecal AND HasSceneColor==False)

通过在两个括号括起的表达式之间使用 OR 运算符,结果将单独对每个括号中的表达式求值,然后显示任意一个为 True 的结果。如果使用 AND 运算符,则所有四个运算都必须返回 True 才会显示结果。

旧行为

为了遵循现有的简单搜索语法,无引号搜索字符串中如有空格,将导致在每个空格处插入隐式 AND 运算符。例如,"one two" 将执行与 "one AND two" 一样的搜索,因为隐式插入了 AND 运算符。

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见