GyroControl
자이로스코프를 이용한 회전 컨트롤
class GyroControl extends Component<GyroControlEvents> implements CameraControl
Extends
- Component<GyroControlEvents>
Implements
Properties
현재 컨트롤이 동작중인지를 나타내는 값
컨트롤이 활성화되었는지 여부를 나타내는 값
true
일 경우 자이로스코프 입력의 roll(z축 회전)값을 무시합니다.
이 값을 false
로 설정할 경우 카메라 범위 제약을 무시합니다.
yawRange, pitchRange와 같은 값은 무시되며, CylinderProjection 사용시에도 범위를 벗어날 수 있습니다.
Methods
자이로스코프 사용 가능 여부를 반환합니다.
iOS와 같이 GyroScope 사용시 사용자 Permission을 요구하는 환경에서는 사용자 Permission을 받기 전까지 항상 false
입니다.
사용자의 sensor permission 취득을 요청합니다.
iOS와 같이 gyroscope 사용시 사용자 Permission을 요구하는 환경에서 사용 가능합니다.
Constructor
new GyroControl(enableBlocked: boolean, options: Partial<GyroControlOptions>): GyroControl
Parameters
boolean
초기화 과정에서 컨트롤 활성화 여부
컨트롤 옵션들
Properties
animating
animatingboolean
현재 컨트롤이 동작중인지를 나타내는 값
enabled
enabledboolean
컨트롤이 활성화되었는지 여부를 나타내는 값
ignoreRoll
ignoreRollboolean
true
true
일 경우 자이로스코프 입력의 roll(z축 회전)값을 무시합니다.
이 값을 false
로 설정할 경우 카메라 범위 제약을 무시합니다.
yawRange, pitchRange와 같은 값은 무시되며, CylinderProjection 사용시에도 범위를 벗어날 수 있습니다.
Methods
isAvailable
isAvailablePromise<boolean>
isAvailable(): Promise<boolean>
자이로스코프 사용 가능 여부를 반환합니다.
iOS와 같이 GyroScope 사용시 사용자 Permission을 요구하는 환경에서는 사용자 Permission을 받기 전까지 항상 false
입니다.
const gyroAvailable = await GyroControl.isAvailable();
requestSensorPermission
requestSensorPermissionPromise<boolean>
requestSensorPermission(): Promise<boolean>
사용자의 sensor permission 취득을 요청합니다.
iOS와 같이 gyroscope 사용시 사용자 Permission을 요구하는 환경에서 사용 가능합니다.
Returns
사용자 permission 취득 여부
destroy
destroyvoid
destroy(): void
disable
disablevoid
disable(): void
enable
enablevoid
enable(): void
hasOn
hasOnboolean
hasOn<K>(eventName: K): boolean
Parameters
K
off
off
off<K>(eventName: K, handlerToDetach: EventCallback<GyroControlEvents, K, GyroControl>): GyroControl
Parameters
K
EventCallback<GyroControlEvents, K, GyroControl>
on
on
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
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
once
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
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
syncvoid
sync(): void
trigger
trigger
trigger<K>(event: K, ...params: EventTriggerParams<GyroControlEvents, K>): GyroControl
Parameters
K
EventTriggerParams<GyroControlEvents, K>