Three.js - eigene Geometrie erzeugen

Aus Wikizone
Version vom 4. Januar 2022, 12:03 Uhr von 134.3.241.3 (Diskussion) (→‎BufferGeometry - Geometrie eines Objekts)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
https://threejs.org/manual/?q=geometr#en/custom-buffergeometry

BufferGeometry - Geometrie eines Objekts

BufferGeometry ist das Objekt mit dem Three.js alle geometrischen Daten darstellt. Eine BufferGeometry ist wiederum eine Zusammenstellung von mehreren BufferAttribute Objekten.

Jedes BufferAttribute steht für einen Typ von Daten:

positions
normals
colors
uv
... 

Jeder Vertex hat für jedes Attribut ein Set an Daten. Jeder Punkt bekommt also Infos über Position, Farbe etc. Achtung: Ein Würfel hat an einer Ecke 3 Vertices, da er 3 Flächen in unterschiedlicher Richtung hat. Die Normalen sind also Unterschiedlich. Sobald ein Wert sich ändert benötigt man einen neuen Vertex. Eine Ecke eines Würfels hat also 3 Vertices.

Geometrien erstellen

Der Weg zur Geometrie

  • Arrays für Attribute erzeugen (am besten Typed Array wg. Performance)
  • BufferGeometry Objekt erzeugen
  • BufferAttribute Objekte erzeugen die jeweils Werte für alle Vertices enthalten und an die Geometrie übergeben.

Wie sehen die Geometrien aus

Beispiel Würfel. siehe Link oben.


//TODO