GltfModel
Description
Ce composant établit une géométrie personnalisée sur une entité.
Propriétés
Propriété | Type | Défaut | Description |
---|---|---|---|
url (Obligatoire) | chaîne de caractères | "" | L'url de la source. |
animationClip | chaîne de caractères | "" | Le nom du clip d'animation attaché au modèle à jouer. Le caractère générique * est également accepté et permet au modèle de jouer toutes les animations. |
boucle | booléen | faux | Si le clip d'animation redémarre après la fin de la lecture ou non |
en pause | booléen | faux | Si le clip d'animation est mis en pause |
temps | nombre | 0 | Durée en secondes de l'animationClip à laquelle sauter |
échelle de temps | nombre | 1 | Facteur d'échelle pour le temps. 0 entraîne une pause dans l'animation. Les valeurs négatives entraînent la lecture de l'animation à l'envers. |
collisionneur | booléen | faux | Indique si l'animation doit mettre à jour le collisionneur physique. |
inverser | booléen | faux | Si cette option est activée, l'animation sera jouée en sens inverse lorsqu'elle aura fini de jouer en sens inverse (l'ensemble compte pour une itération de la boucle). |
répétitions | nombre | -1 | S'il est défini avec "loop", le nombre de fois que la boucle sera répétée (-1 signifie que la boucle sera répétée à l'infini). |
durée du fondu enchaîné | nombre | 0 | Le temps en secondes qui sera consacré au mélange entre les animations lorsqu'une nouvelle animation est lancée (et qu'une animation existante est en cours de lecture). |
Fonctions
Get
Returns a read-only reference.
Example
ecs.GltfModel.get(world, component.eid)
Set
Ensures the component exists on the entity, then assigns the (optional) data to the component.
Example
ecs.GltfModel.set(world, component.eid, {
url: './assets/doty.glb',
animationClip: 'idle',
loop: false,
paused: false,
time: 0,
timeScale: 1,
collider: false,
reverse: false,
repetitions: -1,
crossFadeDuration: 0
})
Mutate
Perform an update to the component within a callback function. Return true
to indicate no changes made.
Example
ecs.GltfModel.mutate(world, component.eid, (cursor) => {
cursor.timeScale = 0.5 ;
cursor.loop = true ;
return false;
})
Remove
Removes the component from the entity.
Example
ecs.GltfModel.remove(world, component.eid)
Has
Returns true
if the component is present on the entity.
Example
ecs.GltfModel.has(world, component.eid)
Reset
Adds, or resets the component to its default state.
Example
ecs.GltfModel.reset(world, component.eid)
Advanced Functions
Cursor
Returns a mutable reference. Cursors are reused so only one cursor for each component can exist at a time.
Example
ecs.GltfModel.cursor(world, component.eid)
Acquire
Same behavior as cursor, but commit must be called after the cursor is done being used.
Example
ecs.GltfModel.acquire(world, component.eid)
Commit
Called after acquire. An optional third argument determines whether the cursor was mutated or not.
Example
ecs.GltfModel.commit(world, component.eid)
ecs.GltfModel.commit(world, component.eid, false)
Dirty
Mark the entity as having been mutated. Only needed in a specific case where systems are mutating data.
Example
ecs.GltfModel.dirty(world, component.eid)