API Reference

Class List

pc.Entity

Extends: pc.GraphNode

The Entity is the core primitive of a PlayCanvas game. Generally speaking an object in your game will consist of an pc.Entity, and a set of pc.Components which are managed by their respective pc.ComponentSystems. One of those components maybe a pc.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 pc.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 pc.Application.

var app = ... // Get the pc.Application

var 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 it's position directly
var p = entity.getPosition();
entity.setPosition(p.x + 10, p.y, p.z);

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

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

Summary

Properties

animationGets the pc.AnimationComponent attached to this entity.
audiolistenerGets the pc.AudioSourceComponent attached to this entity.
buttonGets the pc.ButtonComponent attached to this entity.
cameraGets the pc.CameraComponent attached to this entity.
collisionGets the pc.CollisionComponent attached to this entity.
elementGets the pc.ElementComponent attached to this entity.
layoutchildGets the pc.LayoutChildComponent attached to this entity.
layoutgroupGets the pc.LayoutGroupComponent attached to this entity.
lightGets the pc.LightComponent attached to this entity.
modelGets the pc.ModelComponent attached to this entity.
particlesystemGets the pc.ParticleSystemComponent attached to this entity.
rigidbodyGets the pc.RigidBodyComponent attached to this entity.
screenGets the pc.ScreenComponent attached to this entity.
scriptGets the pc.ScriptComponent attached to this entity.
scrollviewGets the pc.ScrollViewComponent attached to this entity.
soundGets the pc.SoundComponent attached to this entity.
spriteGets the pc.SpriteComponent attached to this entity.

Methods

addComponentCreate a new component and add it to the entity.
cloneCreate a deep copy of the Entity.
destroyRemove all components from the Entity and detach it from the Entity hierarchy.
findByGuidFind a descendant of this Entity with the GUID
findComponentSearch the entity and all of its descendants for the first component of specified type.
findComponentsSearch the entity and all of its descendants for all components of specified type.
removeComponentRemove a component from the Entity.

Events

destroyFired after the entity is destroyed.

Inherited

Properties

nameThe non-unique name of a graph node.
tagsInterface for tagging graph nodes.
rightThe normalized local space X-axis vector of the graph node in world space.[read only]
upThe normalized local space Y-axis vector of the graph node in world space.[read only]
forwardThe normalized local space negative Z-axis vector of the graph node in world space.[read only]
enabledEnable or disable a GraphNode.
parentA read-only property to get a parent graph node[read only]
pathA read-only property to get the path of the graph node relative to the root of the hierarchy[read only]
rootA read-only property to get highest graph node from current node[read only]
childrenA read-only property to get the children of this graph node.[read only]
graphDepthA read-only property to get the depth of this child within the graph.[read only]

Methods

addChildAdd a new child to the child list and update the parent value of the child node
findSearch the graph node and all of its descendants for the nodes that satisfy some search criteria.
findByNameGet the first node found in the graph with the name.
findByPathGet the first node found in the graph by its full path in the graph.
findByTagReturn all graph nodes that satisfy the search query.
findOneSearch the graph node and all of its descendants for the first node that satisfies some search criteria.
fireFire an event, all additional arguments are passed on to the event listener
forEachExecutes a provided function once on this graph node and all of its descendants.
getEulerAnglesGet the world space rotation for the specified GraphNode in Euler angle form.
getLocalEulerAnglesGet the rotation in local space for the specified GraphNode.
getLocalPositionGet the position in local space for the specified GraphNode.
getLocalRotationGet the rotation in local space for the specified GraphNode.
getLocalScaleGet the scale in local space for the specified GraphNode.
getLocalTransformGet the local transform matrix for this graph node.
getPositionGet the world space position for the specified GraphNode.
getRotationGet the world space rotation for the specified GraphNode in quaternion form.
getWorldTransformGet the world transformation matrix for this graph node.
hasEventTest if there are any handlers bound to an event name
insertChildInsert a new child to the child list at the specified index and update the parent value of the child node
isAncestorOfCheck if node is ancestor for another node.
isDescendantOfCheck if node is descendant of another node.
lookAtReorients the graph node so that the negative z-axis points towards the target.
offDetach an event handler from an event.
onAttach an event handler to an event
onceAttach an event handler to an event.
removeChildRemove the node from the child list and update the parent value of the child.
reparentRemove graph node from current parent and add as child to new parent
rotateRotates the graph node in world-space by the specified Euler angles.
rotateLocalRotates the graph node in local-space by the specified Euler angles.
setEulerAnglesSets the world-space rotation of the specified graph node using euler angles.
setLocalEulerAnglesSets the local-space rotation of the specified graph node using euler angles.
setLocalPositionSets the local-space position of the specified graph node.
setLocalRotationSets the local-space rotation of the specified graph node.
setLocalScaleSets the local-space scale factor of the specified graph node.
setPositionSets the world-space position of the specified graph node.
setRotationSets the world-space rotation of the specified graph node.
translateTranslates the graph node in world-space by the specified translation vector.
translateLocalTranslates the graph node in local-space by the specified translation vector.

Details

Constructor

Entity([name], [app])

var app = ... // Get the pc.Application

var 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 it's position directly
var p = entity.getPosition();
entity.setPosition(p.x + 10, p.y, p.z);

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

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

Parameters

nameStringThe non-unique name of the entity, default is "Untitled".
apppc.ApplicationThe application the entity belongs to, default is the current application.

Properties

pc.AnimationComponentanimation

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

pc.AudioListenerComponentaudiolistener

Gets the pc.AudioSourceComponent attached to this entity. [read only]

pc.ButtonComponentbutton

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

pc.CameraComponentcamera

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

pc.CollisionComponentcollision

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

pc.ElementComponentelement

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

pc.LayoutChildComponentlayoutchild

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

pc.LayoutGroupComponentlayoutgroup

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

pc.LightComponentlight

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

pc.ModelComponentmodel

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

pc.ParticleSystemComponentparticlesystem

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

pc.RigidBodyComponentrigidbody

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

pc.ScreenComponentscreen

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

pc.ScriptComponentscript

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

pc.ScrollViewComponentscrollview

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

pc.SoundComponentsound

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

pc.SpriteComponentsprite

Gets the pc.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.

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

Parameters

typeStringThe name of the component to add. Valid strings are:
dataObjectThe 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

pc.Component 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.

var e = this.entity.clone(); // Clone Entity
  this.entity.parent.addChild(e); // Add it as a sibling to the original

Returns

pc.Entity 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

var 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

guidStringThe GUID to search for.

Returns

pc.Entity The Entity with the GUID or null

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
var light = entity.findComponent("light");

Parameters

typeStringThe name of the component type to retrieve.

Returns

pc.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
var lights = entity.findComponents("light");

Parameters

typeStringThe name of the component type to retrieve.

Returns

pc.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.

var entity = new pc.Entity();
entity.addComponent("light"); // add new light component
//...
entity.removeComponent("light"); // remove light component

Parameters

typeStringThe 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

entitypc.EntityThe entity that was destroyed.

Inherited

Properties

Stringname

The non-unique name of a graph node.

pc.Tagstags

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

pc.Vec3up

The normalized local space Y-axis vector of the graph node in world space.[read only]

pc.Vec3forward

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

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 / deactivate all the enabled children of the GraphNode.

pc.GraphNodeparent

A read-only property to get a parent graph node[read only]

pc.GraphNodepath

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

pc.GraphNoderoot

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

pc.GraphNode[]children

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

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.[read only]

Methods

addChild(node)

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

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

Parameters

nodepc.GraphNodeThe 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
var 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'
var entities = parent.find('name', 'Test');

Parameters

attrpc.callbacks.FindNode, StringThis 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.
valueObjectIf the first argument (attr) is a property name then this value will be checked against the value of the property.

Returns

pc.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

nameStringThe name of the graph.

Returns

pc.GraphNode The first node to be found matching the supplied name.

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.

var path = this.entity.findByPath('child/another_child');

Parameters

pathStringThe full path of the pc.GraphNode.

Returns

pc.GraphNode The first node to be found matching the supplied path.

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`
var animals = node.findByTag("animal");
// Return all graph nodes that tagged by `bird` OR `mammal`
var birdsAndMammals = node.findByTag("bird", "mammal");
// Return all assets that tagged by `carnivore` AND `mammal`
var meatEatingMammals = node.findByTag([ "carnivore", "mammal" ]);
// Return all assets that tagged by (`carnivore` AND `mammal`) OR (`carnivore` AND `reptile`)
var meatEatingMammalsAndReptiles = node.findByTag([ "carnivore", "mammal" ], [ "carnivore", "reptile" ]);

Parameters

queryStringName of a tag or array of tags

Returns

pc.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
var head = player.findOne(function(node) {
    return node.model && node.name === 'head';
});
// Finds the first node that has the name property set to 'Test'
var node = parent.findOne('name', 'Test');

Parameters

attrpc.callbacks.FindNode, StringThis 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.
valueObjectIf the first argument (attr) is a property name then this value will be checked against the value of the property.

Returns

pc.GraphNode A graph node that match the search criteria.

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

nameObjectName 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

pc.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

callbackpc.callbacks.ForEachThe function to execute on the graph node and each descendant.
thisArgObjectOptional value to use as this when executing callback function.

getEulerAngles()

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

var angles = this.entity.getEulerAngles(); // [0,0,0]
angles[1] = 180; // rotate the entity around Y by 180 degrees
this.entity.setEulerAngles(angles);

Returns

pc.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 3-dimensional vector where the order is XYZ. The returned vector should be considered read-only. To update the local rotation, use pc.GraphNode#setLocalEulerAngles.

var angles = this.entity.getLocalEulerAngles();
angles[1] = 180;
this.entity.setLocalEulerAngles(angles);

Returns

pc.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 3-dimensional vector. The returned vector should be considered read-only. To update the local position, use pc.GraphNode#setLocalPosition.

var position = this.entity.getLocalPosition();
position[0] += 1; // move the entity 1 unit along x.
this.entity.setLocalPosition(position);

Returns

pc.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 quaternion. The returned quaternion should be considered read-only. To update the local rotation, use pc.GraphNode#setLocalRotation.

var rotation = this.entity.getLocalRotation();

Returns

pc.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 3-dimensional vector. The returned vector should be considered read-only. To update the local scale, use pc.GraphNode#setLocalScale.

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

Returns

pc.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.

var transform = this.entity.getLocalTransform();

Returns

pc.Mat4 The node's local transformation matrix.

getPosition()

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

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

Returns

pc.Vec3 The world space position of the graph node.

getRotation()

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

var rotation = this.entity.getRotation();

Returns

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

getWorldTransform()

Get the world transformation matrix for this graph node.

var transform = this.entity.getWorldTransform();

Returns

pc.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

nameStringThe 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

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

Parameters

nodepc.GraphNodeThe new child to insert
indexNumberThe 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

nodepc.GraphNodePotential 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

nodepc.GraphNodePotential 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
var position = otherEntity.getPosition();
this.entity.lookAt(position);
// Look at another entity, using the negative world y-axis for up
var 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

xpc.Vec3, NumberIf 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.
ypc.Vec3, NumberIf 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.
zNumberz-component of the world-space coordinate to look at.
uxNumberx-component of the up vector for the look at transform.
uyNumbery-component of the up vector for the look at transform.
uzNumberz-component of the up vector for the look at transform.

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.

var 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 hander functions, called 'test' with scope this

Parameters

nameStringName of the event to unbind
callbackpc.callbacks.HandleEventFunction to be unbound.
scopeObjectScope that was used as the this when the event is fired

Returns

pc.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

Parameters

nameStringName of the event to bind the callback to
callbackpc.callbacks.HandleEventFunction that is called when event is fired. Note the callback is limited to 8 arguments.
scopeObjectObject to use as 'this' when the event is fired, defaults to current this

Returns

pc.EventHandler Self for chaining.

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

nameStringName of the event to bind the callback to
callbackpc.callbacks.HandleEventFunction that is called when event is fired. Note the callback is limited to 8 arguments.
scopeObjectObject to use as 'this' when the event is fired, defaults to current this

Returns

pc.EventHandler Self for chaining.

removeChild(child)

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

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

Parameters

childpc.GraphNodeThe node to remove.

reparent(parent, [index])

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

Parameters

parentpc.GraphNodeNew parent to attach graph node to
indexNumberThe 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
var r = new pc.Vec3(0, 90, 0);
this.entity.rotate(r);

Parameters

xpc.Vec3, Number3-dimensional vector holding world-space rotation or rotation around world-space x-axis in degrees.
yNumberRotation around world-space y-axis in degrees.
zNumberRotation 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
var r = new pc.Vec3(0, 90, 0);
this.entity.rotateLocal(r);

Parameters

xpc.Vec3, Number3-dimensional vector holding local-space rotation or rotation around local-space x-axis in degrees.
yNumberRotation around local-space y-axis in degrees.
zNumberRotation 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
var angles = new pc.Vec3(0, 90, 0);
this.entity.setEulerAngles(angles);

Parameters

xpc.Vec3, Number3-dimensional vector holding eulers or rotation around world-space x-axis in degrees.
yNumberrotation around world-space y-axis in degrees.
zNumberrotation 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
var angles = new pc.Vec3(0, 90, 0);
this.entity.setLocalEulerAngles(angles);

Parameters

xpc.Vec3, Number3-dimensional vector holding eulers or rotation around local-space x-axis in degrees.
yNumberrotation around local-space y-axis in degrees.
zNumberrotation 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
var pos = new pc.Vec3(0, 10, 0);
this.entity.setLocalPosition(pos)

Parameters

xpc.Vec3, Number3-dimensional vector holding local-space position or x-coordinate of local-space position.
yNumbery-coordinate of local-space position.
zNumberz-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
var q = pc.Quat();
this.entity.setLocalRotation(q);

Parameters

xpc.Quat, Numberquaternion holding local-space rotation or x-component of local-space quaternion rotation.
yNumbery-component of local-space quaternion rotation.
zNumberz-component of local-space quaternion rotation.
wNumberw-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
var scale = new pc.Vec3(10, 10, 10);
this.entity.setLocalScale(scale);

Parameters

xpc.Vec3, Number3-dimensional vector holding local-space scale or x-coordinate of local-space scale.
yNumbery-coordinate of local-space scale.
zNumberz-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
var position = new pc.Vec3(0, 10, 0);
this.entity.setPosition(position);

Parameters

xpc.Vec3, Number3-dimensional vector holding world-space position or x-coordinate of world-space position.
yNumbery-coordinate of world-space position.
zNumberz-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
var q = pc.Quat();
this.entity.setRotation(q);

Parameters

xpc.Quat, Numberquaternion holding world-space rotation or x-component of world-space quaternion rotation.
yNumbery-component of world-space quaternion rotation.
zNumberz-component of world-space quaternion rotation.
wNumberw-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
var t = new pc.Vec3(10, 0, 0);
this.entity.translate(t);

Parameters

xpc.Vec3, Number3-dimensional vector holding world-space translation or x-coordinate of world-space translation.
yNumbery-coordinate of world-space translation.
zNumberz-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
var t = new pc.Vec3(10, 0, 0);
this.entity.translateLocal(t);

Parameters

xpc.Vec3, Number3-dimensional vector holding local-space translation or x-coordinate of local-space translation.
yNumbery-coordinate of local-space translation.
zNumberz-coordinate of local-space translation.