Engine API Reference - v2.6.1
    Preparing search index...

    Class ContainerResourceInterface

    Container for a list of animations, textures, materials, renders and a model.

    Index

    Methods

    • Applies a material variant to an entity hierarchy.

      Parameters

      • entity: Entity

        The entity root to which material variants will be applied.

      • Optionalname: string

        The name of the variant, as queried from getMaterialVariants, if null the variant will be reset to the default.

      Returns void

      // load a glb file and instantiate an entity with a render component based on it
      app.assets.loadFromUrl("statue.glb", "container", function (err, asset) {
      const entity = asset.resource.instantiateRenderEntity({
      castShadows: true
      });
      app.root.addChild(entity);
      const materialVariants = asset.resource.getMaterialVariants();
      asset.resource.applyMaterialVariant(entity, materialVariants[0]);
    • Applies a material variant to a set of mesh instances. Compared to the applyMaterialVariant, this method allows for setting the variant on a specific set of mesh instances instead of the whole entity.

      Parameters

      • instances: MeshInstance[]

        An array of mesh instances.

      • Optionalname: string

        The name of the variant, as queried by getMaterialVariants. If null, the variant will be reset to the default.

      Returns void

      // load a glb file and instantiate an entity with a render component based on it
      app.assets.loadFromUrl("statue.glb", "container", function (err, asset) {
      const entity = asset.resource.instantiateRenderEntity({
      castShadows: true
      });
      app.root.addChild(entity);
      const materialVariants = asset.resource.getMaterialVariants();
      const renders = entity.findComponents("render");
      for (let i = 0; i < renders.length; i++) {
      const renderComponent = renders[i];
      asset.resource.applyMaterialVariantInstances(renderComponent.meshInstances, materialVariants[0]);
      }
    • Instantiates an entity with a model component.

      Parameters

      • Optionaloptions: any

        The initialization data for the model component type ModelComponent.

      Returns Entity

      A single entity with a model component. Model component internally contains a hierarchy based on GraphNode.

      // load a glb file and instantiate an entity with a model component based on it
      app.assets.loadFromUrl("statue.glb", "container", function (err, asset) {
      const entity = asset.resource.instantiateModelEntity({
      castShadows: true
      });
      app.root.addChild(entity);
      });
    • Instantiates an entity with a render component.

      Parameters

      • Optionaloptions: any

        The initialization data for the render component type RenderComponent.

      Returns Entity

      A hierarchy of entities with render components on entities containing renderable geometry.

      // load a glb file and instantiate an entity with a render component based on it
      app.assets.loadFromUrl("statue.glb", "container", function (err, asset) {
      const entity = asset.resource.instantiateRenderEntity({
      castShadows: true
      });
      app.root.addChild(entity);

      // find all render components containing mesh instances, and change blend mode on their materials
      const renders = entity.findComponents("render");
      renders.forEach(function (render) {
      render.meshInstances.forEach(function (meshInstance) {
      meshInstance.material.blendType = pc.BLEND_MULTIPLICATIVE;
      meshInstance.material.update();
      });
      });
      });