Function ExtrudeShapeCustom
-
ExtrudeShapeCustom(
name: string,
options: {
adjustFrame?: boolean;
backUVs?: Vector4;
cap?: number;
capFunction?: Nullable<(shapePath: Vector3[]) => Vector3[]>;
closePath?: boolean;
closeShape?: boolean;
firstNormal?: Vector3;
frontUVs?: Vector4;
instance?: Mesh;
invertUV?: boolean;
path: Vector3[];
ribbonCloseArray?: boolean;
ribbonClosePath?: boolean;
rotationFunction?: Nullable<(i: number, distance: number) => number>;
scaleFunction?: Nullable<(i: number, distance: number) => number>;
scaleVectorFunction?: Nullable<(i: number, distance: number) => Vector3>;
shape: Vector3[];
sideOrientation?: number;
updatable?: boolean;
},
scene?: Nullable<Scene>,
): MeshParameters
- name: string
defines the name of the mesh
- options: {
adjustFrame?: boolean;
backUVs?: Vector4;
cap?: number;
capFunction?: Nullable<(shapePath: Vector3[]) => Vector3[]>;
closePath?: boolean;
closeShape?: boolean;
firstNormal?: Vector3;
frontUVs?: Vector4;
instance?: Mesh;
invertUV?: boolean;
path: Vector3[];
ribbonCloseArray?: boolean;
ribbonClosePath?: boolean;
rotationFunction?: Nullable<(i: number, distance: number) => number>;
scaleFunction?: Nullable<(i: number, distance: number) => number>;
scaleVectorFunction?: Nullable<(i: number, distance: number) => Vector3>;
shape: Vector3[];
sideOrientation?: number;
updatable?: boolean;
}defines the options used to create the mesh
- scene: Nullable<Scene> = null
defines the hosting scene
Returns Mesh
the custom extruded shape mesh
- name: string
Creates an custom extruded shape mesh. The custom extrusion is a parametric shape. It has no predefined shape. Its final shape will depend on the input parameters.
shapeis a required array of successive Vector3. This array depicts the shape to be extruded in its local space : the shape must be designed in the xOy plane and will be extruded along the Z axis.pathis a required array of successive Vector3. This is the axis curve the shape is extruded along.rotationFunction(JS function) is a custom Javascript function called on each path point. This function is passed the position i of the point in the path and the distance of this point from the beginning of the pathscaleFunction(JS function) is a custom Javascript function called on each path point. This function is passed the position i of the point in the path and the distance of this point from the beginning of the pathscaleVectorFunction(JS function) has the same purpose asscaleFunctionbut instead of returning a float it returns a Vector3 to allow non uniform scaling. If provided, it takes precedence overscaleFunction.closeShape(boolean, default false) closes the shape when true, since v5.0.0.closePath(boolean, default false) closes the path when true and no caps, since v5.0.0.ribbonClosePath(boolean, default false) forces the extrusion underlying ribbon to close all the paths in itspathArray- depreciated in favor of closeShaperibbonCloseArray(boolean, default false) forces the extrusion underlying ribbon to close itspathArray- depreciated in favor of closePathcapsets the way the extruded shape is capped. Possible values : BABYLON.Mesh.NO_CAP (default), BABYLON.Mesh.CAP_START, BABYLON.Mesh.CAP_END, BABYLON.Mesh.CAP_ALLinstanceis an instance of an existing ExtrudedShape object to be updated with the passedshape,path,scaleorrotationparameters : https://doc.babylonjs.com/features/featuresDeepDive/mesh/dynamicMeshMorph#extruded-shapefrontUVsandbackUVs(Vector4). Detail here : https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientationinvertUV(boolean, default false) swaps in the geometry the U and V coordinates to apply a textureupdatable(default false) if its internal geometry is supposed to change once createdfirstNormal(Vector3) defines the direction of the first normal of the supplied path. It should be supplied when the path is in the xy plane, and particularly if these sections are straight, because the underlying Path3D object will pick a normal in the xy plane that causes the extrusion to be collapsed into the plane. This should be used for any path that is straight.adjustFrame(boolean, default false) will cause the internally generated Path3D tangents, normals, and binormals to be adjusted so that a) they are always well-defined, and b) they do not reverse from one path point to the next. This prevents the extruded shape from being flipped and/or rotated with resulting mesh self-intersections. This is primarily useful for straight paths that can reverse direction.