将多个网格合并为一个新网格,它比许多独立的网格绘制得更快。
当 disposeSource 为 true 时源网格被移除;当这些网格合计超过 6.5 万个顶点时设置 allow32BitsIndices,并使用子网格选项来保留各自的材质。
网格和合并选项
合并后的网格
为网格的每个三角形赋予自己的顶点和法线,使各面显示为平面小面而不是跨边平滑;网格被就地更改并返回。
网格
同一个网格,已改为平面着色
创建网格及其子节点的副本,它与原网格共享几何并放置在同一位置;副本像原网格一样投射和接收阴影。
要复制的网格
副本
设置网格是否响应指针拾取,当 includeChildren 为 true 时也包括其子节点;不可拾取的网格会被点击和拾取射线跳过。
网格、标志以及子节点是否跟随
查找场景中名称包含给定文本的每个网格,区分大小写,按场景顺序排列。
要在网格名称中查找的文本
匹配的网格
列出挂在某个网格之下的网格:所有后代,或当 directDescendantsOnly 为 true 时只列出直接子节点。
网格以及是否只到直接子节点为止
子网格
查找场景中 id 与给定值完全相同的每个网格;id 不必唯一,因此可能有多个匹配。
要查找的 id
具有该 id 的网格
查找场景中 id 与给定值完全相同的第一个网格;多个网格共用该 id 时使用 getMeshesOfId。
要查找的 id
具有该 id 的第一个网格
查找具有给定唯一 id 的网格,该 id 是场景为每个网格一次性分配的数字,可用 getUniqueId 读取。
唯一 id
具有该唯一 id 的网格
以网格自身坐标系中三个点的列表的形式读取网格的三角形,这是 jscad.shapes.fromPolygonPoints 和类似构建器接受的形式。网格必须由三角形构成。
网格
三角形,每个为三个点的列表
读取网格绕 X、Y 和 Z 的旋转,以弧度表示,与其 rotation 属性保存的一致。
网格
以弧度表示的旋转角度
像 createMeshInstanceAndTransform 一样创建网格的已放置实例,但不返回它;适用于只需要副本显示出来的脚本。
网格以及实例的位置、旋转和缩放
创建网格的实例,即共享其几何且绘制开销很低的轻量副本,并以给定的位置、旋转(以度为单位)和缩放放置它。
带子节点的网格为每个子节点得到一个实例,收集在一个新容器下;原网格被隐藏。
网格以及实例的位置、旋转和缩放
容纳这些实例的容器
创建网格的实例,即共享其几何且在需要许多相同物体时绘制开销很低的轻量副本,放置在原网格所在位置。
带子节点的网格为每个子节点得到一个实例,收集在一个新容器下。
网格
实例,或容纳子实例的容器
判断两个网格是否重叠,依据它们的包围盒:默认为轴对齐的包围盒,当 precise 为 true 时为跟随每个网格旋转的包围盒;includeDescendants 也测试它们的子节点。
两个网格和精度选项
当两个网格重叠时为 true
使网格沿其自身的前方向(局部 Z 轴)移动 distance 个场景单位;转动过的网格朝其面对的方向移动。
网格和距离
在当前旋转的基础上使网格绕其自身 Y 轴转动 rotate 度,就像汽车左转或右转。
网格和以度为单位的角度
在当前旋转的基础上使网格绕其自身 X 轴转动 rotate 度,就像机头上仰或下俯。
网格和以度为单位的角度
在当前旋转的基础上使网格绕其自身 Z 轴转动 rotate 度,就像机翼倾斜。
网格和以度为单位的角度
使网格绕经过 position 的轴转动 angle 度,因此网格围绕该点公转而不是原地自转。
网格、轴上的点、轴方向以及以度为单位的角度
使一个网格成为另一个网格的子节点,此后它随父节点一起移动、转动和缩放;其位置变为相对于父节点。
网格以及要设为其父节点的网格
为网格打开或关闭碰撞检测,当 includeChildren 为 true 时也包括其子节点,使启用了碰撞的相机或其他碰撞体无法穿过它。
网格、标志以及子节点是否跟随
让网格(当 includeChildren 为 true 时也包括其子节点)对指针仅仅从其上方移过作出响应,默认关闭,因为每次指针移动都要进行一次拾取。
网格以及子节点是否跟随
使网格(当 includeChildren 为 true 时也包括其子节点)不再响应指针移动,恢复默认。
网格以及子节点是否跟随
设置网格的名称,当 includeChildren 为 true 时也设置其子节点的名称;名称是 getMeshesWhereNameContains 搜索的内容。
网格、名称以及子节点是否跟随
为网格赋予材质,当 includeChildren 为 true 时也包括其子节点;材质决定其表面的颜色、光泽和透明度。
网格、材质以及子节点是否跟随
const material = bitbybit.babylon.material.pbrMetallicRoughness.create({ name: "red", baseColor: "#ff0000", emissiveColor: "#000000", metallic: 0.2, roughness: 0.6, alpha: 1, backFaceCulling: false, zOffset: 0 });
bitbybit.babylon.mesh.setMaterial({ babylonMesh: mesh, material, includeChildren: true });
以绕 X、Y 和 Z 的角度(以度为单位)设置网格或其实例的旋转,替换其当前旋转。
网格和以度为单位的三个角度
设置网格或其实例沿 X、Y 和 Z 的缩放系数,替换其当前缩放;1 表示未缩放。
网格和三个缩放系数
就地移动、旋转、缩放已绘制的网格并重新着色,而不重新绘制,当只有放置位置或颜色变化时这样更快。
此处的 rotation 以弧度表示。colours 是一个十六进制颜色,或一个列表,每个子网格一项,或此类绘制的每个点或直线一项;其他列表使用其第一项。
已绘制的网格及其新的位置、旋转、缩放和颜色
设置网格的可见程度,从 0 表示完全透明到 1 表示完全显示,中间值使其渐隐;includeChildren 将相同的值应用于其子网格。
网格、0 到 1 的可见性以及子节点是否跟随
隐藏网格但不从场景中移除它,当 includeChildren 为 true 时也隐藏其子网格;show 使其恢复显示。
网格以及其子节点是否跟随
显示被 hide 或隐藏绘制设为不可见的网格,当 includeChildren 为 true 时也显示其子网格。
网格以及其子节点是否跟随
处理已在 BabylonJS 场景中的网格,即
draw.drawAnyAsync返回的对象:移动、旋转和缩放它们,显示和隐藏,设置父节点,拾取和碰撞标志,名称和 id,为生成大量副本而克隆和实例化,以及读回它们的三角形。旋转以度为单位;位置和距离以场景单位表示。