Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
b47e70849This file is pinned to the selected release. Download the original to open it in your design tool.
<mujoco model="Reflection: PBR metallic + ORM">
<!-- Minimal planar-reflection bed for the two PBR reflect paths:
floor -> pbr_reflect (metallic/roughness on a plane)
mirror -> pbr_packed_reflect (occlusion/roughness/metallic texture)
See reflection.xml for the full integration scene. -->
<asset>
<texture name="sky" type="skybox" builtin="gradient" rgb1=".18 .22 .30" rgb2=".55 .58 .62" width="32" height="512"/>
<texture name="ibl" type="cube" builtin="gradient" rgb1=".32 .35 .40" rgb2=".58 .56 .52" width="32" height="32"/>
<texture name="grid" type="2d" builtin="checker" rgb1=".05 .06 .09" rgb2=".42 .45 .50" width="300" height="300"/>
<!-- packed occlusion(R)/roughness(G)/metallic(B): smooth metal -->
<texture name="orm" type="2d" builtin="flat" rgb1="1 .3 1" width="8" height="8"/>
<material name="floor" texture="grid" texrepeat="3 3" texuniform="true" metallic=".5" roughness=".25" reflectance=".35"/>
<material name="mirror" rgba=".95 .64 .38 1" reflectance=".9">
<layer texture="orm" role="orm"/>
</material>
<material name="post" rgba=".82 .16 .16 1"/>
<material name="ball" rgba=".20 .68 .30 1"/>
</asset>
<worldbody>
<camera name="default" pos="3.515 -1.039 1.177" xyaxes="0.229 0.973 0.000 -0.102 0.024 0.995"/>
<light pos="1.5 0.6 2.6" dir="-0.6 -0.2 -2" cutoff="55" range="20" intensity="800000"
castshadow="true" ambient=".1 .1 .12" type="spot"/>
<light type="image" texture="ibl" intensity="8000"/>
<geom name="floor" type="plane" size="3 3 .1" material="floor"/>
<geom name="mirror" type="box" size="1.0 0.7 0.02" material="mirror" pos="-1.2 0 0.7" zaxis="1 0 0"/>
<geom name="post" type="box" material="post" size=".05 .05 .5" pos="0 0 0.5"/>
<geom name="ball" type="sphere" material="ball" size=".22" pos="0.4 -0.5 0.22"/>
</worldbody>
</mujoco>