본문으로 건너뛰기

Camera

Since version 4.0.0

View360용 카메라 구현체

class Camera extends Component<CameraEvents>

Extends

Properties

현재 활성화된 카메라 애니메이션, 없을 경우 null값을 가집니다.

카메라의 수평 FOV(Field of View) 값

카메라의 초기 pitch(x축 회전)값 (도 단위, °)
View360은 오른손 좌표계를 사용하기 때문에, 양(+)의 값은 카메라가 위를 보게 하고, 음(-)의 값은 카메라가 아래를 보게 합니다.

카메라의 초기 yaw(y축 회전)값 (도 단위, °)
View360은 오른손 좌표계를 사용하기 때문에, 카메라가 해당 값만큼 시계 반대방향으로 회전합니다.

카메라의 초기 pitch(x축 회전)값 (도 단위, °)
View360은 오른손 좌표계를 사용하기 때문에, 양(+)의 값은 카메라가 위를 보게 하고, 음(-)의 값은 카메라가 아래를 보게 합니다.

현재 pitch(x축 회전) 값

현재 카메라 위치 좌표

카메라의 프로젝션 변환 행렬

현재 회전을 나타내는 quaternion 값

카메라의 뷰 변환 행렬

현재 yaw(y축 회전) 값

현재 줌 값

카메라의 가로 / 세로 비율

마지막 프레임 이후로 카메라의 회전값이 변경되었는지 나타내는 플래그.

pitch(x축 회전) 범위를 제한합니다. (도 단위, °)

yaw(y축 회전) 범위를 제한합니다. (도 단위, °)

카메라 줌 범위를 제한합니다.
null일 경우 기본값으로 0.6에서 10의 범위를 사용합니다.

Methods

카메라를 주어진 방향으로 주어진 시간동안 서서히 이동시킵니다.

인스턴스를 삭제하고 모든 이벤트 리스너를 삭제합니다.

주어진 fov값을 zoom값으로 변환합니다.

주어진 zoom 값이 적용되었을 때의 수평 fov값을 반환합니다. (도 단위, °)

주어진 zoom 값에 대한 실제 pitch 범위값을 반환합니다.

주어진 zoom 값이 적용되었을 때의 수직 fov값을 반환합니다. (도 단위, °)

주어진 zoom 값에 대한 실제 yaw 범위값을 반환합니다.

실제 줌 범위를 fov각의 범위로 반환합니다.

카메라 회전을 오일러 각 방향으로 변경합니다.

내부 크기값을 갱신합니다.

카메라 회전을 Quaternion을 이용해서 변경합니다.

내부 행렬들을 업데이트합니다.

Events

카메라 애니메이션이 멈췄을 때 트리거되는 이벤트

Constructor

Create new instance of Camera
new Camera(options: CameraOptions): Camera

Parameters

카메라 옵션들

Properties

animation

>=4.0.0
animation

null | CameraAnimation

현재 활성화된 카메라 애니메이션, 없을 경우 null값을 가집니다.

fov

>=4.0.0
fov

number

카메라의 수평 FOV(Field of View) 값

initialPitch

>=4.0.0
initialPitch

number

0

카메라의 초기 pitch(x축 회전)값 (도 단위, °)
View360은 오른손 좌표계를 사용하기 때문에, 양(+)의 값은 카메라가 위를 보게 하고, 음(-)의 값은 카메라가 아래를 보게 합니다.

Example
const viewer = new View360("#el_id", {
initialPitch: 60
});

viewer.on("ready", () => {
console.log(viewer.camera.pitch); // 60
});

initialYaw

>=4.0.0
initialYaw

number

0

카메라의 초기 yaw(y축 회전)값 (도 단위, °)
View360은 오른손 좌표계를 사용하기 때문에, 카메라가 해당 값만큼 시계 반대방향으로 회전합니다.

Example
const viewer = new View360("#el_id", {
initialYaw: 30
});

viewer.on("ready", () => {
console.log(viewer.camera.yaw); // 30
});

initialZoom

>=4.0.0
initialZoom

number

0

카메라의 초기 pitch(x축 회전)값 (도 단위, °)
View360은 오른손 좌표계를 사용하기 때문에, 양(+)의 값은 카메라가 위를 보게 하고, 음(-)의 값은 카메라가 아래를 보게 합니다.

Example
const viewer = new View360("#el_id", {
initialPitch: 60
});

viewer.on("ready", () => {
console.log(viewer.camera.pitch); // 60
});

pitch

>=4.0.0
pitch

number

현재 pitch(x축 회전) 값

position

>=4.0.0
position

vec3

현재 카메라 위치 좌표

projectionMatrix

>=4.0.0
projectionMatrix

mat4

카메라의 프로젝션 변환 행렬

quaternion

>=4.0.0
quaternion

quat

현재 회전을 나타내는 quaternion 값

viewMatrix

>=4.0.0
viewMatrix

mat4

카메라의 뷰 변환 행렬

yaw

>=4.0.0
yaw

number

현재 yaw(y축 회전) 값

zoom

>=4.0.0
zoom

number

현재 줌 값

aspect

readonly
aspect

number

카메라의 가로 / 세로 비율

changed

readonly
changed

boolean

마지막 프레임 이후로 카메라의 회전값이 변경되었는지 나타내는 플래그.

pitchRange

pitchRange

null | Range

pitch(x축 회전) 범위를 제한합니다. (도 단위, °)

yawRange

yawRange

null | Range

yaw(y축 회전) 범위를 제한합니다. (도 단위, °)

zoomRange

zoomRange

null | Range

카메라 줌 범위를 제한합니다.
null일 경우 기본값으로 0.6에서 10의 범위를 사용합니다.

Methods

animateTo

animateTo

Promise<void>

animateTo(options: Partial<{ duration: number; easing: ((x: number) => number); pitch: number; yaw: number; zoom: number }>): Promise<void>

카메라를 주어진 방향으로 주어진 시간동안 서서히 이동시킵니다.

Parameters

options

Partial<{ duration: number; easing: ((x: number) => number); pitch: number; yaw: number; zoom: number }>

{}

애니메이션 패러미터

destroy

>=4.0.0
destroy

void

destroy(): void

인스턴스를 삭제하고 모든 이벤트 리스너를 삭제합니다.

fovToZoom

>=4.0.0
fovToZoom

number

fovToZoom(fov: number): number

주어진 fov값을 zoom값으로 변환합니다.

Parameters

fov

number

수평 fov 값 (도 단위, °)

getHorizontalFov

>=4.0.0
getHorizontalFov

number

getHorizontalFov(zoom: number): number

주어진 zoom 값이 적용되었을 때의 수평 fov값을 반환합니다. (도 단위, °)

Parameters

zoom

number

...

Returns

줌이 적용된 수평 fov값

getPitchRange

>=4.0.0
getPitchRange

Readonly<Range>

getPitchRange(zoom: number): Readonly<Range>

주어진 zoom 값에 대한 실제 pitch 범위값을 반환합니다.

Parameters

zoom

number

getVerticalFov

>=4.0.0
getVerticalFov

number

getVerticalFov(zoom: number): number

주어진 zoom 값이 적용되었을 때의 수직 fov값을 반환합니다. (도 단위, °)

Parameters

zoom

number

...

Returns

줌이 적용된 수직 fov값

getYawRange

>=4.0.0
getYawRange

Readonly<Range>

getYawRange(zoom: number): Readonly<Range>

주어진 zoom 값에 대한 실제 yaw 범위값을 반환합니다.

Parameters

zoom

number

getZoomRange

>=4.0.0
getZoomRange

{ current: number;   max: number;   min: number }

getZoomRange(): { current: number; max: number; min: number }

실제 줌 범위를 fov각의 범위로 반환합니다.

hasOn

inherited
hasOn

boolean

hasOn<K>(eventName: K): boolean

Parameters

eventName

K

lookAt

>=4.0.0
lookAt

void

lookAt(rotation: Partial<{ pitch: number; yaw: number; zoom: number }>): void

카메라 회전을 오일러 각 방향으로 변경합니다.

Parameters

rotation

Partial<{ pitch: number; yaw: number; zoom: number }>

회전 값

off

inherited
off

Camera

off<K>(eventName: K, handlerToDetach: EventCallback<CameraEvents, K, Camera>): Camera

Parameters

eventName

K

handlerToDetach

EventCallback<CameraEvents, K, Camera>

on

inherited
on

Camera

on(eventHash: Partial<{ animationEnd: ((event: { animation: CameraAnimation }) => any) }>): Camera

Parameters

eventHash

Partial<{ animationEnd: ((event: { animation: CameraAnimation }) => any) }>

once

inherited
once

Camera

once(eventHash: Partial<{ animationEnd: ((event: { animation: CameraAnimation }) => any) }>): Camera

Parameters

eventHash

Partial<{ animationEnd: ((event: { animation: CameraAnimation }) => any) }>

resize

>=4.0.0
resize

void

resize(width: number, height: number): void

내부 크기값을 갱신합니다.

Parameters

width

number

변경된 너비값

height

number

변경된 높이값

rotate

>=4.0.0
rotate

void

rotate(rotation: quat, zoom: number): void

카메라 회전을 Quaternion을 이용해서 변경합니다.

Parameters

rotation

quat

적용할 Quaternion

zoom

number

...

적용할 카메라 줌 값

trigger

inherited
trigger

Camera

trigger<K>(event: K, ...params: EventTriggerParams<CameraEvents, K>): Camera

Parameters

event

K

params

EventTriggerParams<CameraEvents, K>

updateMatrix

>=4.0.0
updateMatrix

void

updateMatrix(): void

내부 행렬들을 업데이트합니다.

Events

animationEnd

>=4.0.0
animationEnd

{ animation: CameraAnimation }

카메라 애니메이션이 멈췄을 때 트리거되는 이벤트