Create a new ModelComponent instance.
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 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 dictionary that holds material overrides for each mesh instance.
Sets the dictionary that holds material overrides for each mesh instance. Only applies to model components of type 'asset'. The mapping contains pairs of mesh instance index to material asset id.
Gets the material Asset that will be used to render the component.
Sets the material Asset that will be used to render the component. The material is ignored for renders of type 'asset'.
Gets the array of mesh instances contained in the component's model.
Sets the array of mesh instances contained in the component's model.
Gets whether shadows will be cast on attached meshes.
Sets whether shadows will be cast on attached meshes.
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 model without removing it from the scene hierarchy. This method sets the MeshInstance#visible property of every MeshInstance in the model to false Note, this does not remove the model or mesh instances from the scene hierarchy or draw call list. So the model 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 model if hidden using ModelComponent#hide. This method sets all the MeshInstance#visible property on all mesh instances to true.
Enables an Entity to render a model or a primitive shape. This Component attaches additional model geometry in to the scene graph below the Entity.