This page describes how to import a V-Ray proxy into Maya that was previously exported.


Page Contents ×


The proxy import process creates a VRayMesh node which imports geometry from a file on disk. The node can load V-Ray proxy (.vrmesh) and Alembic (.abc) files. After the V-Ray proxy is imported, its parameters appear in the Attribute Editor.

To see how to import a V-Ray Proxy using the "vrayCreateProxy" command, please refer to Scripting and Programming page.


UI Path


Create menu > V-Ray > Import proxy

||V-Ray Shelf|| > Import VRay proxy

A VRayProxy object can also be created by dragging and dropping a .vrmesh or .abc file directly in your active viewport. 

Import V-Ray Proxy

This dialog sets basic import parameters and creates the VRayProxy node.



Default window


Importing a single file with frame formatting


Importing multiple files



Single file (frame formatting is supported) – Allows importing of one proxy file at a time. Frame formatting allows you to specify reading animated proxies where each frame is in a separate file. The formatting is displayed in the import window and it automatically sets the Animation parameters .

Multiple files – Allows importing of multiple proxy files at once. Frame formatting is not supported for this mode, and the Object path option works only if all imported proxies are Alembic files sharing the same object structure.

Node name – Name of the scene object to be created in Maya.

File(s) – File(s) to import.

Object path – Specifies which objects to import based on their starting paths in an Alembic file structure. Additional parameters are available in the Alembic proxy parameters rollout after import. 

Create – Imports the proxy object and closes the dialog. Additional parameters appear in the Attribute Editor after the proxy is created. 

VRayProxy Attributes

These parameters appear in the Attribute Editor after the VRayProxy node has been created and the mesh has been imported.


Basic Parameters




File name – The source .vrmesh file. Animated proxies can be stored either in one single file, or as a sequence of files with one file per frame. In the latter case, you can use the string <frame0n> in the file name to have it replaced with the current frame number at render time, where n is an integer number specifying the number of digits. For example, if you enter my_proxy_<frame04>.vrmesh as the file name, this will be expanded to my_proxy_0000.vrmeshfor frame 0, my_proxy_0001.vrmesh for frame 1, and so on. If you use a sequence of files, the Playback type option is ignored, as V-Ray doesn't know how many frames are in the animation. The Playback speed parameter may also work unreliably with sequences of files.

The old formatting specifier %0nd is no longer supported since version 3.0rc (night build revision 24745), because we had to mark the filename attribute with the flag usedAsFilename and Maya doesn't allow the user to enter the '%' character as part of the file name for such attributes. Old scenes will be automatically upgraded to the new formatting. If you use the 'fileName' attribute in scripts it is better to use the newer 'fileName2'.

Placeholder (don't read proxy info) – The proxy is displayed as a simple placeholder box with fixed size. 

Geometry to Load – Select the viewport preview mode from the drop down menu. This does not affect the final render. This parameter is Keyable and can be used as a driven key as Geom Type in the Channel Box.

Bounding box – The mesh is represented as a box scaled to fit the object in viewport.
 – The mesh is represented as a low poly proxy preview as defined in the .vrmesh file.
Maya Mesh
 – The original mesh is previewed in the viewport. Note that any edits made to this mesh do not appear in the render.
GPU Mesh
– The original mesh is loaded into the viewport using the GPU, which gives faster viewport performance and less memory consumption. Note that any edits made to this mesh do not appear in the render.

Cache geometry – When enabled the preview geometry for each frame of the animation is stored in the memory once it has has been previewed. This allows to speed up the playback of animations.

Viewport proxy file – Allows selection of an .abc or .vrmesh file to be used as a preview in the viewports.

Flip axis – When enabled, this option switches the axis being used by the proxy as the vertical axis between Y and Z. It allows the user to align the vertical axis of the proxy with the vertical axis in the scene in cases where the proxy was not exported from Maya or when loading Alembic files.

Particle render mode – Controls how the particles in the proxy are rendered in the viewports. The available options are Point and Sphere.

Tessellate hair – When enabled, tessellates hair strands for files containing hair. 

Edge length (in px) – Specifies hair edge length in pixels for smoothing hair strands.


Alembic Layers

This rollout becomes active only if the loaded proxy file is in .abc file format.

The Alembic layers feature allows modification of a selected alembic proxy by adding layer files on top of it. Each layer transforms the proxy with a different set of properties. These transformations include adding properties to a shape (e.g. UV mapping of an object that has no UVs), overriding properties, adding new objects, pruning objects or properties, replacing an object's (or properties') hierarchy with a new one, etc.

You can combine different cache files. Whenever the same object is found in a layer, all of its properties are considered.

Add New Item – Adds a new layer to the stack. 

Enabled – Each layer's effect can be enabled or disabled by the checkbox. 

Browse – Allows you to browse and open an .abc file. 

Delete – Removes the layer from the stack. 


Animation Parameters




Playback speed – A multiplier for the speed of the animation. Putting negative numbers here makes the animation play backwards. This option may not work very well for sequences of .vrmesh files. 

Start offset – Offsets the beginning of the animation by the given number of frames. You can use positive as well as negative values here. 

Playback type – Specifies a playback mode. This option is ignored if you use a sequence of separate .vrmesh files.

Loop – The animation is looped by skipping to the first frame once it has finished.
Play once – The animation is played once.
Ping-pong – The animation is looped by playing it backwards once the last frame has been reached and then playing it forward again when the first frame is reached.
Still – The animation is not played. Instead, just the Start offset frame is shown. 

Sequence override – Allows you to manually override the start frame and the animation length to read (in frames) for animations stored in sequences of .vrmesh files (where each frame of the animation is stored in a separate proxy file). Importing proxy sequences requires a special format that specifies how to mach the frame padding in the file name. See the File name section of this page for more details.

Sequence start – Specifies the first frame of the animation.

Sequence length – Specifies the length of the animation to be played.


Restore the Mesh


Reassign shaders – When enabled, all shaders in the proxy are automatically assigned to the appropriate geometry.

Create a mesh from this proxy – Clicking this button causes the actual object to be imported into the scene as a mesh rather than a proxy. Note that some of the original information might be lost in the export/import process, so it is better to have a copy of the mesh saved as a Maya file.


Visibility Lists

These options control the visibility of a proxy's components when more than one mesh has been exported. The visibility can be controlled either by object names or by object IDs.




List type – Specifies whether the list includes or excludes objects.

Exclude – The selected object in the list is invisible. 
Include – Only the selected object in the list is visible.

Object name list – A list of all the objects in the proxy file. 

Object id list – A list of all the object IDs in the proxy file.

 You can hide/display multiple objects from the Object Name List and the Object ID List via the context menu, available when you right-click on the lists.


Alembic Proxy Parameters




Starting object – Allows to specify a starting path in the Alembic file; only objects below that path are rendered. The path may start with ABC/ or it may be omitted.

Use full names – When this option is enabled the full path to each geometry set in the alembic file is displayed in the Proxy mesh and Proxy hair visibility lists.

Recompute bounding box – Enabling this check box forces V-Ray to recompute the bounding box for the geometry before rendering. When this is off, V-Ray uses the bounding box specified in the Alembic file. However, sometimes these bounding boxes are not correct, and in that case the rendering is also incorrect. To avoid such issues, enable this option. Note that this option might slow down the rendering. 

Compute normals – This option allows you to force smooth normals on the geometry in case they were not originally smoothed.

Smooth angle – When the Compute normals option is enabled this specifies the angle below which normals are smoothed.

Flip normals – Reverses the direction of the normals.

Preview faces – Allows you specify how many faces are going to be used to show a preview of the proxy in the view port.

Preview hairs – Allows you specify how many splines are going to be used to show a preview of the proxy hair in the view port.

Hair width multiplier – This multiplier allows you to control the hair width during rendering.

Preview particles – Allows you to specify how many particles to show in the viewports.

Particle width multiplier – Controls the size of the particles when rendering.

Velocity multiplier – Controls the length of the motion blur when rendering.

Subdivide all meshes – Subdivide the meshes before rendering using the OpenSubdiv library.

Subdivision level – The number of subdivision levels.

Subdivide UVs – Allows you to choose whether or not the UVs of the object are subdivided at the borders.

Preserve geometry borders – Specifies whether geometry borders are preserved or not.

Preserve map borders – Specifies how to handle subdivisions of UV coordinates at UV seams when Subdivide UVs is enabled. The possible values are:

None – UVs are always subdivided regardless of whether they are on a UV seam or not.
Internal – Only preserve UVs if they are on an internal UV seam.
All – Does not subdivide UVs on UV seams.


Point Cloud




Use if present – Enables the usage of point cloud data if available.

Level multiplier – Determines the way point cloud levels are loaded. A value of 1.0 means that the level to load is determined exactly by the distance from the camera to the object. A value smaller than 1.0 means that the level is of greater detail than required by distance. Values greater than 1.0 mean that the resolution of the level is smaller than the one determined by distance. A value of 0.0 means that no point cloud level is loaded and the original mesh is rendered instead.


Material assignment overrides

When loading a proxy file in a VRayProxy node, materials stored in .vrscene files can be assigned onto different objects from the proxy file. This requires a pair of a .vrscene file containing the materials and an XML file containing the "rules" for applying them to the objects in the proxy file.

Material assignments fileSpecifies the location of an .xml file that contains the "rules" for material assignment. For alembic files, the "rules" are based on object paths, for .vrmesh files, they are based on material names. The wildcards * are allowed in the .xml file.

Alembic Sample XML script

The sample XML assigns the VRayMtl material to all alembic objects matching the pattern pCube*, i.e. all objects whose name starts with pCube.

Proxy Sample XML Script

The sample XML assigns the VRayMtl1 material to all vrmesh objects matching VRayMtl1 pattern, i.e. all objects whose material name is VRayMtl1.


For this feature to work, you need to specify the path to the .vrscene containing the materials (procedural textures or paths to bitmaps). This only works with post-translate python script. The following example script specifies the path to the .vrscene file and should be copied into Render Settings > Common > MEL / Python callbacks > Post translate python script.

Post-translate Python script
from vray.utils import * 

 Sample scene files

Donwload a sample scene file from here

You will need to set the correct path to the xml in the proxy node and then set the correct path to the .vrscene file from Render Settings > Common > MEL / Python callbacks > Post translate python script. 

Note that the geometry, the settings and the "node" plugins from the vrscene are deleted, because using appendSceneContent will add all the content from the vrscene file, including the geometry, which is not needed in this case.


 The material assignment overrides is still a highly experimental feature and can change at any point!

VRayMesh File Info




This rollout provides information on the loaded VRayMesh including:

  • Path to the loaded file
  • Animation contained in the proxy (when animation is in one file, not as a sequence of files)
  • Number of preview faces
  • Bounding box information
  • UV sets and their names
  • Color sets and their names
  • Material list


This can be useful in several situations. For example, when using the VRayUserColor node to read UV sets and color sets, the you can obtain the set names through this rollout. Additionally, when using animation overrides, you can easily tell what frame of the proxy animation is rendered at a given timeline frame.