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 Entity

Methods

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

MethodsMethodsMethodsMethods
namestring''Tämän kameran nimi, jota käytetään sen tunnistamiseen kohtausgraafissa.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Kameran etäisyys lähimmän leikkausplanen. Objektit, jotka ovat lähempänä tätä arvoa, eivät näy.
farPlanenumber1000.0Kameran etäisyys kauimman leikkausplanen. Objektit, jotka ovat kauempana kuin tämä arvo, eivät näy.
aspectnumber1.0Kameran näkymäalueen leveys‑korkeus-suhde.
fieldOfViewnumber0.0Diagonaalinen näkökenttä asteina (perspektiiviprojektio).
fieldOfViewXnumber0.0Vaakasuuntainen näkökenttä asteina.
fieldOfViewYnumber0.0Pystysuuntainen näkökenttä asteina.
orthoHeightnumber100.0Ortografisen projektion tilavuuden korkeus. Vain merkityksellinen kun projectionType on 'ORTHOGRAPHIC'.
widthnumber0.0Anturin tai näkymäalueen leveys, käytetään kun apertureMode ohjaa FOV:n johdannosta.
heightnumber0.0Anturin tai näkymäalueen korkeus.
aspectRationumber1.0Alias 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): void

Methods

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, Camera perii luokasta Entity. Light myös laajentaa Camera, mikä tarkoittaa Light objekteilla on kaikki kameran ominaisuudet tyyppihierarkiassa; tämä heijastaa FBX-datamallia, jossa valot ja kamerat jakavat yhteisen perussolmutyypin.
  • Käytä ProjectionType luokan vakioita (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) sen sijaan että käyttäisi raakamerkkijonoja tyyppiturvallisuuden vuoksi.
 Suomi