oo-mono package
Classes
Class |
Description |
---|---|
Audio component, used to play audio in the game See AudioComponentData for the data schema used to create an audio component | |
Avatar component, used to display VRM avatars in the game (for more info on VRM files, see VRM site (opens in a new tab)) See AvatarComponentData for the data schema used to create an audio component | |
The background component is used to set the background of the game. You can set the background appareance from the studio. At runtime right now you can only change the color of the background, but we plan to add more options in the future. Bakckground is a singleton, so you can only have one background in the game. | |
A controller class that can be used to control kinematic rigid bodies. This is a convenient class that wraps the Rapier's Character controller (opens in a new tab) class. | |
A component to display birds in the game. See BirdComponentData for the data schema used to create a bird component | |
A component to display bullets in the game. Once created, the bullet will move in the given direction at the given speed. See BulletComponentData for the data schema used to create a bullet component | |
A Game client instance is used to join a game room on the server | |
A component to display clouds in the game. See CloudComponentData for the data schema used to create a cloud component | |
This class encapsulates the physics entities attached to a component (rigid body, collider). it offers some convenience methods to physics properties of the component. For more info on the underlying physics engine, cf Rapier docs (opens in a new tab) | |
A ComponentManager is a container for all the components of a space. It is responsible for creating, destroying and duplicating components. | |
Use this to create controls for your game, Currently supports the following types:
| |
Those controls are for debug purposes only. OrbitControls performs orbiting, dollying (zooming), and panning. Orbit - left mouse / touch: one-finger move Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move | |
Device information | |
A component to display dust that follows a target in the game. You can use this component to create a trail of dust that follows a player, for example. See DustComponentData for the data schema used to create a dust component | |
This component is used to display an environment map in the game. Use the studio to configure the environment for the space. This is a singleton component. You can only have one environment map in the game. | |
The class is used to implement first person camera controls.`` The meaning of
| |
The class is used to implement fly camera controls. It takes in the | |
This component is used to activate a fog in the game. Use the studio to configure the fog for the space. This is a singleton component. You can only have one fog in the game. | |
This class is used to communicate with the game server and sync the game state | |
This class provides an API to store and retrieve data from the games. | |
A component to display godrays effect in the game. See GodrayComponentData for the data schema used to create a godray component | |
Image component, used to display images in the game (.png, .jpg, .jpeg) See ImageComponentData for the data schema used to create an image component | |
This component is used to display Kit Assets elements in the game See KitbashComponentData for the data schema used to create a kitbash component | |
This component is used to controls lighting in the game. Use the studio to configure the lighting for the space. This is a singleton component. You can only have one lighting in the game. | |
A component to display magnetic field like effect in the game. See MagneticFieldComponentData for the data specification to create a magnetic field component. | |
Main camera used to render the scene, this is actually an instance of three.js PerspectiveCamera (opens in a new tab) | |
Mesh component, used to display simple meshes in the game (box, sphere, cylinder) See MeshComponentData for the data schema used to create a mesh component | |
Model component, used to display gltf 3D models in the game (.gltf, .glb) See ModelComponentData for the data schema used to create a model component | |
Wrapper for the physics engine, currently using Rapier3D This is the type of the Physics variable in the scripting API | |
A component to display sliding platforms in the game. See PlatformComponentData for the data schema used to create a platform component | |
This class implements traditional platformer controls, with support for jumping, running, etc the controls use keyboard keys W, A, S, D or Arrow keys for movement, and SPACE for jumping; The meaning of
The behavior of the controls can be customized using the params object. See PlatformerControlsWrapperParams for more info | |
This class is used to control the actions of the PlatformerControlsWrapper class. | |
A class to access to all player entities on the game | |
Represents a player entity in the game. A PlayerWrapper instance is always created for the main player of the game; In mulitplayer mode, a PlayerWrapper instanceRor remote players in mulitplayer mode. By default an avatar component is created for each player. You can customise the avatar used by the game using the current snippet in the | |
Post processing component, used to apply post processing effects to the game. Use the studio to configure the post processing for the space. This is a singleton component. You can only have one post processing in the game. | |
This component is used to display rain in the game. Use the studio to configure the rain for the space. This is a singleton component. You can only have one rain in the game. | |
This component is used to display a reflective plan in the game. Use the studio to configure the reflector for the space. This is a singleton component. You can only have one reflector in the game. For performance reasons, adding both a water and a reflector component to the same space is not supported. | |
Repersents the container for all objects in the scene for the current game. This class is a wrapper around the ThreeJS Group (opens in a new tab) class. | |
This component is used to configure where the player will spawn, initially, in the game. Use the studio to configure the spawn for the space. This is a singleton component. | |
Terrain component, used to create terrains in the game. Use the studio to add terrains to the space. | |
Text component, used to display text in the game. See TextComponentData for the data schema used to create a text component | |
This class is used to implement third person camera mode. The controls use mouse movements to rotate the camera around the target object; By default the conttrols controller will enter pointer lock mode when the user clicks on the canvas. To disable this behavior set the The behavior of the controls can be customized by passing a ThirdPersonCameraControlsWrapperParams object to the constructor The meaning of
| |
This component is used to display a video in the game. See VideoComponentData for the data schema used to create a video component | |
Water component, used to display water in the game. Use the studio to add a water component to the space. This is a singleton component, so you can only have one water component in the game. For performance reasons Adding both a water and a reflector component to the same space is not supported. | |
A component to display a wave effect in the game. See WaveComponentData for the data schema used to create a wave component | |
Class representing Web3 functionalities. | |
A component to display a spiralling wind in the game. The wind will affect all objects colliding with it by pushing them up. See WindComponentData for the data schema used to create a wind component |
Functions
Function |
Description |
---|---|
Use this decorator to group multiple params into one folder | |
The | |
The | |
Returns a promise that resolves after a number of seconds has passed | |
The | |
Interfaces
Interface |
Description |
---|---|
Data for the AudioComponent, see ComponentManager.create() on how to create a component | |
Data specification for AvatarComponent, see ComponentManager.create() on how to create a component | |
Base interface for all collision/sensor events. | |
Data specification for BirdComponent, see ComponentManager.create() on how to create a component | |
Params for the property | |
Data specification for BulletComponent, see ComponentManager.create() on how to create a component | |
Data specification for CloudComponent, see ComponentManager.create() on how to create a component | |
Payload for the collision enter event; see {@link Component3D.onCollisionEnter() | |
Payload for the collision exit event; see {@link Component3D.onCollisionExit() | |
Base class for all components data interfaces. It contains the common properties for all components | |
Component Params need to be initialized using the $Param.Component | |
Params for the property | |
Data specification for DustComponent, see ComponentManager.create() on how to create a component | |
Data specification for GodrayComponent, see ComponentManager.create() on how to create a component | |
Group Params need to be initialized | |
Data specification for ImageComponent, see ComponentManager.create() on how to create a component | |
Data specification for KitBashComponent, see ComponentManager.create() on how to create a component | |
Data specification for MagneticFieldComponent, see ComponentManager.create() on how to create a component | |
Data specification for MeshComponent, see ComponentManager.create() on how to create a component | |
Geometry data for the MeshComponentData.geometry property | |
Data specification for ModelComponent, see ComponentManager.create() on how to create a component | |
This interface describes the data schema used to attach collision data to a component. | |
Data specification for PlatformComponent, see ComponentManager.create() on how to create a component | |
Resource Params need to be initialized using $Param.Resource | |
Attach an identifier or a tag to a component, so that it can be easily accessed in the ComponentManager.byId() or ComponentManager.byTag() methods | |
Params for the property | |
Data specification for TextComponent, see ComponentManager.create() on how to create a component | |
Data specification for VideoComponent, see ComponentManager.create() on how to create a component | |
Data specification for WaveComponent, see ComponentManager.create() on how to create a component | |
Data specification for WindComponent, see ComponentManager.create() on how to create a component | |
This is a shared interface used to represent various 3D coordinates in component data (position, rotation, scale ...) |
Namespaces
Namespace |
Description |
---|---|
Variables
Variable |
Description |
---|---|
Current camera instance, cf MainCamera for more info | |
Component manager for the current space, cf ComponentManager for more info | |
Use this to create controls for your game, cf ControlsFactory for more info | |
Use this to register listeners for events on the game (ready, update, etc) See Events for the list of events you can listen to | |
Provides access to the current script execution environment | |
An object containing all the events that can listened from scripting. | |
This is the main entry point for mulitplayer games on the frontend. A Game client instance is used to join a game room on the server | |
The GameStorage instance is used to store and retrieve data from the game storage. | |
Object containing helpers for creating meshes and materials in accordance with the internal pipeline of the engine | |
Physics manager for the current space, cf PhysicsRapierWrapper for more info | |
Represents the main player entity on the game; cf PlayerWrapper for more info | |
Gives access to all player entities on the game; cd for more info | |
Class representing Web3 functionalities. | |
Current space hosting the game, cf Space for more info |
Type Aliases
Type Alias |
Description |
---|---|