Render
The Render component allows an Entity to display a 3D asset or primitive shape. You can use the type prop to render a primitive shape or pass an asset to the asset prop to render a 3D model.
Usage
Rendering an Asset
To render a 3D model loaded from a URL, you can use the asset type and pass the asset directly to the asset prop.
import { Render } from '@playcanvas/react/components'
import { useModel } from '@playcanvas/react/hooks'
const RenderModel = () => {
const { asset } = useModel('model.glb')
if (!asset) return null
return <Entity>
<Render type="asset" asset={asset} />
</Entity>
}Rendering a primitive shape
This will render a simple box primitive transformed by the parent entity.
import { Render } from '@playcanvas/react/components'
const RenderBox = () => {
return <Entity>
<Render type="box" />
</Entity>
}Props
The following props are based on the Render Component from PlayCanvas version 2.11.8. This documentation is automatically generated from the TypeScript types of the installed PlayCanvas package.
| Name | Type | Default |
|---|---|---|
type | "asset" | "box" | "capsule" | "cone" | "cylinder" | "plane" | "sphere" | "torus"The type of primitive shape to render. | "box" |
asset | AssetThe asset to render. | |
children | React.ReactNode | |
isStatic | booleanMark meshes as non-movable (optimization). | |
renderStyle | numberSets the render style of this component’s MeshInstances. Can be:
Defaults to RENDERSTYLE_SOLID. Gets the render style of this component’s MeshInstances. | |
customAabb | BoundingBox | nullSets 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 custom object space bounding box that is used for visibility culling of attached mesh instances. | |
meshInstances | MeshInstance[]Sets the array of meshInstances contained in the component. Gets the array of meshInstances contained in the component. | |
lightmapped | booleanSets whether the component is affected by the runtime lightmapper. If true, the meshes will be lightmapped after using lightmapper.bake(). Gets whether the component is affected by the runtime lightmapper. | |
castShadows | booleanSets whether attached meshes will cast shadows for lights that have shadow casting enabled. Gets whether attached meshes will cast shadows for lights that have shadow casting enabled. | |
receiveShadows | booleanSets whether shadows will be cast on attached meshes. Gets whether shadows will be cast on attached meshes. | |
castShadowsLightmap | booleanSets whether meshes instances will cast shadows when rendering lightmaps. Gets whether meshes instances will cast shadows when rendering lightmaps. | |
lightmapSizeMultiplier | numberSets the lightmap resolution multiplier. Gets the lightmap resolution multiplier. | |
layers | number[]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 the array of layer IDs (Layer#id ) to which the mesh instances belong. | |
batchGroupId | numberSets the batch group for the mesh instances in this component (see BatchGroup). Default is -1 (no group). Gets the batch group for the mesh instances in this component (see BatchGroup). | |
material | MaterialSets the material Material that will be used to render the component. The material is ignored for renders of type ‘asset’. Gets the material Material that will be used to render the component. | |
materialAssets | number[] | Asset[]Sets the material assets that will be used to render the component. Each material corresponds to the respective mesh instance. Gets the material assets that will be used to render the component. | |
rootBone | Entity | nullSets the root bone entity (or entity guid) for the render component. Gets the root bone entity for the render component. | |
materialAsset | any | |
system | ComponentSystemThe ComponentSystem used to create this Component. | |
entity | EntityThe Entity that this Component is attached to. | |
enabled | booleanSets the enabled state of the component. Gets the enabled state of the component. |