2017-04-17 1 views
0

J'ai les sommets mis à jour d'un BufferGeometry dans Three.js. Cependant, après cette mise à jour, les index de bufferGeometry doivent également être mis à jour dans mon cas. J'utilise simplement la commande geometry.setIndex(newIndicesArray) sans succès. Je ne suis pas sûr si j'ai besoin d'activer un indicateur de mise à jour pour l'index. Je vous remercie.mettre à jour les indices d'un bufferGeometry dans trois.js

+0

'geometry.index.needsUpdate = true;' - Three.js rev: 82 –

+0

Merci Rasheduzzaman. J'ai ajouté cela au code. Il est intéressant que lorsque j'ouvre la géométrie, les index soient le nouveau tableau, mais la géométrie montrée ne repose pas dessus! – Hesamoy

Répondre

1

Vous souhaitez mettre à jour les index de votre indexé BufferGeometry après que la géométrie a été rendue. Pour ce faire, vous ne pouvez pas réaffecter un nouveau tableau d'index. Vous ne pouvez modifier que les valeurs du tableau existant.

Par conséquent, vous devez utiliser ce modèle:

mesh.geometry.index.array[ 0 ] = 10; 

mesh.geometry.index.needsUpdate = true; 

Pour la mise à jour des sommets, voir this related answer.

Three.js R.84

+0

Merci WestLangley. Je sais maintenant que je peux seulement mettre à jour les nombres sans juste entrer un nouveau tableau. Cependant, après avoir fait cela, je peux voir que les numéros d'index ont été mis à jour à partir de la console, mais la géométrie est étonnamment basée sur l'index précédent, et n'a pas changé! – Hesamoy

+0

Salut Westlangley. Je veux juste faire un carré plat à un carré plat avec un creux au milieu. J'ai défini une tranche = 4, empile = 4 surface. Cependant, pour cette transformation, les indices devraient être mis à jour, en d'autres termes, réduits, ce qui semble impossible pour BG. Je me demandais si vous aviez un commentaire à ce sujet. Je vous remercie. – Hesamoy

+0

Vous devez accepter cette réponse, créer un nouveau message et afficher votre code, de préférence avec un exemple en direct. Cette réponse explique comment mettre à jour les index et les sommets. Vous ne pouvez pas redimensionner les tableaux. – WestLangley