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
내부 행렬들을 업데이트합니다.