Kameras
Ein Kameraobjekt entscheidet, was Ihr Besucher sieht und wie er sich bewegt.
Steuermodi
| Modus | Der Besucher… |
|---|---|
none | kann die Kamera nicht bewegen — Sie steuern sie selbst |
orbit | zieht zum Drehen um ein Ziel, scrollt zum Zoomen |
fly | fliegt frei mit Tasten und Maus |
firstPerson | schaut sich von seinem Standort aus um, Zeiger gefangen |
lock | Zeiger gefangen, aber die Kamera folgt weiter ihrem Objekt |
lockfirstPerson ü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:
| Einstellung | Tut |
|---|---|
target | der Punkt, um den gekreist wird |
enableRotate · enablePan · enableZoom | welche Gesten erlaubt sind |
minDistance · maxDistance | wie nah und wie weit der Besucher darf |
minPolarAngle · maxPolarAngle | wie weit er über und unter das Objekt schwenken darf |
enableDamping · dampingFactor | wie weit die Bewegung nach dem Loslassen gleitet |
autoRotate · autoRotateSpeed | ein 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.
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:
| Ziel | Rendert in |
|---|---|
screen | ein Rechteck der Arbeitsfläche — Position und Größe als Bruchteile des Bildschirms |
texture | ein 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.
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.