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

 

Page Contents

 

Overview


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.


 

UI Path:

Create menu > V-Ray > Import proxy

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


 

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 will be displayed in the import window and it will automatically set 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 will work only if all imported proxies are Alembic files that share 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 will be ignored, as V-Ray won'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'.

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

Placeholder (don't read proxy info) – The proxy is displayed as a simple placeholder box with fixed size.
Bounding box
 – The mesh is represented as a box scaled to fit the object in viewport.
Preview
 – 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 will 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 will 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.

 


Animation Parameters


 

 

 

Playback speed – A multiplier for the speed of the animation. Putting negative numbers here will make 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 will be 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 specify which part of the animation to be played.

Sequence start – Specifies the first frame of the animation.

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

 

Shaders


Shaders – Shows a list of the shaders attached to the proxy. This option is mostly for backward compatibility with previous versions of V-Ray for Maya.

 

Restore the Mesh


 



Reassign shaders – When enabled, all shaders in the proxy will be 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 will be invisible. 
Include – Only the selected object in the list will be 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.

 

Alembic Proxy Parameters


 

 

 

Starting object – Allows to specify a starting path in the Alembic file; only objects below that path will be 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 will use the bounding box specified in the Almebic file. However, sometimes these bounding boxes are not correct, and in that case the rendering will also be 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 will be 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 will be 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 will be of greater detail than required by distance. Values greater than 1.0 mean that the resolution of the level will be smaller than the one determined by distance. A value of 0.0 means that no point cloud level will be loaded and the original mesh will be rendered instead.

 

Material assignment overrides


When loading alembic files in a VRayProxy node, materials stored in .vrscene files can be assigned onto different objects from the alembic 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 alembic file.




Material assignments file – Specifies the location of a .xml file that specifies the "rules" for material assignment based on the obejct path in the alembic file (only supported for alembic). The wildcards * are allowed in the xml file. The sample XML below assigns the VRayMtl1 material to all objects matching the pattern pCube*, i.e. all objects whose name starts with pCube.


Sample XML script
<materialAssignmentRules>
	<patternRule>
		<pattern>pCube*</pattern>
		<material>VRayMtl1@material</material>
	</patternRule>
</materialAssignmentRules>


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 * 

appendSceneContent("C:/mtlAssignments/materials.vrscene")
 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.