Vrayproxies bugs in Maya, there are some plenty, please try to fix them

Hello, I would like you to fix all the bugs with vrayproxies in Maya, please.
It’s annoying,

First of all, if you create a proxy by exporting them and ask to automatically create the proxy, you don’t create anything like a vray a proxy, it doesnt work. What’s more, creating this proxy and instancing them it doesnt create really instances of the proxy like we already post time ago on this post:​
https://forums.chaos.com/forum/v-ray…roxies-problem

Second, if you import one, no materials are applied. Yes, I know proxies are just geometry, but proxy files hold the material names on, and it’s very easy to loop through all the materials of the scene and look to match them with the proxy file namespaces, and if so, just connect them. No, we have to write the script ourselves.

And finally and the worste, when you work with many dense geometry proxies, viewport in maya freeze and try to select any node takes so long, even if you have all the porxies on a non-visible and non-selectable layer.
It’s impossible to work with heavy scenes and proxies right now in maya and vray on a normal workaround.

Thank you​

Any Official reply?

Sorry for the late reply.

No issues on a simple scene. Does it happen every time on your end or only in a specific scene? If the latter, send it so we can troubleshoot.

I checked the log (bug-tracker id: VMAYA-12553) and that seems to have concerned a specific VRayProxy. Are you experiencing the issue again with another one?

Check the last post of this thread for an easy method to reassign shaders.

Have you tried using a Viewport proxy file so as to make it lighter on the viewport?

Hello, in the video I’ve included, everything is better explained and anyone can easily reproduce it. I honestly believe that Maya’s V-Ray proxies need some improvements. As shown in the video, if you create a proxy by choosing the option to save each object in a separate file, it generates the vrmesh file, but the proxy doesn’t link correctly to Maya.

Furthermore, in Maya, we cannot have proxies with material ID displacement as we can in 3ds Max. This is something that needs to be addressed. The method you mentioned for reassigning materials is anything but fast, agile, or user-friendly. In the video, we explain the typical method used by 90% of users to create proxies, and with a simple script, everything is fixed quickly, efficiently, and in a user-friendly way. We’ve included the script here in case it’s useful to anyone. But again, I believe this should have been implemented by Chaos from the start, not something that users like us, who purchased the software, have to code ourselves.

Finally, we don’t understand or know how the “Viewport Proxy File” works. We thought there was nothing simpler than the “bounding box” to choose the preview mode. Right now, as seen in the video, it’s not possible to work with a complex scene in Maya with proxies. If there’s any way around this, please make a video with a practical example because we don’t understand the purpose of the “Viewport Proxy File” or how to use it. But again, this should have been implemented from the moment you create a proxy, to allow for smoother navigation in the viewport.

The strange thing about all this is that we wonder how we are the only ones noticing this. I understand that people who work with Maya and V-Ray might not use proxies, because if they did, they would have experienced the same issues and commented on it by now.​

Python Script, that cicles all shaders in the scene and try to match them with the shaders info the proxy contains in:

import maya.cmds as cmds
import maya.mel as mel

materials = pm.ls(mat=True)
sel = cmds.ls(sl=True)
vray_proxys = cmds.listRelatives(sel, s=True)
count = 0

for i in vray_proxys:
proxy_content = cmds.vrayUpdateProxy(i, getObjectNames=True)
for b in proxy_content:
    if b.startswith(“s:”):
      shaderName = b[2:]
      for c in materials:
        if c == shaderName:
          cmds.setAttr(i + ‘.shaders[’+ str(count) +‘].shadersNames’, c, type=“string”)
          cmds.connectAttr(c + “.outColor”, i + ‘.shaders[’+ str(count) +‘].shadersConnections’)
          count +=1
​https://3ve.es/vray\_proxies\_issues.mp4

First of all thanks for the clear feedback.

The issue is reproducible. It seems the geometry and exported VRayProxy get linked and concerns only the “Use the new VRayProxy node” option. Logged it (internal bug-tracker id: VMAYA-13277) for dev investigation. Found a quick workaround: Export the separate VRayProxies with “Use the new VRayProxy node” turned off and afterward go to V-Ray > Tools > Convert to New V-Ray Proxy Mode to convert them manually. This avoids the geometry duplication defect..

We are aware of the issue and are already brainstorming to find a solution (possibly adding a Displacement as a material). An improvement request is already logged (internal bug-tracker id: VMAYA-12216). I’ll speak to the product manager to get more info on the development.

I suppose this script works only if the shaders are in the scene. The method I mentioned, tedious as it may be, can be used without that need (since it takes shaders from a .vrscene file). Either way, I’ll mention this to the product manager, too.

The Viewport Proxy File works by replacing the viewport representation of the loaded proxy with a proxy of your choice. From what I tested, the position of the viewport proxy needs to match the original proxy to get a good result.

Mind if you send me the particular scene from the video? Also, is there a slowdown when the preview is set to “none”?

Yep, Ive avoided them for years purely because I spend time trying to work out why my scenes isnt working, and end up just going the old fashioned way of handling loads of in scene geo…better to brute force a heavy scene through rendering and get the shot done on time, than mess around with the elegant, lightweight solution and not finish on time. Always tempted to check back in with them, but it does sound like Id have the same headaches I had years ago.

Hi,

Mind if you send me the particular scene from the video? Also, is there a slowdown when the preview is set to “none”?

No need, is really easy to reproduce by anyone. Just create 4 o 5 different proxies of trees or something like that.
And instance them around 2.000 times in the scene. You can hide them if you want in a layer, or select “Bounding box Preview” or “None”, but everytime you want to sleect something from viewport start to slow down really hard.

This is the reason why we are telling Chaos that right now is useless to work vrayproxies with. Once the scenes is a little bit heavy, you even cannot keep working with the scene without waiting seconds to select something from viewport. No sense.

Thank you.

Okay, it seems to be reproducible with the New VRayProxy. The old VRayProxy seems to behave better and disabling the “Cache geometry” option (not available in the new VRayProxy) eliminates any selection slowdowns. I’ll continue troubleshooting and discuss the issue with the devs, but some kind of caching is probably the culprit.