This page provides information on the Proxy Geometry Node in V-Ray for Blender.
Overview
V-Ray Proxy allows you to import geometry from an external mesh at render time only. The geometry is not present in the scene and does not take any resources. This allows the rendering of scenes with many millions of polygons - more than Blender itself can handle.
V-Ray Proxy loads a geometry from a file on the disk at render time. The geometry is not present in the scene and does not use up any resources except for the viewport preview. V-Ray Proxy loads alembic ( .abc ) and V-Ray Proxy ( .vrmesh ) files. The .vrmesh file contains all geometric information for a mesh, such as vertices and face topology, as well as texture channels, face material IDs, smoothing groups, and normals. In short, everything that is needed to render the mesh is included in the file. In addition, the mesh is preprocessed and subdivided into chunks for easier access. The file also contains a simplified version of the mesh used for preview purposes in the viewports.
UI Paths
||V-Ray menu|| > Geometry > V-Ray Proxy
||Add menu|| > Mesh > V-Ray > V-Ray Proxy
Properties
The properties of the V-Ray Proxy are located in the Data tab of the Properties Editor. Select the proxy object you would like to edit and navigate to the V-Ray Proxy submenu.
File
Mesh File – 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 is expanded to my_proxy_0000.vrmesh for 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.
Preview Type – Select the viewport preview mode from the drop down menu. This does not affect the final render.
None – No preview. This mode does not read any information from the proxy file and is useful for loading many and massive proxies for final scene assembly.
Full – The full geometry of the mesh is visible in the viewport.
Preview – The mesh is represented as a low-poly proxy preview, as defined in the .vrmesh file. A preview is generated on the fly for .abc files.
Preview Faces – Determines the number of faces for the preview generated for .abc files. This option is not available for .vrmesh files.
Animation
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.
Once – The animation is played once.
Ping-pong – The animation is looped by playing it backward 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.
Use Alembic Offset – When enabled, automatically uses the frame offset from the alembic file. When disabled, the frame offset is set manually.
Playback Speed — A multiplier for the speed of the animation. Putting negative numbers here makes the animation play backward. 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.
Sequence Override – Allows you to manually override the start frame and the animation length to be 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 match the frame padding in the file name. See the Mesh File option for more information..
Override Frame – Overrides the animated proxy. Selects a frame to render instead of the sequence.
Sequence Start – Specifies the first frame of the animation.
Sequence Length – Specifies the length of the animation to be played.
Advanced
Smooth Uv – Smooths the mesh UVs when rendering as a subdivision surface.
Smooth Uv Borders – Smooths the mesh UVs at the borders when rendering as a subdivision surface.
First Map Channel – Specifies how to remap the mapping channels.
Tessellate Hair – When enabled, tessellates hair strands for files containing hair.
Hair Tessellation Length – Specifies hair edge length in pixels for smoothing hair strands.
Particle Render Mode – Controls how the particles in the proxy are rendered in the viewports. The available options are Spheres and Points.
Use Point Cloud – Enables the usage of point cloud data, if available.
Point Cloud Mult – 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 File – Specifies 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.
When loading a proxy file in a V-Ray Proxy, materials stored in .vrscene files can be assigned to 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 filе.
Material Assignment Examples
The sample XML assigns the VRayMtl material to all alembic objects matching the pattern pCube*, i.e. all objects whose name starts with pCube.
<materialAssignmentRules> <patternRule> <pattern>/pCube*</pattern> <material>VRayMtl1@material</material> </patternRule> </materialAssignmentRules>
The sample XML assigns the VRayMtl1 material to all .vrmesh objects matching the VRayMtl1 pattern, i.e. all objects whose material name is VRayMtl1.
<materialAssignmentRules> <patternRule> <pattern>VRayMtl1</pattern> <material>VRayMtl1@material</material> </patternRule> </materialAssignmentRules>
The sample XML assigns the VRayMtl material to all alembic objects matching the pattern pCube*, i.e. all objects whose name starts with pCube. It uses the sceneMaterial tag.
<materialAssignmentRules> <patternRule> <pattern>/pCube*</pattern> <sceneMaterial>VRayMtl1@material</sceneMaterial> </patternRule> </materialAssignmentRules>
The material assignment overrides are still an experimental feature and can change at any point.