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.
add
– true
для добавления, false
для вычитания.
getImpulseDirection()
Метод возвращает направление движения камеры.
getImpulseDirection(): Direction;
Возвращает перечисление Direction.
setIncreasedImpulse()
Метод активирует ускоренное движение.
setIncreasedImpulse(isIncreased: boolean): void;
где:
isIncreased
– true
, для ускоренного движения.
Перечисление 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,
}