Mesh

Применение #

Mesh представляет собой компонент, который будет добавлен к объекту Entity

Constructor #

type Mesh = {
geometry?: MeshGeometry,
material?: Material
}


class MeshGeometry {
constructor(
vertices: Float32Array,
normals: Float32Array,
indices: Uint16Array,
uv: Float32Array
);
vertices: Float32Array;
normals: Float32Array;
indices: Uint16Array;
uv: Float32Array;
translate(x: number, y: number, z: number);
scale(x: number, y: number, z: number);
createCube();
createCylinder(
radius?: number,
edges?: number,
smooth?: boolean
);
createSphere(
radius?: number,
widthSegments?: number,
heightSegments?: number
);
createPlane(normal?: ReadonlyVec3);
meshType(type: "triangles" | "vertices" | "edges");
}


type UniformType = string | Texture | number | boolean | vec2 | vec33 | vec4 | null;
type MaterialLiterals = "lit" | "unlit" | "occlusion";

class Material {
shader: MaterialLiterals | FetchResponse;
uniforms: Record<string, UniformType>;
constructor(shader: MaterialLiterals | FetchResponse | number);
clone(): Material;
setOnlyClone(material: Material, value: boolean): void;
isOnlyClone(material: Material): boolean;
getInternalId(material: Material): number;
}

Методы #

createCube()

Создание компонента куба

createCylinder()

Создание компонента цилиндра

createSphere()

Создание компонента сферы

createPlane()

Создание компонента плоскости

createEmpty()

Создание пустого компонента

getMaterial(index: number)

Получение материала Mesh по индексу

setMaterial(material: Material, index: number)

Установка материала Mesh с указанием индекса

setMeshType(meshType: "triangles" | "vertices" | "edges")

Установка типа Mesh