Create a new RenderComponent.
The ComponentSystem that created this Component.
The Entity that this Component is attached to.
Private
_assetPrivate
_batchPrivate
_castPrivate
_castPrivate
_customPrivate
_layersPrivate
_lightmapPrivate
_lightmappedPrivate
_materialMaterial used to render meshes other than asset type. It gets priority when set to something else than defaultMaterial, otherwise materialASsets[0] is used.
Private
_materialPrivate
_meshPrivate
_receivePrivate
_renderPrivate
_rootPrivate
_typeThe Entity that this Component is attached to.
Mark meshes as non-movable (optimization).
The ComponentSystem used to create this Component.
The render asset for the render component (only applies to type 'asset') - can also be an asset id.
Assign meshes to a specific batch group (see BatchGroup). Default is -1 (no group).
If true, attached meshes will cast shadows for lights that have shadow casting enabled.
If true, the meshes will cast shadows when rendering lightmaps.
If set, the object space bounding box is used as a bounding box for visibility culling of attached mesh instances. This is an optimization, allowing oversized bounding box to be specified for skinned characters in order to avoid per frame bounding box computations based on bone positions.
Enables or disables the component.
An array of layer IDs (Layer#id) to which the meshes should belong. Don't push, pop, splice or modify this array, if you want to change it - set a new one instead.
Lightmap resolution multiplier.
If true, the meshes will be lightmapped after using lightmapper.bake().
The material assets that will be used to render the meshes. Each material corresponds to the respective mesh instance.
An array of meshInstances contained in the component. If meshes are not set or loaded for component it will return null.
If true, shadows will be cast on attached meshes.
Set rendering of all MeshInstances to the specified render style. Can be:
Defaults to RENDERSTYLE_SOLID.
The type of the render. Can be one of the following:
Private
_onPrivate
_onPrivate
The entity set as the root bone.
Private
addPrivate
destroyFire an event, all additional arguments are passed on to the event listener.
Name of event to fire.
Optional
arg1: anyFirst argument that is passed to the event handler.
Optional
arg2: anySecond argument that is passed to the event handler.
Optional
arg3: anyThird argument that is passed to the event handler.
Optional
arg4: anyFourth argument that is passed to the event handler.
Optional
arg5: anyFifth argument that is passed to the event handler.
Optional
arg6: anySixth argument that is passed to the event handler.
Optional
arg7: anySeventh argument that is passed to the event handler.
Optional
arg8: anyEighth argument that is passed to the event handler.
Self for chaining.
obj.fire('test', 'This is the message');
Test if there are any handlers bound to an event name.
The name of the event to test.
True if the object has handlers bound to the specified event name.
obj.on('test', function () { }); // bind an event to 'test'
obj.hasEvent('test'); // returns true
obj.hasEvent('hello'); // returns false
Stop rendering MeshInstances without removing them from the scene hierarchy. This method sets the MeshInstance#visible property of every MeshInstance to false. Note, this does not remove the mesh instances from the scene hierarchy or draw call list. So the render component still incurs some CPU overhead.
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.
Optional
name: stringName of the event to unbind.
Optional
callback: HandleEventCallbackFunction to be unbound.
Optional
scope: objectScope that was used as the this when the event is fired.
Self for chaining.
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
Attach an event handler to an event.
Name of the event to bind the callback to.
Function that is called when event is fired. Note the callback is limited to 8 arguments.
Optional
scope: object = ...Object to use as 'this' when the event is fired, defaults to current this.
Can be used for removing event in the future.
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();
Private
onPrivate
onAttach an event handler to an event. This handler will be removed after being fired once.
Name of the event to bind the callback to.
Function that is called when event is fired. Note the callback is limited to 8 arguments.
Optional
scope: object = ...Object to use as 'this' when the event is fired, defaults to current this.
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
Enable rendering of the component's MeshInstances if hidden using RenderComponent#hide. This method sets the MeshInstance#visible property on all mesh instances to true.
Enables an Entity to render a Mesh or a primitive shape. This component attaches MeshInstance geometry to the Entity.