본문으로 건너뛰기

GyroControl

Since version 4.0.0

자이로스코프를 이용한 회전 컨트롤

class GyroControl extends Component<GyroControlEvents> implements CameraControl

Extends

Implements

Properties

현재 컨트롤이 동작중인지를 나타내는 값

컨트롤이 활성화되었는지 여부를 나타내는 값

true일 경우 자이로스코프 입력의 roll(z축 회전)값을 무시합니다.

주의

이 값을 false로 설정할 경우 카메라 범위 제약을 무시합니다.
yawRange, pitchRange와 같은 값은 무시되며, CylinderProjection 사용시에도 범위를 벗어날 수 있습니다.

Methods

자이로스코프 사용 가능 여부를 반환합니다.

주의

iOS와 같이 GyroScope 사용시 사용자 Permission을 요구하는 환경에서는 사용자 Permission을 받기 전까지 항상 false입니다.

사용자의 sensor permission 취득을 요청합니다.
iOS와 같이 gyroscope 사용시 사용자 Permission을 요구하는 환경에서 사용 가능합니다.

Constructor

GyroControl의 인스턴스를 생성합니다.
new GyroControl(enableBlocked: boolean, options: Partial<GyroControlOptions>): GyroControl

Parameters

enableBlocked

boolean

초기화 과정에서 컨트롤 활성화 여부

options

{}

컨트롤 옵션들

Properties

animating

readonly
animating

boolean

현재 컨트롤이 동작중인지를 나타내는 값

enabled

readonly
enabled

boolean

컨트롤이 활성화되었는지 여부를 나타내는 값

ignoreRoll

>=4.0.0
ignoreRoll

boolean

true

true일 경우 자이로스코프 입력의 roll(z축 회전)값을 무시합니다.

주의

이 값을 false로 설정할 경우 카메라 범위 제약을 무시합니다.
yawRange, pitchRange와 같은 값은 무시되며, CylinderProjection 사용시에도 범위를 벗어날 수 있습니다.

Methods

isAvailable

static
isAvailable

Promise<boolean>

isAvailable(): Promise<boolean>

자이로스코프 사용 가능 여부를 반환합니다.

주의

iOS와 같이 GyroScope 사용시 사용자 Permission을 요구하는 환경에서는 사용자 Permission을 받기 전까지 항상 false입니다.

Example
const gyroAvailable = await GyroControl.isAvailable();

requestSensorPermission

static
requestSensorPermission

Promise<boolean>

requestSensorPermission(): Promise<boolean>

사용자의 sensor permission 취득을 요청합니다.
iOS와 같이 gyroscope 사용시 사용자 Permission을 요구하는 환경에서 사용 가능합니다.

Returns

사용자 permission 취득 여부

destroy

destroy

void

destroy(): void

disable

disable

void

disable(): void

enable

enable

void

enable(): void

hasOn

inherited
hasOn

boolean

hasOn<K>(eventName: K): boolean

Parameters

eventName

K

off

inherited
off

GyroControl

off<K>(eventName: K, handlerToDetach: EventCallback<GyroControlEvents, K, GyroControl>): GyroControl

Parameters

eventName

K

handlerToDetach

EventCallback<GyroControlEvents, K, GyroControl>

on

inherited
on

GyroControl

on(eventHash: Partial<{ change: ((event: { delta: void; isKeyboard: boolean; isTouch: boolean }) => any); disable: ((event: { updateCursor: boolean }) => any); enable: ((event: { control: CameraControl; updateCursor: boolean }) => any); inputEnd: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; scrolling: boolean }) => any); inputStart: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; srcEvent: MouseEvent | TouchEvent | KeyboardEvent }) => any); staticClick: ((event: { isTouch: boolean }) => any) }>): GyroControl

Parameters

eventHash

Partial<{ change: ((event: { delta: void; isKeyboard: boolean; isTouch: boolean }) => any); disable: ((event: { updateCursor: boolean }) => any); enable: ((event: { control: CameraControl; updateCursor: boolean }) => any); inputEnd: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; scrolling: boolean }) => any); inputStart: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; srcEvent: MouseEvent | TouchEvent | KeyboardEvent }) => any); staticClick: ((event: { isTouch: boolean }) => any) }>

once

inherited
once

GyroControl

once(eventHash: Partial<{ change: ((event: { delta: void; isKeyboard: boolean; isTouch: boolean }) => any); disable: ((event: { updateCursor: boolean }) => any); enable: ((event: { control: CameraControl; updateCursor: boolean }) => any); inputEnd: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; scrolling: boolean }) => any); inputStart: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; srcEvent: MouseEvent | TouchEvent | KeyboardEvent }) => any); staticClick: ((event: { isTouch: boolean }) => any) }>): GyroControl

Parameters

eventHash

Partial<{ change: ((event: { delta: void; isKeyboard: boolean; isTouch: boolean }) => any); disable: ((event: { updateCursor: boolean }) => any); enable: ((event: { control: CameraControl; updateCursor: boolean }) => any); inputEnd: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; scrolling: boolean }) => any); inputStart: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; srcEvent: MouseEvent | TouchEvent | KeyboardEvent }) => any); staticClick: ((event: { isTouch: boolean }) => any) }>

sync

sync

void

sync(): void

trigger

inherited
trigger

GyroControl

trigger<K>(event: K, ...params: EventTriggerParams<GyroControlEvents, K>): GyroControl

Parameters

event

K

params

EventTriggerParams<GyroControlEvents, K>