Material Specific Environment Setup - How to?

Hi All - I’ve created a copper-like material inside a closed room that’s lit with shared contribution from HDRI and geometry-based lighting - like a museum interior.
The copper objects are not getting enough light to allow the material look “copper,” so I’d like to cheat their reflection env. add an object-specific HDRI/reflection env for this material/object only. Can’t figure out how..

I’m in Maya/Vray 2.0. Any suggestions?

Thanks very much,

Andrew

http://help.chaosgroup.com/vray/help/maya/150R1/shading\_engine\_extr\_attrib.htm#Override

Appreciate the reply, but I cannot get this to work in the attached image, all three objects are lit with the the SkyDome’s HDR (texture A). I want to apply the chrome sphere’s material with a material env, to change its reflections to the studio reflections (texture B). I have tried using the “environment slot,” but it doesn’t work. Perhaps the wrong approach?
Thanks, Andrew

Then you can connect a material to the reflections slot for the material override. The environment slot is what other object will see for this object (for example if the overridden object is seen in the reflections or refractions of other objects - that’s what its environment will be in those refl/refr).
Let us know if you need more help with this.

I suppose it would be good if we added some examples or tutorials for this.

I can not seem to get this to work on a regular vray mtl in 3.0 Beta. Can someone confirm this?

Can you share a simple scene?

Hi Alex - thanks for your interest in this. I still cannot figure out how to do what I need to do. I have installed Vray 3.0 and there is no change in behavior. Please let me explain again:

Let’s say you have two spheres that are lit with either a vrayLightDome or an environmental override. Both spheres are getting diffuse, spec, and reflection from the HDR-based lighting.

For one of the spheres only, lets say I want to override the reflections from the lightDome, and instead use a completely different HDR map for the reflections.

This is a common task. I saw another Forum post about this where they were rendering a chrome chair and wanted to assign a different env texture for the chrome reflection only.

In old-school Maya, you would simply assign a separate envSphere node to the reflection component of the shader.

However, with Vray, I cannot figure out how to do this. Anyone?

Huge thanks,

Andrew

OK, I have solved this. The answer is use light-linking to link my objects to another env and map. Duh. Thanks for your time. :):sunglasses:

Yes, that’s another way of going for this.
Good to know you solved this, thanks.

That is a very valid workaround, but the issue that the Vray Material Override is not working as advertised, still persists.

I just tried it again with the latest V-Ray for Maya version 3.05.02 from Jun 10 2014 and I can not get the material override to work.

The material override > reflection override actually changes how the overridden material will reflect in other objects, i.e. how other reflective objects will see it. It may sound a bit odd, but that’s how it works, see the attached scene - I made a small example.
I’ve made a note to expand the help files for this.

What andrewhardaway wanted to do (as far as I understood) was to change the reflection environment for one of his materials. One of the easiest way to go with this is to set a material override > environment override. The important thing to remember here is that this slot only accepts textures. If you try and connect a shader, a warning will tell you that this connection can not be made. Furthermore, it would be best to connect a file node with a placeEnvTex (easiest hack is to connect a new file node to the vray settings > environment override, then break the connection and have the env override ready to go).

Forgot to attach the scene, sorry. Let me know if you want me to make another example with how I would go with the environment override per material.
mtl_override_refl.zip (22 KB)

Alex, If you get a chance, please make the environment override per material example maya scene file.

Thanks!

Here’s an example of a scene, where the global background and reflection environments are set with one texture, but the sphere to the right reflects another environment texture via a material override.

Here’s the scene files:

I hope this explains the use of the material overrides. Let me know if something is still unclear or if you would like some more examples.


mtl_env_override.zip (981 KB)

Thank you very much for the sample scene Alex!

It really help me figure out why I could not get such a straight forward setup working for me.

Basically, I was using a VRAY Light Dome for my overall environment reflection but your setup up uses the Environment “Override Environment” in the render settings.

Doesn’t seem to work if you use Light Domes.

You can take my example and use a dome light with a texture too instead of the global environment, I’ll make another example of this.

It could work with only Dome lights as well, but the approach is different. There are actually a few ones that I can think of:
* One way is to use light linking and have two dome lights - one linked to all objects but one, the other light linked only to the one object
* Another way is to use the reflection exclusion sets in the vray object properties > assign it to the one object and exclude the dome light’s reflections from there and use a material environment override.

I can make scenes for all these examples, just tell me how urgent would you need them :slight_smile:

Thanks for the scene I have been wondering about using this for a while. What purpose does the environment priority serve?

Environment priority - this specifies how to determine the environment to use if a reflected or refracted ray goes through several materials each of which has an environment override.

For example, if you have several refractive objects behind each other and each of them have Environment Override property, the one with the highest Environment Priority value will be taken into account and rendered.