The RANCH RenderFarm User Guide Part II – the RANCH for 3DS MAX www.ranchcomputing.com 15-12-09 – December 9, 2015 Welcome to the RANCH automated rendering service, the super-powerful - and affordable supercomputer for all your 3ds Max / Mental Ray / V-Ray projects! This document contains information specific to the use of 3ds Max, with or without V-Ray, on the RANCH. Before reading it, we highly recommend you read Part I first - the General Guide - which includes everything not specifically related to 3ds Max. Summary of supported render engines - The RANCH supports 3ds Max 2009 to 2016 (x64) projects. - Animation support with the following engines: * V-Ray * Mental Ray * Maxwell Render * Scanline renderer * Iray (cpu) - High resolution still image support for: * V-Ray * Mental Ray * Scanline renderer * Iray (cpu) For Maxwell Render still image projects, please see the Maxwell-specific guide and choose Maxwell Render as the Current application in the Submit Project Form. 1 - Major plugins supported: * Autograss (Happy Digital) * BerconMaps/MultiTexture (Jerry Ylilammi) * CityTraffic (iCube R&D group) * Clone (Itoo Software) * ColorCorrect (Cuneyt Ozdas) * Forest Pack Pro (Itoo Software) * Houdini Ocean Toolkit (Guillaume Plourde) * Ky_Trail / Ky_AdjustColor (Last Jedi Outpost) * Laubwerk Plants Kits (Laubwerk) * MadCar (iCube R&D group) * MultiScatter (iCube R&D group) * RailClone Pro (Itoo Software) * RealFlow (Next Limit) * RichDirt 2 (enRich Pro) * RPC Content (ArchVision) * Tree Storm (Onyx Computing) * Vue xStream (e-on software) The complete plugins list is available here: http://www.ranchcomputing.com/en/features/supported-plugins/3dsmax - If your project needs other specific external plugins, please contact us first to see if we can support them (only 64-bit plugins will be compatible with the RANCH). - Some plugins may not be supported for all versions of 3ds Max, please consult us for details. High resolution still image rendering If you intend to render still images on the RANCH: - you _must_ read Appendix A of this guide, which contains essential information. - if you use GI, you _must_ include your GI cache files in your project (.fgm, .vrmap) 2 1) Important information about scene preparation It is VERY important that you read this section carefully before submitting a scene. It will help you avoid common mistakes. The most important recommendation: use RANCHecker! RANCHecker is a 3ds Max plugin developed by the RANCH to help you prepare your project before uploading it to the RANCH. Click here to access the RANCHecker download page. Important: if you use 3ds Max 2012, make sure you have installed the Service Pack 2 (SP2) update before you install RANCHecker. RANCHecker does all the dirty work for you: it gathers all the textures used by your scene, includes the GI maps if used, verify that you have correctly set up the rendering parameters, change file paths if necessary, asks you the right questions... and finally compiles your projects in a .VU3 archive file, ready to upload to the RANCH! With RANCHecker, sending a project to the renderfarm is a trivial task. RANCHecker is compatible with all versions of 3ds Max since 3ds Max 2009. To install RANCHecker, follow these steps: 1. Download and unpack the RANCHecker_3dsmax.zip archive on your hard disk. 2. In 3ds Max, choose MAXScript->Run Script and open the .mzp file, or simply drag the .mzp file into the viewport. 3. You can now install RANCHecker by clicking on the Install button: We recommend you create a button in the 3ds Max toolbar as a way to launch RANCHecker quickly. To do this you have to: 1. Go to Customize->Customize User Interface 2. Go to the Toolbar tab, Category:"RANCHecker", 3. Drag the 'RANCHecker' name to the toolbar. 3 With the plugin launched and a scene loaded in 3ds Max, choose your options by clicking on the Set Options button, then click on the Check Scene button to prepare the project for the RANCH. That's all! Very important When RANCHecker has finished its job: - do not rename the .vu3 file - do not modify or rename the main .max file inside (it will have a 'R_' prefix), otherwise the project will be rejected. General recommendations * Do not use accentuated / non-alphanumeric characters, spaces, apostrophes and dots in the filenames of your project (scene, textures, objects, output bitmaps etc.). To avoid any possible parsing problems on the RANCH Runner, please use only letters and numbers. You can also use the “_” sign (underscore) to replace spaces. * Always specify image bitmap formats as animation output (bmp / tga / png / exr... etc.). We do not support rendering an animation directly to a video file format (avi / mov / wmv…) Maxwell Render users: - if you use Maxwell Render as the render engine for your animation, you must read page 5. V-Ray users: - if you intend to use the V-Ray Animation (prepass) / Animation (rendering) mode, you must read appendix C. XRef files You can use externally referenced .max files in your projects, with one condition: the main scene only must have the prefix 'R_' (it is automatically added by RANCHecker and used to identify the main .max scene). If there are several .max files, or no .max file, with the 'R_' prefix in the .vu3 archive, the project will be rejected. Frame output name Make sure that the frame output name contains some letters and not only numbers, otherwise the server will not be able to count the frames properly when they are numbered. 4 * If you use Maxwell Render as the render engine for your 3ds Max animation project, please verify that the values for 'Time(min)' and 'Sampling Level' are correct, as you will not be able to change them in the 3ds Max Submit project form. The Time(min) value entered here is the maximum render time in minutes for each frame of the animation, not for the entire animation. This render time does not include the preparation / voxelization time. We recommend that you always use a Sampling Level to stop the render for each frame, instead of a time limit (to do so, enter a very high value in Time(min) so that the SL will always be reached before the time limit). This is the best way to ensure that each frame of the animation will have exactly the same image quality. * If you use e-on software Vue xStream in your 3ds Max projects, you must embed the Vue scene in the 3ds Max scene before sending your project to the RANCH. To do so, please verify that you have checked the 'Incorporate Vue scene in 3DSMax scene file' square in the Vue xStream options, before saving your scene in .max format. 5 * How to render a specific camera? By default, the .max scene is always rendered using the active camera (that is, the currently selected view). After you have successfully RANCHecked your project, all you have to do is include in your .vu3 archive (it's a really a .zip file) a text file named camera.txt, which must contain a single line: the name of the camera to render. Note that the camera name can contain spaces, and that it is not case-sensitive (in our example, "camera 002" and "Camera 002" would represent the same camera). If the camera does not exist in the scene, the project will be rejected during the validation process. With this function, you can easily prepare a scene with several cameras only once with RANCHecker, and then change only the camera.txt file to create several projects, one for each camera. * Referenced projects, or how to save upload time Warning: this feature works only when the original (referenced) .vu3 project has a size < 2500 MB (including assets). If you have several scenes which use the same assets/textures, you can use our Local Assets function (see appendix D of this guide) to upload these assets once and for all. But what can you do if you have to render the exact same scene several times but with different parameters? It can happen if: - you want to render the scene first in low definition for a test, and then at full resolution - you want to split a lengthy animation into several smaller sequences - you want to render the same scene but with a different camera To do this without having to re-upload the entire scene, you can reference a project previously sent to the RANCH. All you have to do is create a text file named referenced_project.txt, wich must contain two lines: the ID number of the referenced project, and its name. 6 In the example below, let's say that you have previously sent an animation project named 'R_Train.vu3' with the ID 12345, and now you want to send a new project named 'R_NewTrain.vu3' using the exact same scene and assets, but with different settings. First, create the referenced_project.txt file: Then, compress it in Zip format (do not use another compression technique) and rename the newly created archive as a .vu3 file - here we choose the name 'R_NewTrain.vu3' (note that the 'R_' prefix is mandatory for the RANCH to accept the project). As you can see, this fake project file contains only the necessary information to gather the referenced project ('R_Train.vu3') on the RANCH and use its data to render R_NewTrain.vu3 (below). If you just want to render the new project with a new resolution or a different frame sequence, the new settings will be entered as usual in the RANCH Submit Project form. But if you want to render a different camera than the one used in the referenced project, you will also have to add a camera.txt file containing the name of the camera to render in the .vu3 archive (as indicated on page 6). You can now upload this "fake" .vu3 project (which only weights a few KB) to the RANCH. Obviously, the referenced project must already exist on the RANCH, either because it has already been rendered, or because it is in the waiting list and has already been validated. If the referenced project cannot be found or has not been validated, the new project will be rejected. 7 Appendix A: high resolution still image rendering 1) Concept: things to know The RANCH is able to render high resolution still images using V-Ray, Mental Ray or Scanline renderers. The technique we use, MultiBand rendering, has several advantages over traditional distributed rendering: - it scales linearly with a large number of nodes, when classic Distributed Rendering quickly shows diminishing returns when the number of render nodes is increasing. With MultiBand rendering, each still image is efficiently processed by all the RANCH Runner nodes. - it allows automatic stitching and gathering of partial images - the main image or separate Render Elements - if the project is interrupted (manually or by an automated time limit). In that case, you don't lose everything and can complete the missing parts on your system by rendering regions and compositing them with the partially rendered image. - it lets you observe, in near real time, the progress of your render by clicking on the Preview button. The preview image is updated by the automated server every minute or so. Still image preview while rendering (here at 56%) 2) Preparation: things to do Please read the instructions on the next page thoroughly to prepare your still image project. It is important to respect a few simple rules in order to achieve the best performance and image quality. Please be aware that there will be no refund if the result is not what you expect because you did not follow these rules. 8 - As a general advice, do not send a still image project to evaluate the render time of animation frames: you wouldn't be able to deduce anything from it. In still image mode, each node computes a part of the image, and all these parts are recombined to form the final image. In animation mode, each node computes an entire frame, so two very different processes. - MultiBand rendering on the RANCH works with the following bitmap formats: PNG, TIF, TGA, BMP, JPG, EXR (16 bits/channel) and HDR. If you choose another format, the project will be rejected. Please note that even if you choose EXR with 32 bits per channel in 3ds Max, the final image output from the RANCH will always be at 16 bits per channel. - If you use Global Illumination (GI), it is essential that you include your GI cache file(s) in your project. That may be the light Cache (.vrlmap) and the Irradiance map (.vrmap) for a VRay project, or the Final Gather map (.fgm) for a Mental Ray project. If you don't, each node will compute its own GI solution, the result being a bad image with lighting discontinuities (banding effect). - You must use a recent version of RANCHecker (>= 2.0) to prepare your project for still image rendering. Older versions do not support MultiBand rendering and would produce bad settings. - Do not submit still image projects with 3ds Max 2009. This old version of 3ds Max has a bug which prevents it to work properly with MultiBand rendering. If you created your scene with 3ds Max 2009, choose 3ds Max 2010 in the Submit Project form when you send the project to the RANCH. - The higher the complexity, the more performance gain you can expect. Avoid sending too simple scenes - even as a test - as they won't reflect the real performance of the RANCH Runner (much of the time would be used by overhead such as network traffic rather than actual rendering). 9 Appendix B: frame preview for animations The RANCH offers you a very handy feature for checking visually your animation project when it is being rendered. It displays 256-pixel wide thumbnails of a large sample of rendered frames on a web page specific to your inprogress project. To access this page, you just have to click on the button which appears when your project is being rendered (and of course if there is something to preview: if each frame of your animation takes 30 minutes to render, obviously there will be nothing to see during the first 30 minutes :) Below is an example of what you will be able to see when you click on Preview (the preview image is always around 1900 pixels wide, its height depends on the number of thumbnails). Notes: - This function works with all supported renderers: V-Ray / Mental Ray / Maxwell / Scanline. - At the end of the render, the preview image is also copied in your project's directory. - The preview function may not work with some graphics formats; in that case it will display black frames or nothing at all. That does _not_ mean that your project has a problem of course. You can still check its progress in % in the queue. 10 Appendix C: Animation (prepass) / (rendering) with V-Ray If you want to use V-Ray Animation (prepass) / Animation (rendering) mode, you must select the « Mode Animation Prepass / Rendering » option in RANCHecker. We recommend you use this mode for all your animations as a way to eliminate flickering and improve fluidity. That kind of animation project can be done in one or two steps, that is one or two RANCH projects. Each method has its own advantages. C-1) Method 1 (standard): Prepass and Rendering in one project. This method is the simplest. When you choose it, RANCHecker will create the two scenes (one for the prepass and one for the rendering) and includes them in the .vu3 project. The two scenes will have the same number of frames and will be rendered at the same definition. When the project is processed on the Ranch, the prepass will be computed first and then the rendering phase will use the previously computed .vrmap files. At the end, the project ftp directory will contain both the .vrmap files and the final images. To select this method, just choose the “Mode Animation Prepass / Rendering / Auto (recommended)” option in RANCHecker Vray Options. This Auto mode contains 2 sub-options: - ‘Override Interp. Frames’ allows you to easily change the ‘Interp.frames’ value which will be used for the Rendering phase. - ‘Lower Interp. Samples for final render’ allows you to reduce the ‘Interp samples’ value for the Rendering phase. Larger values tend to blur the detail in GI although the result will be smoother. Smaller values produce results with more detail and reduce the render time, but may produce blotchiness if low Subdivs are used (see picture below). More info can be found here. To set this value during your rendering tests, we advise you to start using a low value, increasing it step by step until you reach the expected result. If for some reason you cannot undergo some tests, you can use the ‘Apply Ranch formula’ button, which automatically calculates and applies the minimum recommended value. 11 During the render on the RANCH, the first 50% of progress displayed in the RANCH Waiting List will correspond to the Prepass phase, and 51 to 100 % will correspond to the Rendering phase. C-2) Method 2 (advanced): Prepass and Rendering in two projects Although a bit less simple than the first method, this one may be useful in some cases. For instance, you can render all the .vrmap of a long sequence in one project, and then reuse them for several following projects without having to recompute the GI each time. And if you have to render the same animation several times with modifications to the scene that do not affect the GI (color changes for some objects for instance), you will save time by reusing the previously computed .vrmap. - The first project is used to compute all the .vrmap files (one for each frame). - The second project does the actual rendering. Each rendered frame uses as its Irradiance map an interpolation between the previously rendered .vrmap files. C-2a) First project: Irradiance maps generation (Animation Prepass) You have to: 1. check the 'Mode Animation Prepass / Rendering / Manual' option 2. check the 'Render vrmaps (step 1)' option When RANCHecker prepares the scene, it automatically changes the name of the Irradiance map files to be the same as the output bitmap files (which won't be generated by this first project anyway) e.g. if the output bitmap is 'MyProject.png', the vrmaps will be named 12 'MyProject.vrmap'. Do not change this name when RANCHecker has finished its work. For the prepass phase, RANCHecker will redirect the .vrmap output path to the standard RANCH output path which is C:\3dsmax\Output. C-2b) Second project: images generation (Animation Rendering) Important: make sure you didn't change the output bitmap and/or the Irradiance map names between the first project (prepass) and the second one (rendering). The names must be identical for the second project to find the .vrmap files created by the first project. You have to: 1. check the 'Mode Animation Prepass / Rendering / Manual' option 2. check the ‘Final Render using vrmaps (step 2)' option 3. check the 'Project ID' square and enter the vrmaps project ID With this ID number (for instance '65432'), the RANCH will find the .vrmap files of the first project and use them for the rendering pass: it saves you the hassle to download first the .vrmap files and then reupload them in the second project. It also means that you must send the second project at most 5 days after the first one, that is before the ftp directory of the first project is automatically deleted (see the RANCH Main User Guide p.4). For the Animation (rendering) mode, do not forget to configure the Interpolation frames value. The default value set to 2 works for most of the animation. Nonetheless, we advise you to start testing with a value set to 1 which could be enough and lower the render time. Also, you might need to increase the value to 3 (rarely more) for complex scenes. 13 Appendix D: temporary storage of assets If you have a slow internet connection and need to render several scenes which all use the same assets (textures, etc.), you may want to use the possibility of uploading the assets only once, and then include in your .vu3 projects only the elements which change (for instance the .max scene). Phase 1: creation of your master ftp directory Your master ftp directory is created by us. To benefit from this feature, contact us and tell us you would like to use this feature. The information to access this ftp directory will be sent to you by email. Phase 2: project preparation You must prepare your project with RANCHecker, choosing the option ‘separate assets from archive’, and then entering the name of the assets directory that will be used for this project. In the following example, let's call this assets directory ProjectAssets1 (which will therefore be a subdirectory of your master ftp directory). You may of course choose another name. By choosing this option (see picture above), RANCHecker will: - create a ProjectAssets1 directory including the project assets on your computer. To get access to it, you must click on the button ‘Get Archive’ that will open at the same time the folder including the archive and the assets folder (which includes ProjectAssets1 and more generally all the assets folders generated by RANCHecker). - add a UseLocalAssets.txt text file in the .vu3 project. This text file contains the name of the assets ftp directory to use, in our example ProjectAssets1. When the RANCH checks this project archive and detects the UseLocalAssets.txt file, it automatically adds the content of the ProjectAssets1 ftp directory to the content of the .vu3 archive to create the complete project. You have two choices to upload the folder ProjectAssets1 (including the assets) to your master ftp directory: - by using an ftp client (for example Filezilla) by using the sub-option « Ftp Upload » in RANCHecker (see picture below) 14 Regarding the « Ftp upload » option: ProjectAssets1 (including the assets) will be uploaded automatically at the end of the RANCHecking (RANCHecker must remain open until the « Get Archive » button becomes available otherwise the upload will be incomplete). RANCHecker uploads only the necessary files (that are not being transferred in your ftp account). If you have a large amount of assets, we advise you to upload the assets via an ftp client to get better performance. Things to keep in mind - In your master ftp directory, you can create several assets subdirectories, each one with different content. - This feature is not intended to be used as a permanent online storage facility. When the content of the assets directory(ies) is no longer needed, you must erase it. 15