Camera
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
new Camera(options: CameraOptions): Camera
Parameters
카메라 옵션들
Properties
animation
animationnull | CameraAnimation
현재 활성화된 카메라 애니메이션, 없을 경우 null
값을 가집니다.
fov
fovnumber
카메라의 수평 FOV(Field of View) 값
initialPitch
initialPitchnumber
0
카메라의 초기 pitch(x축 회전)값 (도 단위, °)
View360은 오른손 좌표계를 사용하기 때문에, 양(+)의 값은 카메라가 위를 보게 하고, 음(-)의 값은 카메라가 아래를 보게 합니다.
const viewer = new View360("#el_id", {
initialPitch: 60
});
viewer.on("ready", () => {
console.log(viewer.camera.pitch); // 60
});
initialYaw
initialYawnumber
0
카메라의 초기 yaw(y축 회전)값 (도 단위, °)
View360은 오른손 좌표계를 사용하기 때문에, 카메라가 해당 값만큼 시계 반대방향으로 회전합니다.
const viewer = new View360("#el_id", {
initialYaw: 30
});
viewer.on("ready", () => {
console.log(viewer.camera.yaw); // 30
});
initialZoom
initialZoomnumber
0
카메라의 초기 pitch(x축 회전)값 (도 단위, °)
View360은 오른손 좌표계를 사용하기 때문에, 양(+)의 값은 카메라가 위를 보게 하고, 음(-)의 값은 카메라가 아래를 보게 합니다.
const viewer = new View360("#el_id", {
initialPitch: 60
});
viewer.on("ready", () => {
console.log(viewer.camera.pitch); // 60
});
pitch
pitchnumber
현재 pitch(x축 회전) 값
position
positionvec3
현재 카메라 위치 좌표
projectionMatrix
projectionMatrixmat4
카메라의 프로젝션 변환 행렬
quaternion
quaternionquat
현재 회전을 나타내는 quaternion 값
viewMatrix
viewMatrixmat4
카메라의 뷰 변환 행렬
yaw
yawnumber
현재 yaw(y축 회전) 값
zoom
zoomnumber
현재 줌 값
aspect
aspectnumber
카메라의 가로 / 세로 비율
changed
changedboolean
마지막 프레임 이후로 카메라의 회전값이 변경되었는지 나타내는 플래그.
pitchRange
pitchRangenull | Range
pitch(x축 회전) 범위를 제한합니다. (도 단위, °)
yawRange
yawRangenull | Range
yaw(y축 회전) 범위를 제한합니다. (도 단위, °)
zoomRange
zoomRangenull | Range
카메라 줌 범위를 제한합니다.
null
일 경우 기본값으로 0.6
에서 10
의 범위를 사용합니다.
Methods
animateTo
animateToPromise<void>
animateTo(options: Partial<{ duration: number; easing: ((x: number) => number); pitch: number; yaw: number; zoom: number }>): Promise<void>
카메라를 주어진 방향으로 주어진 시간동안 서서히 이동시킵니다.
Parameters
Partial<{ duration: number; easing: ((x: number) => number); pitch: number; yaw: number; zoom: number }>
{}
애니메이션 패러미터
destroy
destroyvoid
destroy(): void
인스턴스를 삭제하고 모든 이벤트 리스너를 삭제합니다.
fovToZoom
fovToZoomnumber
fovToZoom(fov: number): number
주어진 fov값을 zoom값으로 변환합니다.
Parameters
number
수평 fov 값 (도 단위, °)
getHorizontalFov
getHorizontalFovnumber
getHorizontalFov(zoom: number): number
주어진 zoom 값이 적용되었을 때의 수평 fov값을 반환합니다. (도 단위, °)
Parameters
number
...
Returns
줌이 적용된 수평 fov값
getPitchRange
getPitchRangeReadonly<Range>
getPitchRange(zoom: number): Readonly<Range>
주어진 zoom 값에 대한 실제 pitch 범위값을 반환합니다.
Parameters
number
getVerticalFov
getVerticalFovnumber
getVerticalFov(zoom: number): number
주어진 zoom 값이 적용되었을 때의 수직 fov값을 반환합니다. (도 단위, °)
Parameters
number
...
Returns
줌이 적용된 수직 fov값
getYawRange
getYawRangeReadonly<Range>
getYawRange(zoom: number): Readonly<Range>
주어진 zoom 값에 대한 실제 yaw 범위값을 반환합니다.
Parameters
number
getZoomRange
getZoomRange{ current: number; max: number; min: number }
getZoomRange(): { current: number; max: number; min: number }
실제 줌 범위를 fov각의 범위로 반환합니다.
hasOn
hasOnboolean
hasOn<K>(eventName: K): boolean
Parameters
K
lookAt
lookAtvoid
lookAt(rotation: Partial<{ pitch: number; yaw: number; zoom: number }>): void
카메라 회전을 오일러 각 방향으로 변경합니다.
Parameters
Partial<{ pitch: number; yaw: number; zoom: number }>
회전 값
off
off
off<K>(eventName: K, handlerToDetach: EventCallback<CameraEvents, K, Camera>): Camera
Parameters
K
EventCallback<CameraEvents, K, Camera>
on
on
on(eventHash: Partial<{ animationEnd: ((event: { animation: CameraAnimation }) => any) }>): Camera
Parameters
Partial<{ animationEnd: ((event: { animation: CameraAnimation }) => any) }>
once
once
once(eventHash: Partial<{ animationEnd: ((event: { animation: CameraAnimation }) => any) }>): Camera
Parameters
Partial<{ animationEnd: ((event: { animation: CameraAnimation }) => any) }>
resize
resizevoid
resize(width: number, height: number): void
내부 크기값을 갱신합니다.
Parameters
number
변경된 너비값
number
변경된 높이값
rotate
rotatevoid
rotate(rotation: quat, zoom: number): void
카메라 회전을 Quaternion을 이용해서 변경합니다.
Parameters
quat
적용할 Quaternion
number
...
적용할 카메라 줌 값
trigger
trigger
trigger<K>(event: K, ...params: EventTriggerParams<CameraEvents, K>): Camera
Parameters
K
EventTriggerParams<CameraEvents, K>
updateMatrix
updateMatrixvoid
updateMatrix(): void
내부 행렬들을 업데이트합니다.