2016-11-30 4 views
0

Mein Ziel ist Collada-Objekt zu rendern und es perfekt über das Bild mit diesem Objekt zu platzieren.
enter image description hereWie man die perspektivische Verzerrung von THREE.PerspectiveCamera steuert

Lassen Sie uns sagen, dass ich Bild, das von v-ray-Renderer in 3ds max (grün) und collada Objekt, das ich machen von drei js mit perpective Kamera (rote) erbracht wurde.
Das Problem ist, ich habe größere perspektivische Verzerrung auf gerenderten Objekt als auf Bild.
Ich sah, dass THREE.PerspectiveCamera hat focus Eigenschaft, die scheint, was ich suche. Aber wenn ich es ändere passiert nichts.
THREEJS Dokumentation sagt:

.focus

Objektabstand für Stereos und depth-of-field Effekte verwendet. Dieser Parameter hat keinen Einfluss auf die Projektionsmatrix, es sei denn, es wird eine StereoCamera verwendet.

Aber ich habe nichts über StereoCamera in drei js Dokumentation gefunden.

Kann mir jemand helfen, damit fertig zu werden?

Antwort

1

Es ist besser, das Sichtfeld Ihrer PerspectiveCamera zu ändern.

camera = new THREE.PerspectiveCamera(60, window.innerWidth/window.innerHeight, 1, 3000); 

So ist der erste Parameter 60 Sichtfeld (FOV). Je weniger Wert dieser Parameter hat, desto weniger Verzerrung erhalten Sie, aber je mehr Sie Ihre Kamera zurückbewegen müssen, um die richtige Sicht auf Ihre Szene zu behalten, desto mehr müssen Sie Ihr Objekt verkleinern. Hängt davon ab, was du bekommen willst, spiele mit dem FOV deiner Kamera und skaliere dein Objekt.

+0

Danke. Früher dachte ich, dass der fov-Parameter wie eine Skala für die ganze Szene funktioniert, aber ich lag falsch. –

Verwandte Themen