API Reference

Class List

Entity

Extends: GraphNode

The Entity is the core primitive of a PlayCanvas game. Generally speaking an object in your game will consist of an Entity, and a set of Components which are managed by their respective ComponentSystems. One of those components maybe a ScriptComponent which allows you to write custom code to attach to your Entity.

The Entity uniquely identifies the object and also provides a transform for position and orientation which it inherits from GraphNode so can be added into the scene graph. The Component and ComponentSystem provide the logic to give an Entity a specific type of behavior. e.g. the ability to render a model or play a sound. Components are specific to an instance of an Entity and are attached (e.g. this.entity.model) ComponentSystems allow access to all Entities and Components and are attached to the AppBase.

const entity = new pc.Entity();

// Add a Component to the Entity
entity.addComponent("camera", {
    fov: 45,
    nearClip: 1,
    farClip: 10000
});

// Add the Entity into the scene graph
app.root.addChild(entity);

// Move the entity
entity.translate(10, 0, 0);

// Or translate it by setting its position directly
const p = entity.getPosition();
entity.setPosition(p.x + 10, p.y, p.z);

// Change the entity's rotation in local space
const e = entity.getLocalEulerAngles();
entity.setLocalEulerAngles(e.x, e.y + 90, e.z);

// Or use rotateLocal
entity.rotateLocal(0, 90, 0);

Summary

Properties

anim

Gets the AnimComponent attached to this entity.[read only]

animation

Gets the AnimationComponent attached to this entity.[read only]

audiolistener

Gets the AudioListenerComponent attached to this entity.[read only]

button

Gets the ButtonComponent attached to this entity.[read only]

camera

Gets the CameraComponent attached to this entity.[read only]

collision

Gets the CollisionComponent attached to this entity.[read only]

element

Gets the ElementComponent attached to this entity.[read only]

layoutchild

Gets the LayoutChildComponent attached to this entity.[read only]

layoutgroup

Gets the LayoutGroupComponent attached to this entity.[read only]

light

Gets the LightComponent attached to this entity.[read only]

model

Gets the ModelComponent attached to this entity.[read only]

particlesystem

Gets the ParticleSystemComponent attached to this entity.[read only]

render

Gets the RenderComponent attached to this entity.[read only]

rigidbody

Gets the RigidBodyComponent attached to this entity.[read only]

screen

Gets the ScreenComponent attached to this entity.[read only]

script

Gets the ScriptComponent attached to this entity.[read only]

scrollbar

Gets the ScrollbarComponent attached to this entity.[read only]

scrollview

Gets the ScrollViewComponent attached to this entity.[read only]

sound

Gets the SoundComponent attached to this entity.[read only]

sprite

Gets the SpriteComponent attached to this entity.[read only]

Methods

addComponent

Create a new component and add it to the entity.

clone

Create a deep copy of the Entity.

destroy

Remove all components from the Entity and detach it from the Entity hierarchy.

findByGuid

Find a descendant of this entity with the GUID.

findComponent

Search the entity and all of its descendants for the first component of specified type.

findComponents

Search the entity and all of its descendants for all components of specified type.

removeComponent

Remove a component from the Entity.

Events

destroy

Fired after the entity is destroyed.

Inherited

Properties

children

A read-only property to get the children of this graph node.

enabled

Enable or disable a GraphNode.

forward

The normalized local space negative Z-axis vector of the graph node in world space.

graphDepth

A read-only property to get the depth of this child within the graph.

name

The non-unique name of a graph node.

parent

A read-only property to get a parent graph node.

path

A read-only property to get the path of the graph node relative to the root of the hierarchy.

right

The normalized local space X-axis vector of the graph node in world space.

root

A read-only property to get highest graph node from current node.

tags

Interface for tagging graph nodes.

up

The normalized local space Y-axis vector of the graph node in world space.

Methods

addChild

Add a new child to the child list and update the parent value of the child node.

find

Search the graph node and all of its descendants for the nodes that satisfy some search criteria.

findByName

Get the first node found in the graph with the name.

findByPath

Get the first node found in the graph by its full path in the graph.

findByTag

Return all graph nodes that satisfy the search query.

findOne

Search the graph node and all of its descendants for the first node that satisfies some search criteria.

fire

Fire an event, all additional arguments are passed on to the event listener.

forEach

Executes a provided function once on this graph node and all of its descendants.

getEulerAngles

Get the world space rotation for the specified GraphNode in Euler angle form.

getLocalEulerAngles

Get the rotation in local space for the specified GraphNode.

getLocalPosition

Get the position in local space for the specified GraphNode.

getLocalRotation

Get the rotation in local space for the specified GraphNode.

getLocalScale

Get the scale in local space for the specified GraphNode.

getLocalTransform

Get the local transform matrix for this graph node.

getPosition

Get the world space position for the specified GraphNode.

getRotation

Get the world space rotation for the specified GraphNode.

getWorldTransform

Get the world transformation matrix for this graph node.

hasEvent

Test if there are any handlers bound to an event name.

insertChild

Insert a new child to the child list at the specified index and update the parent value of the child node.

isAncestorOf

Check if node is ancestor for another node.

isDescendantOf

Check if node is descendant of another node.

lookAt

Reorients the graph node so that the negative z-axis points towards the target.

off

Detach an event handler from an event.

on

Attach an event handler to an event.

once

Attach an event handler to an event.

remove

Remove graph node from current parent.

removeChild

Remove the node from the child list and update the parent value of the child.

reparent

Remove graph node from current parent and add as child to new parent.

rotate

Rotates the graph node in world-space by the specified Euler angles.

rotateLocal

Rotates the graph node in local-space by the specified Euler angles.

setEulerAngles

Sets the world-space rotation of the specified graph node using euler angles.

setLocalEulerAngles

Sets the local-space rotation of the specified graph node using euler angles.

setLocalPosition

Sets the local-space position of the specified graph node.

setLocalRotation

Sets the local-space rotation of the specified graph node.

setLocalScale

Sets the local-space scale factor of the specified graph node.

setPosition

Sets the world-space position of the specified graph node.

setRotation

Sets the world-space rotation of the specified graph node.

translate

Translates the graph node in world-space by the specified translation vector.

translateLocal

Translates the graph node in local-space by the specified translation vector.

Details

Constructor

Entity([name], [app])

Create a new Entity.

const entity = new pc.Entity();

// Add a Component to the Entity
entity.addComponent("camera", {
    fov: 45,
    nearClip: 1,
    farClip: 10000
});

// Add the Entity into the scene graph
app.root.addChild(entity);

// Move the entity
entity.translate(10, 0, 0);

// Or translate it by setting its position directly
const p = entity.getPosition();
entity.setPosition(p.x + 10, p.y, p.z);

// Change the entity's rotation in local space
const e = entity.getLocalEulerAngles();
entity.setLocalEulerAngles(e.x, e.y + 90, e.z);

// Or use rotateLocal
entity.rotateLocal(0, 90, 0);

Parameters

namestring

The non-unique name of the entity, default is "Untitled".

appAppBase

The application the entity belongs to, default is the current application.

Properties

AnimComponent, undefinedanim

Gets the AnimComponent attached to this entity.

[read only]

AnimationComponent, undefinedanimation

Gets the AnimationComponent attached to this entity.

[read only]

AudioListenerComponent, undefinedaudiolistener

Gets the AudioListenerComponent attached to this entity.

[read only]

ButtonComponent, undefinedbutton

Gets the ButtonComponent attached to this entity.

[read only]

CameraComponent, undefinedcamera

Gets the CameraComponent attached to this entity.

[read only]

CollisionComponent, undefinedcollision

Gets the CollisionComponent attached to this entity.

[read only]

ElementComponent, undefinedelement

Gets the ElementComponent attached to this entity.

[read only]

LayoutChildComponent, undefinedlayoutchild

Gets the LayoutChildComponent attached to this entity.

[read only]

LayoutGroupComponent, undefinedlayoutgroup

Gets the LayoutGroupComponent attached to this entity.

[read only]

LightComponent, undefinedlight

Gets the LightComponent attached to this entity.

[read only]

ModelComponent, undefinedmodel

Gets the ModelComponent attached to this entity.

[read only]

ParticleSystemComponent, undefinedparticlesystem

Gets the ParticleSystemComponent attached to this entity.

[read only]

RenderComponent, undefinedrender

Gets the RenderComponent attached to this entity.

[read only]

RigidBodyComponent, undefinedrigidbody

Gets the RigidBodyComponent attached to this entity.

[read only]

ScreenComponent, undefinedscreen

Gets the ScreenComponent attached to this entity.

[read only]

ScriptComponent, undefinedscript

Gets the ScriptComponent attached to this entity.

[read only]

ScrollbarComponent, undefinedscrollbar

Gets the ScrollbarComponent attached to this entity.

[read only]

ScrollViewComponent, undefinedscrollview

Gets the ScrollViewComponent attached to this entity.

[read only]

SoundComponent, undefinedsound

Gets the SoundComponent attached to this entity.

[read only]

SpriteComponent, undefinedsprite

Gets the SpriteComponent attached to this entity.

[read only]

Methods

addComponent(type, [data])

Create a new component and add it to the entity. Use this to add functionality to the entity like rendering a model, playing sounds and so on.

const entity = new pc.Entity();

// Add a light component with default properties
entity.addComponent("light");

// Add a camera component with some specified properties
entity.addComponent("camera", {
    fov: 45,
    clearColor: new pc.Color(1, 0, 0)
});

Parameters

typestring

The name of the component to add. Valid strings are:

dataobject

The initialization data for the specific component type. Refer to each specific component's API reference page for details on valid values for this parameter.

Returns

Component, null

The new Component that was attached to the entity or null if there was an error.

clone()

Create a deep copy of the Entity. Duplicate the full Entity hierarchy, with all Components and all descendants. Note, this Entity is not in the hierarchy and must be added manually.

const e = this.entity.clone();

// Add clone as a sibling to the original
this.entity.parent.addChild(e);

Returns

this

A new Entity which is a deep copy of the original.

destroy()

Remove all components from the Entity and detach it from the Entity hierarchy. Then recursively destroy all ancestor Entities.

const firstChild = this.entity.children[0];
firstChild.destroy(); // delete child, all components and remove from hierarchy

findByGuid(guid)

Find a descendant of this entity with the GUID.

Parameters

guidstring

The GUID to search for.

Returns

Entity, null

The entity with the matching GUID or null if no entity is found.

findComponent(type)

Search the entity and all of its descendants for the first component of specified type.

// Get the first found light component in the hierarchy tree that starts with this entity
const light = entity.findComponent("light");

Parameters

typestring

The name of the component type to retrieve.

Returns

Component

A component of specified type, if the entity or any of its descendants has one. Returns undefined otherwise.

findComponents(type)

Search the entity and all of its descendants for all components of specified type.

// Get all light components in the hierarchy tree that starts with this entity
const lights = entity.findComponents("light");

Parameters

typestring

The name of the component type to retrieve.

Returns

Component[]

All components of specified type in the entity or any of its descendants. Returns empty array if none found.

removeComponent(type)

Remove a component from the Entity.

const entity = new pc.Entity();
entity.addComponent("light"); // add new light component

entity.removeComponent("light"); // remove light component

Parameters

typestring

The name of the Component type.

Events

destroy

Fired after the entity is destroyed.

entity.on("destroy", function (e) {
    console.log('entity ' + e.name + ' has been destroyed');
});

Parameters

entityEntity

The entity that was destroyed.

Inherited

Properties

GraphNode[]children

A read-only property to get the children of this graph node.

booleanenabled

Enable or disable a GraphNode. If one of the GraphNode's parents is disabled there will be no other side effects. If all the parents are enabled then the new value will activate or deactivate all the enabled children of the GraphNode.

Vec3forward

The normalized local space negative Z-axis vector of the graph node in world space.

numbergraphDepth

A read-only property to get the depth of this child within the graph. Note that for performance reasons this is only recalculated when a node is added to a new parent, i.e. It is not recalculated when a node is simply removed from the graph.

stringname

The non-unique name of a graph node. Defaults to 'Untitled'.

GraphNode, nullparent

A read-only property to get a parent graph node.

stringpath

A read-only property to get the path of the graph node relative to the root of the hierarchy.

GraphNoderoot

A read-only property to get highest graph node from current node.

Tagstags

Interface for tagging graph nodes. Tag based searches can be performed using the GraphNode#findByTag function.

Vec3up

The normalized local space Y-axis vector of the graph node in world space.

Methods

addChild(node)

Add a new child to the child list and update the parent value of the child node. If the node already had a parent, it is removed from its child list.

const e = new pc.Entity(app);
this.entity.addChild(e);

Parameters

nodeGraphNode

The new child to add.

find(attr, [value])

Search the graph node and all of its descendants for the nodes that satisfy some search criteria.

// Finds all nodes that have a model component and have 'door' in their lower-cased name
const doors = house.find(function (node) {
    return node.model && node.name.toLowerCase().indexOf('door') !== -1;
});
// Finds all nodes that have the name property set to 'Test'
const entities = parent.find('name', 'Test');

Parameters

attrFindNodeCallback, string

This can either be a function or a string. If it's a function, it is executed for each descendant node to test if node satisfies the search logic. Returning true from the function will include the node into the results. If it's a string then it represents the name of a field or a method of the node. If this is the name of a field then the value passed as the second argument will be checked for equality. If this is the name of a function then the return value of the function will be checked for equality against the valued passed as the second argument to this function.

valueobject

If the first argument (attr) is a property name then this value will be checked against the value of the property.

Returns

GraphNode[]

The array of graph nodes that match the search criteria.

findByName(name)

Get the first node found in the graph with the name. The search is depth first.

Parameters

namestring

The name of the graph.

Returns

GraphNode, null

The first node to be found matching the supplied name. Returns null if no node is found.

findByPath(path)

Get the first node found in the graph by its full path in the graph. The full path has this form 'parent/child/sub-child'. The search is depth first.

// String form
const grandchild = this.entity.findByPath('child/grandchild');
// Array form
const grandchild = this.entity.findByPath(['child', 'grandchild']);

Parameters

pathstring, string[]

The full path of the GraphNode as either a string or array of GraphNode names.

Returns

GraphNode, null

The first node to be found matching the supplied path. Returns null if no node is found.

findByTag(query)

Return all graph nodes that satisfy the search query. Query can be simply a string, or comma separated strings, to have inclusive results of assets that match at least one query. A query that consists of an array of tags can be used to match graph nodes that have each tag of array.

// Return all graph nodes that tagged by `animal`
const animals = node.findByTag("animal");
// Return all graph nodes that tagged by `bird` OR `mammal`
const birdsAndMammals = node.findByTag("bird", "mammal");
// Return all assets that tagged by `carnivore` AND `mammal`
const meatEatingMammals = node.findByTag(["carnivore", "mammal"]);
// Return all assets that tagged by (`carnivore` AND `mammal`) OR (`carnivore` AND `reptile`)
const meatEatingMammalsAndReptiles = node.findByTag(["carnivore", "mammal"], ["carnivore", "reptile"]);

Parameters

query*

Name of a tag or array of tags.

Returns

GraphNode[]

A list of all graph nodes that match the query.

findOne(attr, [value])

Search the graph node and all of its descendants for the first node that satisfies some search criteria.

// Find the first node that is called 'head' and has a model component
const head = player.findOne(function (node) {
    return node.model && node.name === 'head';
});
// Finds the first node that has the name property set to 'Test'
const node = parent.findOne('name', 'Test');

Parameters

attrFindNodeCallback, string

This can either be a function or a string. If it's a function, it is executed for each descendant node to test if node satisfies the search logic. Returning true from the function will result in that node being returned from findOne. If it's a string then it represents the name of a field or a method of the node. If this is the name of a field then the value passed as the second argument will be checked for equality. If this is the name of a function then the return value of the function will be checked for equality against the valued passed as the second argument to this function.

valueobject

If the first argument (attr) is a property name then this value will be checked against the value of the property.

Returns

GraphNode, null

A graph node that match the search criteria. Returns null if no node is found.

fire(name, [arg1], [arg2], [arg3], [arg4], [arg5], [arg6], [arg7], [arg8])

Fire an event, all additional arguments are passed on to the event listener.

obj.fire('test', 'This is the message');

Parameters

namestring

Name of event to fire.

arg1*

First argument that is passed to the event handler.

arg2*

Second argument that is passed to the event handler.

arg3*

Third argument that is passed to the event handler.

arg4*

Fourth argument that is passed to the event handler.

arg5*

Fifth argument that is passed to the event handler.

arg6*

Sixth argument that is passed to the event handler.

arg7*

Seventh argument that is passed to the event handler.

arg8*

Eighth argument that is passed to the event handler.

Returns

EventHandler

Self for chaining.

forEach(callback, [thisArg])

Executes a provided function once on this graph node and all of its descendants.

// Log the path and name of each node in descendant tree starting with "parent"
parent.forEach(function (node) {
    console.log(node.path + "/" + node.name);
});

Parameters

callbackForEachNodeCallback

The function to execute on the graph node and each descendant.

thisArgobject

Optional value to use as this when executing callback function.

getEulerAngles()

Get the world space rotation for the specified GraphNode in Euler angle form. The rotation is returned as euler angles in a Vec3. The value returned by this function should be considered read-only. In order to set the world-space rotation of the graph node, use GraphNode#setEulerAngles.

const angles = this.entity.getEulerAngles();
angles.y = 180; // rotate the entity around Y by 180 degrees
this.entity.setEulerAngles(angles);

Returns

Vec3

The world space rotation of the graph node in Euler angle form.

getLocalEulerAngles()

Get the rotation in local space for the specified GraphNode. The rotation is returned as euler angles in a Vec3. The returned vector should be considered read-only. To update the local rotation, use GraphNode#setLocalEulerAngles.

const angles = this.entity.getLocalEulerAngles();
angles.y = 180;
this.entity.setLocalEulerAngles(angles);

Returns

Vec3

The local space rotation of the graph node as euler angles in XYZ order.

getLocalPosition()

Get the position in local space for the specified GraphNode. The position is returned as a Vec3. The returned vector should be considered read-only. To update the local position, use GraphNode#setLocalPosition.

const position = this.entity.getLocalPosition();
position.x += 1; // move the entity 1 unit along x.
this.entity.setLocalPosition(position);

Returns

Vec3

The local space position of the graph node.

getLocalRotation()

Get the rotation in local space for the specified GraphNode. The rotation is returned as a Quat. The returned quaternion should be considered read-only. To update the local rotation, use GraphNode#setLocalRotation.

const rotation = this.entity.getLocalRotation();

Returns

Quat

The local space rotation of the graph node as a quaternion.

getLocalScale()

Get the scale in local space for the specified GraphNode. The scale is returned as a Vec3. The returned vector should be considered read-only. To update the local scale, use GraphNode#setLocalScale.

const scale = this.entity.getLocalScale();
scale.x = 100;
this.entity.setLocalScale(scale);

Returns

Vec3

The local space scale of the graph node.

getLocalTransform()

Get the local transform matrix for this graph node. This matrix is the transform relative to the node's parent's world transformation matrix.

const transform = this.entity.getLocalTransform();

Returns

Mat4

The node's local transformation matrix.

getPosition()

Get the world space position for the specified GraphNode. The position is returned as a Vec3. The value returned by this function should be considered read-only. In order to set the world-space position of the graph node, use GraphNode#setPosition.

const position = this.entity.getPosition();
position.x = 10;
this.entity.setPosition(position);

Returns

Vec3

The world space position of the graph node.

getRotation()

Get the world space rotation for the specified GraphNode. The rotation is returned as a Quat. The value returned by this function should be considered read-only. In order to set the world-space rotation of the graph node, use GraphNode#setRotation.

const rotation = this.entity.getRotation();

Returns

Quat

The world space rotation of the graph node as a quaternion.

getWorldTransform()

Get the world transformation matrix for this graph node.

const transform = this.entity.getWorldTransform();

Returns

Mat4

The node's world transformation matrix.

hasEvent(name)

Test if there are any handlers bound to an event name.

obj.on('test', function () { }); // bind an event to 'test'
obj.hasEvent('test'); // returns true
obj.hasEvent('hello'); // returns false

Parameters

namestring

The name of the event to test.

Returns

boolean

True if the object has handlers bound to the specified event name.

insertChild(node, index)

Insert a new child to the child list at the specified index and update the parent value of the child node. If the node already had a parent, it is removed from its child list.

const e = new pc.Entity(app);
this.entity.insertChild(e, 1);

Parameters

nodeGraphNode

The new child to insert.

indexnumber

The index in the child list of the parent where the new node will be inserted.

isAncestorOf(node)

Check if node is ancestor for another node.

if (body.isAncestorOf(foot)) {
    // foot is within body's hierarchy
}

Parameters

nodeGraphNode

Potential descendant of node.

Returns

boolean

If node is ancestor for another node.

isDescendantOf(node)

Check if node is descendant of another node.

if (roof.isDescendantOf(house)) {
    // roof is descendant of house entity
}

Parameters

nodeGraphNode

Potential ancestor of node.

Returns

boolean

If node is descendant of another node.

lookAt(x, [y], [z], [ux], [uy], [uz])

Reorients the graph node so that the negative z-axis points towards the target. This function has two valid signatures. Either pass 3D vectors for the look at coordinate and up vector, or pass numbers to represent the vectors.

// Look at another entity, using the (default) positive y-axis for up
const position = otherEntity.getPosition();
this.entity.lookAt(position);
// Look at another entity, using the negative world y-axis for up
const position = otherEntity.getPosition();
this.entity.lookAt(position, pc.Vec3.DOWN);
// Look at the world space origin, using the (default) positive y-axis for up
this.entity.lookAt(0, 0, 0);
// Look at world-space coordinate [10, 10, 10], using the negative world y-axis for up
this.entity.lookAt(10, 10, 10, 0, -1, 0);

Parameters

xVec3, number

If passing a 3D vector, this is the world-space coordinate to look at. Otherwise, it is the x-component of the world-space coordinate to look at.

yVec3, number

If passing a 3D vector, this is the world-space up vector for look at transform. Otherwise, it is the y-component of the world-space coordinate to look at.

znumber

Z-component of the world-space coordinate to look at.

uxnumber

X-component of the up vector for the look at transform. Defaults to 0.

uynumber

Y-component of the up vector for the look at transform. Defaults to 1.

uznumber

Z-component of the up vector for the look at transform. Defaults to 0.

off([name], [callback], [scope])

Detach an event handler from an event. If callback is not provided then all callbacks are unbound from the event, if scope is not provided then all events with the callback will be unbound.

const handler = function () {
};
obj.on('test', handler);

obj.off(); // Removes all events
obj.off('test'); // Removes all events called 'test'
obj.off('test', handler); // Removes all handler functions, called 'test'
obj.off('test', handler, this); // Removes all handler functions, called 'test' with scope this

Parameters

namestring

Name of the event to unbind.

callbackHandleEventCallback

Function to be unbound.

scopeobject

Scope that was used as the this when the event is fired.

Returns

EventHandler

Self for chaining.

on(name, callback, [scope])

Attach an event handler to an event.

obj.on('test', function (a, b) {
    console.log(a + b);
});
obj.fire('test', 1, 2); // prints 3 to the console
const evt = obj.on('test', function (a, b) {
    console.log(a + b);
});
// some time later
evt.off();

Parameters

namestring

Name of the event to bind the callback to.

callbackHandleEventCallback

Function that is called when event is fired. Note the callback is limited to 8 arguments.

scopeobject

Object to use as 'this' when the event is fired, defaults to current this.

Returns

EventHandle

Can be used for removing event in the future.

once(name, callback, [scope])

Attach an event handler to an event. This handler will be removed after being fired once.

obj.once('test', function (a, b) {
    console.log(a + b);
});
obj.fire('test', 1, 2); // prints 3 to the console
obj.fire('test', 1, 2); // not going to get handled

Parameters

namestring

Name of the event to bind the callback to.

callbackHandleEventCallback

Function that is called when event is fired. Note the callback is limited to 8 arguments.

scopeobject

Object to use as 'this' when the event is fired, defaults to current this.

Returns

EventHandle
  • can be used for removing event in the future.

remove()

Remove graph node from current parent.

removeChild(child)

Remove the node from the child list and update the parent value of the child.

const child = this.entity.children[0];
this.entity.removeChild(child);

Parameters

childGraphNode

The node to remove.

reparent(parent, [index])

Remove graph node from current parent and add as child to new parent.

Parameters

parentGraphNode

New parent to attach graph node to.

indexnumber

The child index where the child node should be placed.

rotate(x, [y], [z])

Rotates the graph node in world-space by the specified Euler angles. Eulers are specified in degrees in XYZ order. This function has two valid signatures: you can either pass a 3D vector or 3 numbers to specify the world-space rotation.

// Rotate via 3 numbers
this.entity.rotate(0, 90, 0);
// Rotate via vector
const r = new pc.Vec3(0, 90, 0);
this.entity.rotate(r);

Parameters

xVec3, number

3-dimensional vector holding world-space rotation or rotation around world-space x-axis in degrees.

ynumber

Rotation around world-space y-axis in degrees.

znumber

Rotation around world-space z-axis in degrees.

rotateLocal(x, [y], [z])

Rotates the graph node in local-space by the specified Euler angles. Eulers are specified in degrees in XYZ order. This function has two valid signatures: you can either pass a 3D vector or 3 numbers to specify the local-space rotation.

// Rotate via 3 numbers
this.entity.rotateLocal(0, 90, 0);
// Rotate via vector
const r = new pc.Vec3(0, 90, 0);
this.entity.rotateLocal(r);

Parameters

xVec3, number

3-dimensional vector holding local-space rotation or rotation around local-space x-axis in degrees.

ynumber

Rotation around local-space y-axis in degrees.

znumber

Rotation around local-space z-axis in degrees.

setEulerAngles(x, [y], [z])

Sets the world-space rotation of the specified graph node using euler angles. Eulers are interpreted in XYZ order. Eulers must be specified in degrees. This function has two valid signatures: you can either pass a 3D vector or 3 numbers to specify the world-space euler rotation.

// Set rotation of 90 degrees around world-space y-axis via 3 numbers
this.entity.setEulerAngles(0, 90, 0);
// Set rotation of 90 degrees around world-space y-axis via a vector
const angles = new pc.Vec3(0, 90, 0);
this.entity.setEulerAngles(angles);

Parameters

xVec3, number

3-dimensional vector holding eulers or rotation around world-space x-axis in degrees.

ynumber

Rotation around world-space y-axis in degrees.

znumber

Rotation around world-space z-axis in degrees.

setLocalEulerAngles(x, [y], [z])

Sets the local-space rotation of the specified graph node using euler angles. Eulers are interpreted in XYZ order. Eulers must be specified in degrees. This function has two valid signatures: you can either pass a 3D vector or 3 numbers to specify the local-space euler rotation.

// Set rotation of 90 degrees around y-axis via 3 numbers
this.entity.setLocalEulerAngles(0, 90, 0);
// Set rotation of 90 degrees around y-axis via a vector
const angles = new pc.Vec3(0, 90, 0);
this.entity.setLocalEulerAngles(angles);

Parameters

xVec3, number

3-dimensional vector holding eulers or rotation around local-space x-axis in degrees.

ynumber

Rotation around local-space y-axis in degrees.

znumber

Rotation around local-space z-axis in degrees.

setLocalPosition(x, [y], [z])

Sets the local-space position of the specified graph node. This function has two valid signatures: you can either pass a 3D vector or 3 numbers to specify the local-space position.

// Set via 3 numbers
this.entity.setLocalPosition(0, 10, 0);
// Set via vector
const pos = new pc.Vec3(0, 10, 0);
this.entity.setLocalPosition(pos);

Parameters

xVec3, number

3-dimensional vector holding local-space position or x-coordinate of local-space position.

ynumber

Y-coordinate of local-space position.

znumber

Z-coordinate of local-space position.

setLocalRotation(x, [y], [z], [w])

Sets the local-space rotation of the specified graph node. This function has two valid signatures: you can either pass a quaternion or 3 numbers to specify the local-space rotation.

// Set via 4 numbers
this.entity.setLocalRotation(0, 0, 0, 1);
// Set via quaternion
const q = pc.Quat();
this.entity.setLocalRotation(q);

Parameters

xQuat, number

Quaternion holding local-space rotation or x-component of local-space quaternion rotation.

ynumber

Y-component of local-space quaternion rotation.

znumber

Z-component of local-space quaternion rotation.

wnumber

W-component of local-space quaternion rotation.

setLocalScale(x, [y], [z])

Sets the local-space scale factor of the specified graph node. This function has two valid signatures: you can either pass a 3D vector or 3 numbers to specify the local-space scale.

// Set via 3 numbers
this.entity.setLocalScale(10, 10, 10);
// Set via vector
const scale = new pc.Vec3(10, 10, 10);
this.entity.setLocalScale(scale);

Parameters

xVec3, number

3-dimensional vector holding local-space scale or x-coordinate of local-space scale.

ynumber

Y-coordinate of local-space scale.

znumber

Z-coordinate of local-space scale.

setPosition(x, [y], [z])

Sets the world-space position of the specified graph node. This function has two valid signatures: you can either pass a 3D vector or 3 numbers to specify the world-space position.

// Set via 3 numbers
this.entity.setPosition(0, 10, 0);
// Set via vector
const position = new pc.Vec3(0, 10, 0);
this.entity.setPosition(position);

Parameters

xVec3, number

3-dimensional vector holding world-space position or x-coordinate of world-space position.

ynumber

Y-coordinate of world-space position.

znumber

Z-coordinate of world-space position.

setRotation(x, [y], [z], [w])

Sets the world-space rotation of the specified graph node. This function has two valid signatures: you can either pass a quaternion or 3 numbers to specify the world-space rotation.

// Set via 4 numbers
this.entity.setRotation(0, 0, 0, 1);
// Set via quaternion
const q = pc.Quat();
this.entity.setRotation(q);

Parameters

xQuat, number

Quaternion holding world-space rotation or x-component of world-space quaternion rotation.

ynumber

Y-component of world-space quaternion rotation.

znumber

Z-component of world-space quaternion rotation.

wnumber

W-component of world-space quaternion rotation.

translate(x, [y], [z])

Translates the graph node in world-space by the specified translation vector. This function has two valid signatures: you can either pass a 3D vector or 3 numbers to specify the world-space translation.

// Translate via 3 numbers
this.entity.translate(10, 0, 0);
// Translate via vector
const t = new pc.Vec3(10, 0, 0);
this.entity.translate(t);

Parameters

xVec3, number

3-dimensional vector holding world-space translation or x-coordinate of world-space translation.

ynumber

Y-coordinate of world-space translation.

znumber

Z-coordinate of world-space translation.

translateLocal(x, [y], [z])

Translates the graph node in local-space by the specified translation vector. This function has two valid signatures: you can either pass a 3D vector or 3 numbers to specify the local-space translation.

// Translate via 3 numbers
this.entity.translateLocal(10, 0, 0);
// Translate via vector
const t = new pc.Vec3(10, 0, 0);
this.entity.translateLocal(t);

Parameters

xVec3, number

3-dimensional vector holding local-space translation or x-coordinate of local-space translation.

ynumber

Y-coordinate of local-space translation.

znumber

Z-coordinate of local-space translation.