Ressourcen

Asset-Typen

Referenz für alle unterstützten Asset-Typen und ihre Verwendung.

Typ-Referenz

gltfModel

Lädt eine GLTF- oder GLB-Datei. DRACO-Komprimierung wird automatisch unterstützt.

{
  name: 'tree',
  type: 'gltfModel',
  path: '/models/tree.glb',
}

Als GLTF-Objekt zugreifen und an Entity3D.initModel() übergeben:

const gltf = resources.items['tree'] // GLTF
myEntity.initModel(gltf)

texture

Lädt eine THREE.Texture aus einer einzelnen Bilddatei.

{
  name: 'ground',
  type: 'texture',
  path: '/textures/ground.jpg',
}
const texture = resources.items['ground'] // THREE.Texture
material.map = texture

cubeTexture

Lädt eine THREE.CubeTexture aus sechs Bildern (für Skyboxen / Umgebungskarten).

{
  name: 'envMap',
  type: 'cubeTexture',
  path: [
    '/textures/env/px.jpg', // +X
    '/textures/env/nx.jpg', // -X
    '/textures/env/py.jpg', // +Y
    '/textures/env/ny.jpg', // -Y
    '/textures/env/pz.jpg', // +Z
    '/textures/env/nz.jpg', // -Z
  ],
}

sound

Lädt einen Audio-Puffer für die Verwendung mit Three.js-Audio.

{
  name: 'explosion',
  type: 'sound',
  path: '/audio/explosion.mp3',
}

svg

Lädt eine SVG-Datei als Rohinhalt.

{
  name: 'icon',
  type: 'svg',
  path: '/images/icon.svg',
}

font

Lädt eine Schriftart für die Verwendung mit THREE.FontLoader.

{
  name: 'helvetiker',
  type: 'font',
  path: '/fonts/helvetiker_regular.typeface.json',
}

TypeScript-Typen

import type { Asset, AssetType } from '@mavonengine/core'

type AssetType = 'cubeTexture' | 'texture' | 'gltfModel' | 'sound' | 'svg' | 'font'

interface Asset {
  name: string
  type: AssetType
  path: string | string[]
}