Hi
For a given Material (which is a Physically Based material in a Rhino scene), how can I get all the Physically Based material properties please?
Thanks
Paul
Hi
For a given Material (which is a Physically Based material in a Rhino scene), how can I get all the Physically Based material properties please?
Thanks
Paul
For any material, first check if its simulated version is physically based, then request the physically based material from the simulated material.
bool isPbr = rm.SimulatedMaterial(RenderTexture.TextureGeneration.Skip).IsPhysicallyBased;
if(isPbr) {
var pbrmat = rm.SimulatedMaterial(RenderTexture.TextureGeneration.Allow).PhysicallyBased;
// you have now a Rhino.DocObjects.PhysicallyBasedMaterial in pbrmat to work with
}
Perfect - thanks @nathanletwory
Actually - this does not seem to work @nathanletwory. isPbr is false for the following material…
@pkinnane could you please drag the material from the material editor to your desktop, then attach it to this discussion? Thanks.
edit: I tried with what I think is the same material setup, but that works for me. So it would be good to get that material from you to see if there is anything different.
<xml>
<material type-name="5a8d7b9b-cdc9-49de-8c16-2ef64fb097ab" render-engine-id="99999999-9999-9999-9999-999999999999" plug-in-id="638A0098-0511-482B-95BF-8CF47FD32C17" type-id="5A8D7B9B-CDC9-49DE-8C16-2EF64FB097AB" notes="" tags="" hidden="false" reference="false" auto-delete="false">
<parameters>
<automatic-dynamic-field-meta-data type="string"><xml/></automatic-dynamic-field-meta-data>
<pbr-base-color type="color">0.984313726425171,0.0156862754374743,0.0156862754374743,1</pbr-base-color>
<pbr-base-color-on type="bool">false</pbr-base-color-on>
<pbr-base-color-double-amount type="double">1</pbr-base-color-double-amount>
<pbr-base-color-amount type="int">100</pbr-base-color-amount>
<pbr-subsurface type="double">0</pbr-subsurface>
<pbr-subsurface-on type="bool">false</pbr-subsurface-on>
<pbr-subsurface-double-amount type="double">1</pbr-subsurface-double-amount>
<pbr-subsurface-amount type="int">100</pbr-subsurface-amount>
<pbr-subsurface-scattering-radius type="double">0</pbr-subsurface-scattering-radius>
<pbr-subsurface-scattering-radius-on type="bool">false</pbr-subsurface-scattering-radius-on>
<pbr-subsurface-scattering-radius-double-amount type="double">0.01</pbr-subsurface-scattering-radius-double-amount>
<pbr-subsurface-scattering-radius-amount type="int">1</pbr-subsurface-scattering-radius-amount>
<pbr-metallic type="double">0</pbr-metallic>
<pbr-metallic-on type="bool">false</pbr-metallic-on>
<pbr-metallic-double-amount type="double">1</pbr-metallic-double-amount>
<pbr-metallic-amount type="int">100</pbr-metallic-amount>
<pbr-specular type="double">0.5</pbr-specular>
<pbr-specular-on type="bool">false</pbr-specular-on>
<pbr-specular-double-amount type="double">1</pbr-specular-double-amount>
<pbr-specular-amount type="int">100</pbr-specular-amount>
<pbr-specular-tint type="double">0</pbr-specular-tint>
<pbr-specular-tint-on type="bool">false</pbr-specular-tint-on>
<pbr-specular-tint-double-amount type="double">1</pbr-specular-tint-double-amount>
<pbr-specular-tint-amount type="int">100</pbr-specular-tint-amount>
<pbr-roughness type="double">0</pbr-roughness>
<pbr-roughness-on type="bool">false</pbr-roughness-on>
<pbr-roughness-double-amount type="double">1</pbr-roughness-double-amount>
<pbr-roughness-amount type="int">100</pbr-roughness-amount>
<pbr-anisotropic type="double">0</pbr-anisotropic>
<pbr-anisotropic-on type="bool">false</pbr-anisotropic-on>
<pbr-anisotropic-double-amount type="double">1</pbr-anisotropic-double-amount>
<pbr-anisotropic-amount type="int">100</pbr-anisotropic-amount>
<pbr-anisotropic-rotation type="double">0</pbr-anisotropic-rotation>
<pbr-anisotropic-rotation-on type="bool">false</pbr-anisotropic-rotation-on>
<pbr-anisotropic-rotation-double-amount type="double">1</pbr-anisotropic-rotation-double-amount>
<pbr-anisotropic-rotation-amount type="int">100</pbr-anisotropic-rotation-amount>
<pbr-sheen type="double">0.5</pbr-sheen>
<pbr-sheen-on type="bool">false</pbr-sheen-on>
<pbr-sheen-double-amount type="double">1</pbr-sheen-double-amount>
<pbr-sheen-amount type="int">100</pbr-sheen-amount>
<pbr-sheen-tint type="double">0</pbr-sheen-tint>
<pbr-sheen-tint-on type="bool">false</pbr-sheen-tint-on>
<pbr-sheen-tint-double-amount type="double">1</pbr-sheen-tint-double-amount>
<pbr-sheen-tint-amount type="int">100</pbr-sheen-tint-amount>
<pbr-clearcoat type="double">0</pbr-clearcoat>
<pbr-clearcoat-on type="bool">false</pbr-clearcoat-on>
<pbr-clearcoat-double-amount type="double">1</pbr-clearcoat-double-amount>
<pbr-clearcoat-amount type="int">100</pbr-clearcoat-amount>
<pbr-clearcoat-roughness type="double">0</pbr-clearcoat-roughness>
<pbr-clearcoat-roughness-on type="bool">false</pbr-clearcoat-roughness-on>
<pbr-clearcoat-roughness-double-amount type="double">1</pbr-clearcoat-roughness-double-amount>
<pbr-clearcoat-roughness-amount type="int">100</pbr-clearcoat-roughness-amount>
<pbr-opacity-ior type="double">1.52</pbr-opacity-ior>
<pbr-opacity-ior-on type="bool">false</pbr-opacity-ior-on>
<pbr-opacity-ior-double-amount type="double">1</pbr-opacity-ior-double-amount>
<pbr-opacity-ior-amount type="int">100</pbr-opacity-ior-amount>
<pbr-opacity type="double">1</pbr-opacity>
<pbr-opacity-on type="bool">false</pbr-opacity-on>
<pbr-opacity-double-amount type="double">1</pbr-opacity-double-amount>
<pbr-opacity-amount type="int">100</pbr-opacity-amount>
<pbr-opacity-roughness type="double">0</pbr-opacity-roughness>
<pbr-opacity-roughness-on type="bool">false</pbr-opacity-roughness-on>
<pbr-opacity-roughness-double-amount type="double">1</pbr-opacity-roughness-double-amount>
<pbr-opacity-roughness-amount type="int">100</pbr-opacity-roughness-amount>
<pbr-alpha type="double">1</pbr-alpha>
<pbr-alpha-on type="bool">false</pbr-alpha-on>
<pbr-alpha-double-amount type="double">1</pbr-alpha-double-amount>
<pbr-alpha-amount type="int">100</pbr-alpha-amount>
<pbr-subsurface-scattering-color type="color">1,1,1,1</pbr-subsurface-scattering-color>
<pbr-subsurface-scattering-color-on type="bool">false</pbr-subsurface-scattering-color-on>
<pbr-subsurface-scattering-color-double-amount type="double">1</pbr-subsurface-scattering-color-double-amount>
<pbr-subsurface-scattering-color-amount type="int">100</pbr-subsurface-scattering-color-amount>
<pbr-emission type="color">0,0,0,1</pbr-emission>
<pbr-emission-on type="bool">false</pbr-emission-on>
<pbr-emission-double-amount type="double">1</pbr-emission-double-amount>
<pbr-emission-amount type="int">100</pbr-emission-amount>
<emission-multiplier type="double">1</emission-multiplier>
<emission-multiplier-on type="bool">false</emission-multiplier-on>
<emission-multiplier-double-amount type="double">1</emission-multiplier-double-amount>
<emission-multiplier-amount type="int">100</emission-multiplier-amount>
<alpha-transparency type="bool">true</alpha-transparency>
<pbr-ambient-occlusion type="double">1</pbr-ambient-occlusion>
<pbr-ambient-occlusion-on type="bool">false</pbr-ambient-occlusion-on>
<pbr-ambient-occlusion-double-amount type="double">1</pbr-ambient-occlusion-double-amount>
<pbr-ambient-occlusion-amount type="int">100</pbr-ambient-occlusion-amount>
<pbr-bump type="color">0,0,0,1</pbr-bump>
<pbr-bump-on type="bool">false</pbr-bump-on>
<pbr-bump-double-amount type="double">0.3</pbr-bump-double-amount>
<pbr-bump-amount type="int">30</pbr-bump-amount>
<pbr-displacement type="double">0</pbr-displacement>
<pbr-displacement-on type="bool">false</pbr-displacement-on>
<pbr-displacement-double-amount type="double">0.01</pbr-displacement-double-amount>
<pbr-displacement-amount type="int">1</pbr-displacement-amount>
<pbr-clearcoat-bump type="color">0,0,0,1</pbr-clearcoat-bump>
<pbr-clearcoat-bump-on type="bool">false</pbr-clearcoat-bump-on>
<pbr-clearcoat-bump-double-amount type="double">1</pbr-clearcoat-bump-double-amount>
<pbr-clearcoat-bump-amount type="int">100</pbr-clearcoat-bump-amount>
<pbr-show-ui-basic-metalrough type="bool">false</pbr-show-ui-basic-metalrough>
<pbr-show-ui-subsurface type="bool">false</pbr-show-ui-subsurface>
<pbr-show-ui-specularity type="bool">false</pbr-show-ui-specularity>
<pbr-show-ui-anisotropy type="bool">false</pbr-show-ui-anisotropy>
<pbr-show-ui-sheen type="bool">true</pbr-show-ui-sheen>
<pbr-show-ui-clearcoat type="bool">false</pbr-show-ui-clearcoat>
<pbr-show-ui-opacity type="bool">false</pbr-show-ui-opacity>
<pbr-show-ui-emission type="bool">false</pbr-show-ui-emission>
<pbr-show-ui-bump-displacement type="bool">false</pbr-show-ui-bump-displacement>
<pbr-show-ui-ambient-occlusion type="bool">false</pbr-show-ui-ambient-occlusion>
</parameters>
<simulation>
<ambient type="color">0,0,0,1</ambient>
<diffuse type="color">0.984313726425171,0.0156862754374743,0.0156862754374743,1</diffuse>
<emission type="color">0,0,0,1</emission>
<specular type="color">1,1,1,1</specular>
<reflection type="color">1,1,1,1</reflection>
<shine type="double">1</shine>
<transparency type="double">0</transparency>
<reflectivity type="double">1</reflectivity>
<ior type="double">1.52</ior>
<fresnel-enabled type="bool">true</fresnel-enabled>
<polish-amount type="double">1</polish-amount>
<clarity-amount type="double">1</clarity-amount>
<transparent type="color">1,1,1,1</transparent>
<is-physically-based type="bool">true</is-physically-based>
<pbr-brdf type="string">ggx</pbr-brdf>
<pbr-base-color type="color">0.984313726425171,0.0156862754374743,0.0156862754374743,1</pbr-base-color>
<pbr-subsurface type="double">0</pbr-subsurface>
<pbr-subsurface-scattering-color type="color">1,1,1,1</pbr-subsurface-scattering-color>
<pbr-subsurface-scattering-radius type="double">0</pbr-subsurface-scattering-radius>
<pbr-specular type="double">0.5</pbr-specular>
<pbr-specular-tint type="double">0</pbr-specular-tint>
<pbr-metallic type="double">0</pbr-metallic>
<pbr-roughness type="double">0</pbr-roughness>
<pbr-anisotropic type="double">0</pbr-anisotropic>
<pbr-anisotropic-rotation type="double">0</pbr-anisotropic-rotation>
<pbr-sheen type="double">0.5</pbr-sheen>
<pbr-sheen-tint type="double">0</pbr-sheen-tint>
<pbr-clearcoat type="double">0</pbr-clearcoat>
<pbr-clearcoat-roughness type="double">0</pbr-clearcoat-roughness>
<pbr-opacity type="double">1</pbr-opacity>
<pbr-opacity-ior type="double">1.52</pbr-opacity-ior>
<pbr-opacity-roughness type="double">0</pbr-opacity-roughness>
<pbr-emission type="color">0,0,0,1</pbr-emission>
<pbr-alpha type="double">1</pbr-alpha>
<pbr-use-base-color-texture-alpha type="bool">true</pbr-use-base-color-texture-alpha>
</simulation>
<preview>
<scene-scale type="double">1</scene-scale>
<angle-x type="double">38.6746511713306</angle-x>
<angle-y type="double">35.2369044005456</angle-y>
<rotation-type type="string">camera</rotation-type>
<geometry type="string">material-scene</geometry>
<background type="string">material-scene</background>
<lighting type="string">skylighting</lighting>
</preview>
</material>
<meta-data>
<renderer-name>Generic</renderer-name>
<type-name>Physically Based</type-name>
</meta-data>
<thumbnail width="256" height="256" format="jpeg" original-size="16564" compressed-size="16564" compression="none" encoding="base64">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</thumbnail>
</xml>
���
public static Node ConvertMaterial(Material material)
{
try
{
#if RHINO7
RenderMaterial renderMaterial = material.RenderMaterial;
bool isPbr = renderMaterial.SimulatedMaterial(RenderTexture.TextureGeneration.Skip).IsPhysicallyBased;
if (isPbr)
{
var pbrmat = renderMaterial.SimulatedMaterial(RenderTexture.TextureGeneration.Allow).PhysicallyBased;
Can you please attach the material as a file instead of copy-pasting it as text?
While waiting for the material as file I used the one I created myself. This time I used the Material as one can retrieve from the RhinoDoc.Materials table, then access its RenderMaterial as you do. This still appears to be working for me:
Hi Nathan - I have worked out the problem. The plugin is doing a SimulateMaterial on the RenderMaterial before passing to my code above. Thanks for your great help as always, and sorry to waste your time on my coding error.
Thanks
Paul
I’m glad you figured it out.