Zum Hauptinhalt springen

Kameras

Ein Kameraobjekt entscheidet, was Ihr Besucher sieht und wie er sich bewegt.

Steuermodi

ModusDer Besucher…
nonekann die Kamera nicht bewegen — Sie steuern sie selbst
orbitzieht zum Drehen um ein Ziel, scrollt zum Zoomen
flyfliegt frei mit Tasten und Maus
firstPersonschaut sich von seinem Standort aus um, Zeiger gefangen
lockZeiger gefangen, aber die Kamera folgt weiter ihrem Objekt
Für eine Spielfigur wollen Sie lock

firstPerson übergibt die Kamera selbst der Zeigersteuerung und löst sie damit von ihrem Objekt — gut für jemanden, der um ein Modell herumgeht, nutzlos für eine Figur, weil die Kamera dem Körper nicht mehr folgt.

lock fängt den Zeiger genauso, lässt die Kamera aber angehängt und liefert die Mausbewegung stattdessen an Ihr Skript. Das ist ein Ego-Spiel.

Orbit-Einstellungen

orbit ist die Voreinstellung, weil es zu Produktansichten passt, und hat am meisten zu justieren:

EinstellungTut
targetder Punkt, um den gekreist wird
enableRotate · enablePan · enableZoomwelche Gesten erlaubt sind
minDistance · maxDistancewie nah und wie weit der Besucher darf
minPolarAngle · maxPolarAnglewie weit er über und unter das Objekt schwenken darf
enableDamping · dampingFactorwie weit die Bewegung nach dem Loslassen gleitet
autoRotate · autoRotateSpeedein langsames Drehen im Leerlauf

Den Polarwinkel zu begrenzen lohnt bei fast jeder Produktansicht: Es hindert Leute daran, unter den Boden zu kreisen und die Szene von unten zu sehen — was keine Beleuchtung absichtlich wirken lässt.

Objektiv

fov ist das Blickfeld in Grad — 50 ist eine natürliche Voreinstellung, niedriger wirkt teleobjektivartig und flacher, höher weiter und dramatischer.

near und far begrenzen, was gezeichnet wird. Objekte näher als near oder weiter als far werden abgeschnitten.

Ein riesiges Verhältnis far/near erzeugt Z-Fighting

Eng beieinanderliegende Flächen fangen an zu flackern, wenn dem Tiefenpuffer die Genauigkeit ausgeht. Sehen Sie das, erhöhen Sie near, bevor Sie far senken — near wirkt weit stärker auf die Genauigkeit.

Fly-Einstellungen

Der Modus fly bewegt sich mit Tasten, und die Tasten sind konfigurierbar — auch so, dass er einer der benannten Belegungen des Projekts folgt, statt Tasten direkt zu nennen. Geschwindigkeit und ein Boost-Faktor (voreingestellt gehaltenes Shift) bestimmen das Tempo.

Zusätzliche Ansichten

Eine zusätzliche Ansicht rendert einen zweiten Durchgang aus einer Kamera, über dem Hauptdurchgang. So baut man eine Minikarte, einen Rückspiegel oder einen Überwachungsmonitor.

Setzen Sie sie auf ein Objekt, das bereits eine Kamera hat, und wählen Sie, wohin sie geht:

ZielRendert in
screenein Rechteck der Arbeitsfläche — Position und Größe als Bruchteile des Bildschirms
textureein Offscreen-Bild, das ein Material dann anzeigen kann

Das Ziel texture ist das spannende: Rendern Sie die Sicht einer Kamera in eine Textur, legen Sie die Textur auf ein Bildschirmobjekt in Ihrer Szene, und Sie haben einen funktionierenden Monitor, der einen anderen Teil der Welt zeigt.

Zusätzliche Ansichten werden nach dem Hauptdurchgang gezeichnet, in der von Ihnen gegebenen Reihenfolge.

Jede zusätzliche Ansicht ist ein weiteres vollständiges Rendern der Szene

Zwei Monitore heißen, dass die Szene dreimal gezeichnet wird. Sie lohnen sich, wo sie zählen, und es lohnt sich, sie abzuschalten, wo nicht.

Welche Kamera aktiv ist

Eine Szene rendert durch jeweils eine Kamera. Ein Skript kann fragen, welche, und umschalten:

ctx.camera.entity();
ctx.camera.setActive(securityCam);
ctx.camera.pose();

Der Transform der Kamera ist immer die Quelle der Wahrheit — schreiben Sie hinein, um die Kamera zu bewegen. Beachten Sie: In orbit und firstPerson gehört die Rotation der Steuerung, eine von Ihnen geschriebene Rotation wird also überschrieben; die Position wird respektiert. Siehe die ctx-API.

Und wenn Spielsteuerungen eine Kamera antreiben, wird deren eigener Steuermodus ignoriert — das Rig würde sich sonst jedes Bild damit streiten.


Weiter: Ressourcen — Modelle, Bilder und Klänge.