Ich versuche, mit Morph-Zielen und three.js zu beginnen. Es scheint jedoch nicht viel Dokumentation zu diesem Thema zu geben.
Ich schaue mir den Quellcode an:
morphTargetInfluenzen []
scheint die Magie zu sein ... wie funktioniert das? Wie benutze ich das? Ist ein Wert von 1 voller Stärke? Wie kann ich verschiedene Morph-Ziele auf demselben Modell unterscheiden? Ich versuche nur zu verstehen:
%Vor%Vielen Dank im Voraus
Morph-Ziele sind Sätze von Geometrie-Stützpunktpositionen für die automatische Interpolation zwischen ihnen. Sie können das Aussehen der Geometrie in Echtzeit ändern, indem Sie verschiedene Scheitelpunkte verwenden, die in morphTargetInfluences[0], morphTargetInfluences[1], morphTargetInfluences[nSet]
geschrieben sind. Sie können viele Erscheinungsbilder (morphTargetInflucences) der Geometrie gleichzeitig mischen. Der beste Weg ist das JSONLoader-Format, das Sie beispielsweise aus 3DSMax exportieren können: frame0 als morphTargetInfluences[0]
, frame1 als morphTargetInfluences[1]
, ect.
Die ursprünglichen Geometrie-Scheitelpunkte sind unberührt, was Sie mit geometry.computeBoundingBox();
geometry.boundingBox();
Ich wäre vorsichtig bei der Verfolgung dieses Ansatzes. Es scheint auf einem unvollständigen Verständnis der Technologie zu beruhen.
Der Wert von Morph Targets besteht nicht darin, dass Sie animieren können, indem Sie einzelne Scheitelpunkte austauschen, sondern dass Sie eine alternative Form (dasselbe Gitter mit denselben Scheitelpunkten, aber jede an einer neuen Position) als Deformation verwenden können Ziel für Ihr Modell. (zB: Neutral Face und Smile Face)
Die morphTargetInfluence enthält KEINE Scheitelpunkte. Es ist ein Array von skalaren Werten, die das Gewicht darstellen, das jedem Ziel während des Morphs zugewiesen wird. In dem obigen Face-Beispiel könnte [0.3] ein schüchternes Mona Lisa-ähnliches Lächeln ergeben, während [0.9] ein robustes Grinsen wäre.
Tags und Links javascript three.js webgl blender morphing