对象 | Objects
此类拼图用于对对象执行各种操作。
内容
- 拼图参考
- show
- hide
- is visible
- clone object
- create object
- remove object
- set transform
- get transform
- change local transform
- snap to object
- parent
- set object direction
- get object direction
- get objects from
- set morph factor
- get morph factor
- make object from
- add annotation
- remove annotation
- open annotation
- close annotation
- create text object
- update text object
- get object dimension
- distance
- get custom props
- outline
- set shadow param
- update light probe object(s)
拼图参考
show
让初始或之前隐藏的指定对象变得可见。也适用于对象列表,组(或者组的列表)以及 all objects 拼图。如果场景中没有这样的对象,或者对象已经是可见的,则不做任何操作。
hide
让指定对象不可见。也适用于对象列表,组(或者组的列表)以及 all objects 拼图。如果场景中没有这样的对象,或者对象已经不可见,则不做任何操作。
is visible
检查一个对象(或者列表中的任一对象)当前是否可见。如果是,返回逻辑值true,否则返回false。如果场景中没有这样的对象,返回false。
clone object
复制一个对象,为该新对象生成一个唯一的名称,并立即将其添加到场景中。输出新的对象名称。对列表、组或 all objects 拼图不起作用。
此拼图支持通过齿轮图标激活的附加选项:
- also clone materials
- 默认情况下,"clone object"拼图不会执行材质克隆,因此相同的材质将被分配给克隆对象。如果您希望同时克隆材质,请启用also clone materials。
- preserve object groups
- 默认情况下,"clone object"拼图会重置克隆对象的对象组。启用preserve object groups可从原始对象继承组。
有关使用示例,请查看 Clone Object 演示(也可在资源商店中找到)。
create object
创建并添加一个新的对象到场景中。此拼图无需3D编辑器即可创建对象,因此对于没有或仅有最少3D建模技能的用户来说,非常适合学习可视化编程以及设计初级可视化场景。将此拼图与 make object from 结合使用,可以创建相当复杂的几何体。
对其创建的几何对象,比如立方体或茶壶,此拼图也会为其自动创建白色的电介质节点式PBR材质(roughness值设为1,metalness设为0)。使用 set color 和 set value 拼图来调整该材质。
对于plane with texture对象,此拼图会为模型指定一个虚拟的棋盘格纹理。使用 replace texture 拼图来更改此纹理。
plane with html选项用于创建渲染基于HTML资源的平面,例如网站、自定义UI或YouTube视频。
在内部,此功能使用一个3D变换的<iframe>元素,其宽度(以像素为单位)由res输入指定。
有关使用示例,请查看 Htmlmixer 演示(也可在资源商店中找到)。
remove object
从场景中删除一个指定的对象。也适用于对象列表,组(或者组的列表)以及 all objects 拼图。如果场景中没有这样的对象,则不做任何操作。
set transform
根据指定的变换数据来移动、旋转或缩放一个对象。启用offset复选框可以使对象相对于原始位置/旋转/比例进行移动/旋转/缩放。任何轴的输入都可以留空。也适用于对象列表,组(或者组的列表)以及 all objects 拼图。
有时您需要输入一个向量(由给定的 X、Y、Z 坐标组成)。在这种情况下,您可以通过单击齿轮图标并勾选use vector复选框来修改拼图。world space复选框支持在世界空间中进行变换(以XYZ顺序进行欧拉旋转),否则在物体空间中进行变换。
get transform
检索对象的位置、旋转或缩放数据。要检索世界空间中的变换,请单击齿轮图标并勾选"world space"复选框(按XYZ顺序检索欧拉旋转)。不适用于列表,组或 all objects 拼图。
change local transform
根据指定的变换数据,在局部空间中移动、旋转或缩放一个对象。任何轴的输入都可以留空。也适用于对象列表,组(或者组的列表)以及 all objects 拼图。有时你需要输入一个向量(由给定的X、Y、Z坐标组成)。在这种情况下,请点击齿轮图标并勾选use vector复选框来修改拼图。
snap to object
通过复制目标对象的变换数据,将一个对象移动到另一个对象的位置。同时也复制旋转和缩放。对列表、组或 all objects 拼图不起作用。
parent
在对象之间建立父子关系,使第一个对象跟随第二个对象的位置/旋转/缩放。对列表、组或 all objects 拼图不起作用。
指定 <none> 作为第二个值,以解除对象的父子关系。
set object direction
使用X、Y、Z坐标的点或向量为一个对象设置方向。point复选框指定X、Y、Z坐标是属于3D空间中的某个点还是表示方向向量。lock up复选框锁定对象的上下轴,使其保持垂直于水平面。
有时您需要输入一个向量(由给定的 X、Y、Z 坐标组成)。在这种情况下,您可以通过单击齿轮图标并勾选use vector复选框来修改拼图。
例如,要使某个对象朝向摄影机,可以使用以下拼图:
get object direction
返回一个对象的方向向量或数字X、Y、Z向量分量。
get objects from
这个通用拼图可用于:
- 获取组中包含的对象列表,从而使其可迭代
- 将all objects拼图的输出转换为一个列表,从而使其可遍历
- 获取某个父对象的子对象
- 按对象类型(例如摄影机、灯光、注解等)、全名或部分名称过滤对象
- 将对象名称转换为唯一ID,反之亦然
通过下拉菜单可以按类型过滤对象:
- all — 获取所有对象
- annotation — 仅获取注解对象
- bone — 仅获取骨骼
- camera — 仅获取摄影机
- empty — 仅获取空对象
- mesh — 仅获取网格
- light — 仅获取灯光
- first — 获取找到的第一个对象;将此选项与名称过滤器一起使用以检索匹配名称的第一个对象
例如,您可以使用以下拼图使场景中的所有网格对象朝向摄影机:
齿轮弹出窗口中的enable name filter复选框可激活名称过滤器输入:
- equal to — 匹配全名
- starting with — 匹配以指定文本开头的名称,例如"Cube"将匹配"Cube"、"Cube.001"、"CubeGold"等
- ending with — 匹配以指定文本结尾的名称,例如"Cube"将匹配"Cube"、"MyCube"、"Green_Cube",但不匹配"Cube.001"
- including — 匹配包含指定文本的名称,例如"Cube"将匹配"Cube"、"MyCubeIsAwesome"、"Cube2"等
名称过滤器以区分大小写的方式工作,例如"Cube"、"cube"、"CUBE"将匹配不同的对象。
齿轮弹出窗口中的return unique object ids复选框可用于检索唯一的对象ID而非名称:
当仅使用名称不足以区分对象时,此选项非常重要——例如当对象从另一个glTF文件动态追加且碰巧具有相同名称时。另一种情况是复制父对象时,其所有子对象不会停止保持其原始名称。
您可以使用此拼图获取的ID(看起来像这样:5c464bf0-043a-40ee-b864-5c026436d7de)将它们传递给其他对象拼图。
假设您刚动态加载了一个名为"NewCarScene"的场景,其中包含一个"Car"模型。但是,主场景中已经存在另一个"Car"模型。要更改新添加汽车的材质,您需要使用以下设置:
如果您简单地将"Car"传递给"assign material"拼图,它将不起作用,因为"FancyMaterial"将被错误地分配给找到的第一个模型,这可能不是您想要的。
"get objects from"拼图也可用于将对象名称转换为其ID(如果多个对象共享相同的对象名称,则为多个ID):
反过来,要通过相应的对象ID获取对象名称,您可以这样做:
set morph factor
设定一个对象的变形目标系数。也适用于对象列表,组(或者组的列表)以及 all objects 拼图。
您可以通过将名称作为文本来设置变形目标。在这种情况下,您需要点击齿轮图标并勾选flexible target input复选框来修改拼图:
示例:
参见Parametric Models演示的源文件,以及这个视频教程解释了使用变形目标拼图的基础知识。Bilibili: 使用Verge3D,Blender和WebGL制作交互式参数化模型
get morph factor
返回一个对象的变形目标系数(即值或权重)。不适用于列表,组或 all objects 拼图。
示例:
您可以通过将名称作为文本来设置变形目标。在这种情况下,您需要点击齿轮图标并勾选flexible target input复选框来修改拼图:
make object from
通过对两个输入对象应用布尔(也称为CSG或构造实体几何)运算来创建新对象。如果未勾选clean复选框,则输入对象不受影响,应显式隐藏/删除。
示例:
您还可以将裁剪平面作为输入对象之一(使用intersect运算)。在这种情况下,另一个对象将被裁剪。
限制:
- 变形或蒙皮对象的几何体将被烘焙。
- 不支持具有法线贴图材质的对象。
add annotation
向对象添加兴趣点图标,用户可以通过单击该图标来展开以查看某些描述。也适用于对象列表,组(或者组的列表)以及 all objects 拼图。
例如,要向"Cube"对象添加一个标签为"1"、描述为"This is point of interest #1"的注解:
您可以为注解对象指定自定义名称,而不是使用默认值(等于注解标签)。为此,您需要点击齿轮图标并勾选enable "name" option复选框来修改拼图:
add annotation拼图创建2个HTML元素(用于标签和描述),可以在App Manager设置中或通过CSS类进行样式化。
您还可以通过分配和访问其元素的id来设置每个单独注解的样式:
默认情况下,被某些几何体遮挡的注解会自动关闭并变为半透明。可以通过关闭configure application拼图中的fade annotations选项来禁用此行为。
您可以使用一个更低级的替代方案,即 bind element 拼图,但它不会在点击后展开,也不会被几何图形遮挡。
remove annotation
从对象中移除之前添加的注解。也适用于对象列表,组(或者组的列表)以及 all objects 拼图。
open annotation
展开一个由其标签指定的注解。
close annotation
关闭一个由其标签指定的注解。
create text object
根据指定的文本内容和参数,生成一个新的文本对象。
基础选项:
- with text
- 生成的文本。
- font
- 用于生成文本的字体。支持以下字体格式:WOFF, TTF, OTF。
- size
- 以引擎单位渲染文本的大小(取决于建模套件:米、英寸等)。
- extrude
- 文本字形的挤出量。
高级选项:
- segments
- 用于渲染文本的分段数。数字越小,性能越好;数字越大,渲染质量越好。
- bevel thickness
- 文本斜角的厚度。
- bevel size
- 文本斜角的大小。
- horizontal align
- 水平文本对齐。
- vertical align
- 垂直文本对齐。
update text object
根据指定的文本内容更新文本对象的网格。该文本对象应通过create text object拼图创建或从建模套件中导出。
此拼图也适用于对象列表,组(或者组的列表)以及 all objects 拼图。
get object dimension
将对象尺寸输出为数字X、Y、Z分量或XYZ向量,可在局部坐标系(应用缩放)或世界坐标系中输出。
在世界模式下,此拼图也适用于对象列表,组(或者组的列表)以及 all objects 拼图。
使用示例:绘制一个文本标签,显示动态缩放对象的当前宽度(以厘米为单位)。
此拼图有一定的局限性。对变形对象,它返回对象可以变形的最大尺寸。对于蒙皮对象,拼图返回对象的原始尺寸。
distance
输出两个指定对象之间的距离。对列表、组或 all objects 拼图不起作用。
get custom props
返回一个字典,其中包含分配给一个对象的自定义属性。
自定义属性可以在Blender中通过使用Custom Properties面板来指定:
或者在3ds Max中通过在Object Properties对话框中输入属性:
或者在Maya中通过属性编辑器中的Attributes → Add Attributes...菜单添加:
在Maya中,您需要指定额外的customProperties属性,其中包含空格分隔的自定义属性名称列表。
outline
对指定对象应用或删除轮廓效果。需要在Blender、3ds Max或Maya中启用轮廓效果。也适用于对象列表,组(或者组的列表)以及 all objects 拼图。
set shadow param
启用/禁用给定对象投射/接收阴影。也适用于对象列表,组(或者组的列表)以及 all objects 拼图。
update light probe object(s)
为指定的光照探头对象更新/重新渲染反射立方体贴图。
在使用拼图时遇到困难?
欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。