Skip to content

@tmrw-realityos/worldDocs


@tmrw-realityos/world / LowlevelPlayer

Class: LowlevelPlayer

Class in charge of handling the interaction with a World. It contains the main loop and dispatches actions to render, update, etc

Example

This examples demonstrates how to construct a simple player.

ts
import {registerAllComponents} from "./components/index"
const canvas = document.createElement("canvas");
const player = new Player();
// Register components to be available to the world.
// For simplicity, all supported components are registered here.
registerAllComponents();
// Initialize the renderer and bind input events to a canvas
await player.init(canvas);
// Load a world
player.world.load("worldfile.json");
// Start main loop
player.start();

Extends

Constructors

new LowlevelPlayer()

new LowlevelPlayer(assetsPath): LowlevelPlayer

Parameters

assetsPath: string

Returns

LowlevelPlayer

Overrides

Player.constructor

Defined in

lowlevelPlayer.ts:10

Properties

assetsPath

assetsPath: string = ""

Inherited from

Player.assetsPath

Defined in

player.ts:47


camera

camera: Camera

Inherited from

Player.camera

Defined in

player.ts:46


canvas?

optional canvas: HTMLCanvasElement

Inherited from

Player.canvas

Defined in

player.ts:38


device?

optional device: GPUDevice

Inherited from

Player.device

Defined in

player.ts:39


engine?

optional engine: LowlevelEngine

Defined in

lowlevelPlayer.ts:9


hover?

optional hover: iTestResult

Inherited from

Player.hover

Defined in

player.ts:50


input

input: Input

Inherited from

Player.input

Defined in

player.ts:43


lastTime

lastTime: number

Inherited from

Player.lastTime

Defined in

player.ts:49


meshPicker?

optional meshPicker: WebGPUMeshPicker

Inherited from

Player.meshPicker

Defined in

player.ts:41


onUpdate()?

optional onUpdate: (dt) => void

Parameters

dt: number

Returns

void

Inherited from

Player.onUpdate

Defined in

player.ts:54


renderer?

optional renderer: WebGPURenderer

Inherited from

Player.renderer

Defined in

player.ts:40


showGizmos

showGizmos: boolean = false

Inherited from

Player.showGizmos

Defined in

player.ts:52


videoManager?

optional videoManager: VideoManager

Inherited from

Player.videoManager

Defined in

player.ts:42


world

world: World

Inherited from

Player.world

Defined in

player.ts:45

Methods

destroy()

destroy(): void

Destroys the renderer and removes input events.

Returns

void

Inherited from

Player.destroy

Defined in

player.ts:71


executeMethodFromNode()

executeMethodFromNode(node, func_name, data): void

calls anything that could be affected by this node

Parameters

node: Node

func_name: string

data: unknown

Returns

void

Inherited from

Player.executeMethodFromNode

Defined in

player.ts:253


getBoundComponents()

getBoundComponents(node, class_name?): BaseComponent[]

Parameters

node: Node

class_name?: string

Returns

BaseComponent[]

Inherited from

Player.getBoundComponents

Defined in

player.ts:237


init()

init(canvas): Promise<void>

Initialize the renderer. Must be async for creating a WebGPU device. Sets up input events on the target element.

Parameters

canvas: HTMLCanvasElement

Target element

Returns

Promise<void>

Overrides

Player.init

Defined in

lowlevelPlayer.ts:14


loopStep()

loopStep(): void

Returns

void

Inherited from

Player.loopStep

Defined in

player.ts:110


onRenderGizmos()

onRenderGizmos(renderer): void

Parameters

renderer: WebGPURenderer

Returns

void

Inherited from

Player.onRenderGizmos

Defined in

player.ts:158


resetHover()

resetHover(): void

Returns

void

Inherited from

Player.resetHover

Defined in

player.ts:170


sendMouseInteractionToWorld()

sendMouseInteractionToWorld(e): void

Checks object on top of mouse and sends mouse and ray events to the hovered node.

Parameters

e: PointerEvent

pointer event

Returns

void

Inherited from

Player.sendMouseInteractionToWorld

Defined in

player.ts:215


start()

start(): void

Start the main loop. Must be called after init.

Returns

void

Overrides

Player.start

Defined in

lowlevelPlayer.ts:75


testMouseHover()

testMouseHover(x, y, layers): Promise<undefined | iTestResult>

check which node is below the mouse and set some flags

Parameters

x: number

y: number

layers: number = 0xff

Returns

Promise<undefined | iTestResult>

Inherited from

Player.testMouseHover

Defined in

player.ts:176