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