Create a new RenderComponent.
The ComponentSystem that created this Component.
The Entity that this Component is attached to.
The Entity that this Component is attached to.
Mark meshes as non-movable (optimization).
The ComponentSystem used to create this Component.
Gets the render asset id for the render component.
Sets the render asset (or asset id) for the render component. This only applies to render components with type 'asset'.
Gets the batch group for the mesh instances in this component (see BatchGroup).
Sets the batch group for the mesh instances in this component (see BatchGroup). Default is -1 (no group).
Gets whether attached meshes will cast shadows for lights that have shadow casting enabled.
Sets whether attached meshes will cast shadows for lights that have shadow casting enabled.
Gets whether meshes instances will cast shadows when rendering lightmaps.
Sets whether meshes instances will cast shadows when rendering lightmaps.
Gets the custom object space bounding box that is used for visibility culling of attached mesh instances.
Sets the custom object space bounding box that is used for visibility culling of attached mesh instances. This is an optimization, allowing an oversized bounding box to be specified for skinned characters in order to avoid per frame bounding box computations based on bone positions.
Gets the enabled state of the component.
Sets the enabled state of the component.
Gets the array of layer IDs (Layer#id) to which the mesh instances belong.
Sets the array of layer IDs (Layer#id) to which the mesh instances belong. Don't push, pop, splice or modify this array. If you want to change it, set a new one instead.
Gets whether the component is affected by the runtime lightmapper.
Sets whether the component is affected by the runtime lightmapper. If true, the meshes will be lightmapped after using lightmapper.bake().
Gets the lightmap resolution multiplier.
Sets the lightmap resolution multiplier.
Gets the material Material that will be used to render the component.
Sets the material Material that will be used to render the component. The material is ignored for renders of type 'asset'.
Gets the material assets that will be used to render the component.
Sets the material assets that will be used to render the component. Each material corresponds to the respective mesh instance.
Gets the array of meshInstances contained in the component.
Sets the array of meshInstances contained in the component.
Gets whether shadows will be cast on attached meshes.
Sets whether shadows will be cast on attached meshes.
Gets the render style of this component's MeshInstances.
Sets the render style of this component's MeshInstances. Can be:
Defaults to RENDERSTYLE_SOLID.
Gets the type of the component.
Sets the type of the component. Can be one of the following:
Fire 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.
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.
Attach 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.
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.
The RenderComponent enables an Entity to render 3D meshes. The RenderComponent#type property can be set to one of several predefined shape types (such as
box
,sphere
,cone
and so on). Alternatively, the component can be configured to manage an arbitrary array of MeshInstance objects. These can either be created programmatically or loaded from an Asset.You should never need to use the RenderComponent constructor directly. To add a RenderComponent to an Entity, use Entity#addComponent:
To create an entity with a specific primitive shape:
Once the RenderComponent is added to the entity, you can set and get any of its properties:
Relevant examples: