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