WasdNavigationExtension

WasdNavigationExtension – расширение, которое позволяет навигироваться по сцене с помощью клавиатуры, либо с помощью методов API.
Клавиши клавиатуры: W - вперед, A - влево, S - назад, D - вправо, Q - вниз, E - вверх, Shift - ускорение.

Расширение имеет имя PilotWeb3D.WasdNavigation.

Пример подключения в html:

<script src="https://pilot.ascon.ru/componentkit/components/24.21.0/extensions/WasdNavigation3D/WasdNavigation.min.js"></script>

Пример подключения в javascript:

let htmlDiv = document.getElementById('pilotViewer')
viewer = PilotWeb3D.CreateViewer(htmlDiv);
await viewer.start();
viewer.extensionsLoader.loadExtension("PilotWeb3D.WasdNavigation");

Поля

standardSpeed

Скорость перемещения камеры по умолчанию.

  standardSpeed: number = 5;

increasedSpeed

Скорость перемещения камеры при ускоренном движении.

  increasedSpeed: number = 30;

timeAcceleratingToSpeedLimit

Время разгона камеры с standardSpeed до increasedSpeed.

  timeAcceleratingToSpeedLimit: number = 500;

speedGoingThroughObstacles

Скорость перемещения камеры сквозь препятствия.

  speedGoingThroughObstacles: number = 0.5;

speedGoingThroughObstaclesIncreased

Скорость перемещения камеры сквозь препятствия при ускоренном движении.

  speedGoingThroughObstaclesIncreased: number = 1;

distanceToObstacleWhereStartToSlowDown

Расстояние до препятствия, начиная с которого камера начинает замедляться.

  distanceToObstacleWhereStartToSlowDown: number = 500;

Методы

activate()

Включить подписку на события клавиатуры.

activate(): void;

deactivate()

Выключить подписку на события клавиатуры.

deactivate(): void;

setImpulseDirection()

Метод задаёт направление движения камеры.

setImpulseDirection(dir: Direction, add: boolean): void;

где:
dir – Направление движения отсносительно камеры. Подробнее: Direction.
addtrue для добавления, false для вычитания.

getImpulseDirection()

Метод возвращает направление движения камеры.

getImpulseDirection(): Direction;

Возвращает перечисление Direction.

setIncreasedImpulse()

Метод активирует ускоренное движение.

setIncreasedImpulse(isIncreased: boolean): void;

где:
isIncreasedtrue, для ускоренного движения.

Перечисление WasdNavigationExtension.Direction

Направления относительно камеры.

export enum Direction {
  None = 0,
  Forward = 1 << 1,
  Left = 1 << 2,
  Backward = 1 << 3,
  Right = 1 << 4,
  Down = 1 << 5,
  Up = 1 << 6,
}