import type { Vector2 } from "@babylonjs/core/Maths/math.vector.js"; /** * Options for loading OBJ/MTL files */ export type OBJLoadingOptions = { /** * Defines if UVs are optimized by default during load. */ optimizeWithUV: boolean; /** * Defines custom scaling of UV coordinates of loaded meshes. */ UVScaling: Vector2; /** * Invert model on y-axis (does a model scaling inversion) */ invertY: boolean; /** * Invert Y-Axis of referenced textures on load */ invertTextureY: boolean; /** * Include in meshes the vertex colors available in some OBJ files. This is not part of OBJ standard. */ importVertexColors: boolean; /** * Compute the normals for the model, even if normals are present in the file. */ computeNormals: boolean; /** * Optimize the normals for the model. Lighting can be uneven if you use OptimizeWithUV = true because new vertices can be created for the same location if they pertain to different faces. * Using OptimizehNormals = true will help smoothing the lighting by averaging the normals of those vertices. */ optimizeNormals: boolean; /** * Skip loading the materials even if defined in the OBJ file (materials are ignored). */ skipMaterials: boolean; /** * When a material fails to load OBJ loader will silently fail and onSuccess() callback will be triggered. */ materialLoadingFailsSilently: boolean; /** * Loads assets without handedness conversions. This flag is for compatibility. Use it only if absolutely required. Defaults to false. */ useLegacyBehavior: boolean; };