Constructor
new pxlRoom RoomEnvironment(roomName, assetPath, msRunner, camera, scene, cloud3dTexture)
- Description:
Core functionality and base classes
- Source:
Parameters:
Name | Type | Default | Description |
---|---|---|---|
roomName |
string |
pxlRoomEnvironment
|
The name of the room. |
assetPath |
string | null |
null
|
The path to the assets. |
msRunner |
Object | null |
null
|
The millisecond runner. |
camera |
Object | null |
null
|
The camera object. |
scene |
Object | null |
null
|
The scene object. |
cloud3dTexture |
Object | null |
null
|
The 3D cloud texture. |
Members
avgDeltaTime
- Description:
Get the average delta time.
- Source:
Get the average delta time.
deltaTime
- Description:
Get the delta time.
- Source:
Get the delta time.
Methods
addColliderHelper(colliderTypeopt)
- Description:
Add a visual collider helper.
- Source:
Example
// To add a floor collider helper
// To visualize collider triangles in blue & green
// Run these helper functions in your rooms `build()` & `step()`-
build(){
this.addColliderHelper( COLLIDER_TYPE.FLOOR );
}
step(){
this.stepColliderHelper( COLLIDER_TYPE.FLOOR );
}
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
colliderType |
number |
<optional> |
COLLIDER_TYPE.FLOOR
|
The type of collider. |
animPostLoad(animKey, animMixers)
- Description:
Ran after the room's animation FBX files load & process.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
animKey |
string | The animation key. |
animMixers |
Object | The animation mixers. |
applyRoomPass(roomComposeropt) → {Object|null}
- Description:
Apply composer's room pass.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
roomComposer |
Object | null |
<optional> |
null
|
The room composer. |
Returns:
The shader pass.
- Type
- Object | null
build()
- Description:
Build the scene and assets.
- Source:
castRay(isClick, mButton)
- Description:
Cast a ray using pxlNav's raycaster. For Three.js' raycaster, please use the Three.js raycaster directly Note - pxlNav's raycaster requires object's are registered, All object's are pre-processes for faster raycasting
- Source:
Parameters:
Name | Type | Description |
---|---|---|
isClick |
boolean | Whether it is a click. |
mButton |
number | The mouse button. |
cleanupPortalRender()
- Description:
Cleanup portal render.
- Source:
fbxPostLoad()
- Description:
Ran after the room's FBX loads & processes.
- Source:
getArtistInfo() → {Object|null}
- Description:
Get artist information.
- Source:
Returns:
The artist information.
- Type
- Object | null
getColliders(colliderTypeopt) → {Array}
- Description:
Get the colliders of a specific type.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
colliderType |
number |
<optional> |
COLLIDER_TYPE.FLOOR
|
The type of collider. |
Returns:
The list of colliders.
- Type
- Array
getCurrentShader() → {string}
- Description:
Get the currently editing shader.
- Source:
Returns:
The current shader.
- Type
- string
getLerpAvgRate(rate) → {number}
- Description:
Get the average lerp rate.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
rate |
number | The rate. |
Returns:
The average lerp rate.
- Type
- number
getLerpRate(rate) → {number}
- Description:
Get the lerp rate.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
rate |
number | The rate. |
Returns:
The lerp rate.
- Type
- number
getName() → {string}
- Description:
Get the room name.
- Source:
Returns:
The room name.
- Type
- string
getShaderList() → {Object}
- Description:
Get the geometry shader list.
- Source:
Returns:
The shader list.
- Type
- Object
hasColliderType(colliderTypeopt) → {boolean}
- Description:
Check if a specific type of collider exists.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
colliderType |
number |
<optional> |
COLLIDER_TYPE.FLOOR
|
The type of collider. |
Returns:
Whether the specific type of collider exists.
- Type
- boolean
hasColliders() → {boolean}
- Description:
Check if colliders exist.
- Source:
Returns:
Whether colliders exist.
- Type
- boolean
hitColliders(colliderList, colliderTypeopt)
- Description:
Handle pxlColliders collider hits.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
colliderList |
Array | The list of colliders. |
||
colliderType |
number |
<optional> |
COLLIDER_TYPE.FLOOR
|
The type of collider. |
init()
- Description:
Initialize the room environment. Ran after core
pxlNav
modules have been loaded and initialized But before the render composers / post-processing
- Source:
onMessage(msgType, msgValue)
- Description:
Handle incoming messages.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
msgType |
string | The type of message. |
msgValue |
Object | The value of the message. |
prepPortalRender()
- Description:
Prepare Warp Zone Portal Texture
- Source:
readShader(objShaderopt, sliderVectorObjopt) → {Object}
- Description:
Read the shader from the object.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
objShader |
string |
<optional> |
""
|
The shader object. |
sliderVectorObj |
Object | null |
<optional> |
null
|
The slider vector object. |
Returns:
The shader material.
- Type
- Object
resetCamera()
- Description:
Reset the camera.
- Source:
resize(sW, sH)
- Description:
Handle window resize.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
sW |
number | The width of the window. |
sH |
number | The height of the window. |
setDependencies(pxlNav)
- Description:
Set pxlNav dependencies.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
pxlNav |
Object | The pxlNav object. |
setFog(color)
- Description:
Set the fog color.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
color |
Object | The color. |
setPortalTexture(texture, toRoomopt)
- Description:
Set the portal texture. Set the Room Warp Portal plane to display the render from the main room
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
texture |
Object | The texture. |
||
toRoom |
string | null |
<optional> |
null
|
The room to set. |
setShader(unis, vert, frag)
- Description:
Set the geometry's material vertex & fragment shaders.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
unis |
Object | The uniforms. |
vert |
string | The vertex shader. |
frag |
string | The fragment shader. |
setUserHeight(toHeightopt)
- Description:
Set the user height.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
toHeight |
number |
<optional> |
1
|
The height to set. |
start()
- Description:
Start the room environment. Run on init room warp; reset room values
- Source:
step()
- Description:
Per-frame render updates.
- Source:
stepColliderHelper(colliderTypeopt)
- Description:
Step the collider helper.
- Source:
Example
// To add a floor collider helper
// To visualize collider triangles in blue & green
// Run these helper functions in your rooms `build()` & `step()`-
build(){
this.addColliderHelper( COLLIDER_TYPE.FLOOR );
}
step(){
this.stepColliderHelper( COLLIDER_TYPE.FLOOR );
}
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
colliderType |
number |
<optional> |
COLLIDER_TYPE.FLOOR
|
The type of collider. |
stop()
- Description:
Stop the room environment. Ran When leaving the room
- Source:
toCameraPos(positionNameopt)
- Description:
Move the camera to a specific position.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
positionName |
string | null |
<optional> |
null
|
The name of the position. |