Class Camera
Paketti: @aspose/3d (v24.12.0)
Camera on Entity joka voidaan liittää Node määrittämään näkökulman kohtauksessa. Se tukee sekä perspektiivi- että ortografisia projisointeja, joita ohjaa projectionType ominaisuus. Kameran parametrit tallennetaan 3D‑tiedostoon, kun kohtaus tallennetaan formaattiin, joka tukee kameroita (FBX, COLLADA, glTF).
export class Camera extends EntityMethods
A3DObject ← SceneObject ← Entity ← Camera
Methods
Lisää perspektiivinen kamera kohtaukseen ja määritä sen frustum.
import { Scene, Node, Camera, ProjectionType } from '@aspose/3d';
const scene = new Scene();
const camNode = scene.rootNode.createChildNode('mainCamera');
const camera = new Camera('mainCamera', ProjectionType.PERSPECTIVE);
camNode.entity = camera;
camera.nearPlane = 0.1;
camera.farPlane = 500;
camera.fieldOfView = 60;
camera.aspect = 16 / 9;
scene.save('output.gltf');
console.log(`Camera projection: ${camera.projectionType}`);
// Camera projection: PERSPECTIVE
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | string | '' | Tämän kameran nimi, jota käytetään sen tunnistamiseen kohtausgraafissa. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | Kameran etäisyys lähimmän leikkausplanen. Objektit, jotka ovat lähempänä tätä arvoa, eivät näy. |
farPlane | number | 1000.0 | Kameran etäisyys kauimman leikkausplanen. Objektit, jotka ovat kauempana kuin tämä arvo, eivät näy. |
aspect | number | 1.0 | Kameran näkymäalueen leveys‑korkeus-suhde. |
fieldOfView | number | 0.0 | Diagonaalinen näkökenttä asteina (perspektiiviprojektio). |
fieldOfViewX | number | 0.0 | Vaakasuuntainen näkökenttä asteina. |
fieldOfViewY | number | 0.0 | Pystysuuntainen näkökenttä asteina. |
orthoHeight | number | 100.0 | Ortografisen projektion tilavuuden korkeus. Vain merkityksellinen kun projectionType on 'ORTHOGRAPHIC'. |
width | number | 0.0 | Anturin tai näkymäalueen leveys, käytetään kun apertureMode ohjaa FOV:n johdannosta. |
height | number | 0.0 | Anturin tai näkymäalueen korkeus. |
aspectRatio | number | 1.0 | Alias kuvasuhteelle, tarjotaan yhteensopivuuden vuoksi joidenkin FBX:stä peräisin olevien kohtauksien kanssa. |
Methods
moveForward(distance)
BoundingBox on akselien suuntaisesti kohdistettu raja-alue, joka on määritelty minimi- ja maksimi‑Vector3‑kulmilla, ja siinä on menetelmiä pisteiden yhdistämiseen, sisällyttämistesteihin ja laajuuskyselyihin.
moveForward(distance: number): voidMethods
distance number
BoundingBox edustaa akselien suuntaisesti kohdistettua raja-aluetta (AABB) 3D-tilassa. Se tallentaa minimum‑kulman ja maximum‑kulman tavallisina objekteina, joissa on x, y, z -kentät. Vastaanotettu BoundingBox() ilman argumentteja on “null”-tilassa — minimum palauttaa +Infinity ja maximum palauttaa -Infinity — ja laajenee oikein, kun pisteitä lisätään merge()‑menetelmällä. BoundingBox viedään (exported) polusta @aspose/3d/utilities.
Methods
void
Methods
import { Scene, Camera, ProjectionType } from '@aspose/3d';
const scene = new Scene();
const camNode = scene.rootNode.createChildNode('cam');
const camera = new Camera('cam', ProjectionType.PERSPECTIVE);
camNode.entity = camera;
camera.moveForward(10);
console.log('Camera moved forward by 10 units.');Methods
- Lähdekoodissa,
Cameraperii luokastaEntity.Lightmyös laajentaaCamera, mikä tarkoittaaLightobjekteilla on kaikki kameran ominaisuudet tyyppihierarkiassa; tämä heijastaa FBX-datamallia, jossa valot ja kamerat jakavat yhteisen perussolmutyypin. - Käytä
ProjectionTypeluokan vakioita (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) sen sijaan että käyttäisi raakamerkkijonoja tyyppiturvallisuuden vuoksi.