Source code for isaaclab.assets.visual_material.visual_material_cfg

# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

from dataclasses import MISSING

from isaaclab.assets.asset_base_cfg import AssetBaseCfg
from isaaclab.sim.spawners.materials import VisualMaterialCfg as VisualMaterialSpawnerCfg
from isaaclab.utils.configclass import configclass


[docs] @configclass class VisualMaterialCfg(AssetBaseCfg): """A runtime-writable material declared like any other scene asset. An absolute :attr:`prim_path` declares one shared material. For independent per-environment values, declare the material below its owning cloned asset and bind it with an asset-relative path through :attr:`isaaclab.sim.spawners.from_files.from_files_cfg.FileCfg.visual_material_bindings`. """ class_type: type | str = "{DIR}.visual_material:VisualMaterial" cloning_contexts: tuple[str | type, ...] | None = () spawn: VisualMaterialSpawnerCfg | None = MISSING """Material spawner, or ``None`` to wrap an existing material prim.""" channels: tuple[str, ...] = ("color",) """Numeric shader channels writable at runtime. Preview Surface supports ``color``, ``roughness``, ``metallic``, ``emissive_color``, and ``opacity``. OmniPBR additionally supports ``specular``, ``emissive_intensity``, ``uv_scale``, ``uv_offset``, and ``uv_rotate``. OmniGlass supports ``color``, ``roughness``, and ``ior``. """