Scene Optimization Techniques
There is this constant desire for faster rendering, improved hardware performance and overall better software optimization. While these desires may sometimes be valid, there are a lot of steps you can take with what’s already available to speed up your workflow.
Of course efficiency is subjective, it’s not always worth it to implement all of these techniques if it will take longer to do so than it would to complete the job. In my experience however, especially when mainly dealing with animation I’ve found it’s almost always worth optimizing as I go along to the point that it’s become second nature.
Now you don't have to optimize every little element in your scene, but knowing what is most likely to cause the bulk of the performance hit will be beneficial.
CALCULATION CATEGORIES INTRODUCTION
Don’t be fooled into thinking that turning an object's visibility off in the viewport will stop it from being calculated. Unless it is purely a polygon, this is not always true. There are a few categories C4D's calculations and processes are divided into:
First I'll give a brief explanation of what these are and then explain how to optimize each.
‘Made Editable’ objects are base level objects constructed from points, edges, polygons and nothing more. There is a lot more to calculation than poly count, but it should go without saying that less polygons equals more speed. Even more importantly, less objects equals more speed.
Anything that takes an existing object and modifies it (e.g. Bends, Twists, Warps) including the standard Deformer objects as well as the character skin objects and the Sculpt Tag.
Xpresso, Thinking Particles and Python tags, also character tags such as Constraint and Pose Morph. Spline Dynamics and Cloth are also classed as expressions.
Things like Rigid and Softbody tags as well as any Colliders.
OPTIMIZING CALCULATION CATEGORIES
COLLAPSING, MERGING AND BAKING
These three methods alone will drastically improve your performance in your 3D software and are the bulk of the performance boost. Reason being is the following methods reduce the calculations on your elements once they no longer need calculation to less intensive states.
A lot of people (including myself a couple of years ago) are obsessed with keeping your entire scene parametric (basically the ability to change the properties of an element through the attribute manager). There’s this fear of not being able to go back, but the truth is that those Extrudes, Symmetries, Sweeps, Bends etc. are killing your viewport and preparation stages of your render. Cinema 4D can actually handle a lot of polygons if that’s all they are.
Rule of thumb is if you don’t need to animate its parameters you should be hitting C to ‘Make Editable’. This will reduce your elements to polygons therefore reducing the calculation needed. If you want to keep an accessible parametric version just in case the client comes knocking feel free to save incrementally, but I personally make every primitive (more on that later) editable almost immediately and prefer to make changes to elements that are editable than parametric.
It's no secret that C4D struggles when trying to calculate a lot of objects, hence the popular use of instances (more on that later). But it's important to note that this isn't directly linked to the polygon count in a scene but the amount of objects. If you collapse and merge 100 objects with 100 polygons each into a single object with 10000 polygons it's actually much faster in the viewport to have a single object with more polygons on it. Especially if that compound object is being used for something else such as a Cloner, Instance or Dynamics simulation.
Here’s an example, below is my interior kitchen scene from 2017. You’ll notice Scene A appears more filled than Scene B and visually that’s true. But if you take a look at the object count you’ll see that Scene B has 2634 objects which is almost four times the amount of objects as Scene A which has 721 objects. Note that this could be reduced down to a further 100 objects, but 2017 me didn’t know that. Navigating this scene with my current build is still as slow as it was 2 years ago, even though my current build is 20x faster than it was back in 2017. This shows that it’s not my build that’s the cause of the poor performance but my poor optimization.
I’ve found the impact polygon count has on performance often scales like a curve. Meaning the difference between 100 polygons and 200 polygons has barely a noticeable impact on viewport performance, but the differences between 5 million polygons and 10 million polygons will be felt. This is why it's important to keep your polygon count low. It will boost your viewport performance, use less RAM and more importantly use less VRAM if you’re rendering with your GPU.
A big misconception for having a high polycount is more polygons = highly detailed objects and for the most part this is true, but there are more efficient ways of introducing detail into your scenes. Photorealism is for a different topic, but if you study the behind the scenes of big budget films you'll often find you can have a very low poly scene while letting all the details come from the materials, textures and lighting.
Below are some examples of how polygons are used on characters. You’ll see that the model doesn’t have millions of polygons and still appears photorealistic. Again photorealism is for a different topic but I wanted to show that render detail isn’t dependent on high polygon count.
This is not so simple, sometimes baking to PLA depending on the complexity of the object can be bad for viewport performance. Reading so much data every frame can take a lot of calculation, but it’s usually a good idea to try and get to a point where you can lock everything down into polygons and animation without using any internal calculations. Caching simulations (fluid, cloth, dynamic etc) will also dramatically improve your performance, converting the live calculation from your CPU to the write speed off of a drive (preferably SSD) will make your viewport a lot more responsive. It’s generally a good idea to bake sculpted objects into texture maps, this reduces polygon count shifting the details into texture maps which are less intense for your system to calculate.
Notice how a lot of the ‘flat’ areas of the model are sometimes made up of only 1 polygon, the areas where more polygons are introduced are when smoothing curved surfaces.
The default Spline Intermediate Points of Adaptive and 5° may keep your splines smooth (especially if an object is animated using it a path) but for most situations I prefer to use low Uniform subdivision of around 8 or 12 to get a cleaner and more sensible resolution when using Sweeps and Extrudes.
Sweeps And Extrudes
Most people use a Circle Spline for their Sweep Nurbs, this is fine as long as you take the above precautions to reduce the resolution. But as you can see below, using this with its default settings is unnecessary. I prefer to use an N-Sided Spline, you simply adjust the amount of sides to control the subdivision count of the Sweep.
The default 2 viewport subdivisions and 3 render subdivisions are usually too high. When dealing with large scenes I often drop my viewport subdivisions to 1 and 2 subdivisions on render. It depends on your scene of course. I used to render at 3 subdivisions all the time, but when dealing with elements that take a long time to render like glass I like to keep the subdivisions as low as I can and often find there is minimal visual difference between 2 and 3 in a lot of my scenes.
Also try to limit the number of Subdivision Surface objects in your scene. If you have a group of objects that need smoothing you can put them in a Null to group them and place that Null in the Subdivision Surface as you’ll see in the example below. If there are objects in your group that you don't want subdivided you can use the Stop Tag to stop Generators and Deformers from affecting specific objects.
It's annoying how much this can slow down your scene and I wish there was an instanced workaround of this too. Sometimes it's useful to help model faster and I often use them when modeling symmetrical elements, but when no longer need to make drastic changes keep a primitive version of it saved and then collapse and merge it down to one object to improve viewport performance.
Caching your dynamic simulations will also speed up your viewport, whether it’s via the Dynamics Tag, Mograph Cache, or baking to PLA (Point Level Animation). Once you’ve gotten your desired dynamics results it’s a good idea to lock down your simulation.
In this chapter I’ll be giving an overview of my workflow. A lot of it changes and updates month by month so some of this information will likely have changed by the time you’re reading it. I won’t dive deep into the 3D pillars (modeling, lighting, animation etc.) since each topic is explained in depth through the online program video training, but I’ll give a brief overall explanation of other processes that add up in a project as well as tricks I’ve learned along the way. This is not cut and dry, every project is different and sometimes I work differently depending on the situation. Also note this is my process when working alone as a freelancer not when working with or leading a team.
This is probably one of the most overlooked but a vital part of your workflow. Having an unorganized PC will be like trying to live in a dirty house that’s full of misplaced objects getting in your way. Like keeping your house clean, It’s important that you manage your files well so that you don’t have unnecessary energy spent on trying to function and get around your environment.
This is a literal screenshot of my desktop. It’s clean and It’s not drowning in files. Every time I open my laptop I’m introduced to a clean desktop with no distractions. I’ve even hidden the taskbar and all I have pinned is explorer and chrome. These days in 2021 I travel light as fuck. Which means not just my physical objects are minimal, clean and light, but so is my laptop. All of my work files, student recordings, group coaching call recordings, online course videos, patreon project files etc. all add up to 361GB. So in 2021 I could run around and run my business on a 512GB SSD if I really wanted to.
It’s important to organize your files when working on a project so you can easily access things and work more efficiently. I organize all the way down to allocating specific drives for certain types of projects or files. You’ll notice I actually have a lot of free space, this is a result of organization and optimizing my storage space.
Below are my different drives and what they’re for.
1. Drive C (512GB SSD)
: This SSD holds my system files and all my programs to ensure that my system runs smoothly and quickly.
2. Drive D (1TB SSD): This holds all my client projects I’m currently working on, it reduces input lag by making files open, save and close quickly making my work smoother. Once a project is completed it gets moved to Drive E for safekeeping in case I need to access it in the future.
3. Drive E (8TB HDD 7200RPM): This large 8TB is my main storage that holds everything from recent client work, Documents, Downloads, Videos (Movies, Courses, Tutorials and Renders), Music, Client Photoshoot Files, Large project files like photogrammetry work etc.
4. Drive F (1 TB HDD): This drive is under the suspicion of hard drive failure so at the moment it’s being used as a second backup.
5. Drive G (250GB SSD): This SSD was given to me by someone who had so use for it anymore, it’s too small to use practically therefore it’s used for Caching things like Premiere and After Effects Previews, Mocha Tracking Data, Fluid Simulations, and anything that would benefit from fast temporary read and write speeds.
6. Drive H (1TB HDD): This drive is my backup drive of any important files in case I lose or change files I can’t get back.
7. Google Cloud Drive (2TB): I use this for syncing important client files between my render unit at home and my laptop that I carry with me while traveling and moving around. This keeps multiple copies of my files but also allows me to either:
A: Work off my PC at home (in real time) through my laptop while in another country or in a coffee shop for example lol
B: Use my PC at home for final rendering purposes. I can just open projects on my pc through my laptop and hit render while the files sync back to the laptop.
My PC at home scores 500 points on octane bench and my laptop scores 150 points, so this becomes a practical approach for animation.
I also use this to store files other people might want to access at any time like clients, students, patreon projects etc. This way I store the most important things knowing it’s safe and is not dependent on my availability or my computer’s health.
So we’ve gone over organizing files, but how do I name them? Well for general files It’s mostly personal preference, but when dealing with clients I tend to get very particular to help me and anyone else opening the project know where things are.
This is very different depending on the specific project type but hopefully by seeing these examples you’ll get the idea.
This is an example of the basic structure of my folder hierarchy and folder naming.
This is an example of how I tend to name files:
PRODUCT VARIANT - TYPE - VIEW/ANGLE
Now other things like HDRI’s, cache etc. I tend to be a bit more lenient, but It’s good to generally name things well so you can easily find things and keep them organized and it will save you a lot of time in the long run.
Another case where I thought more was better, but I didn’t realize how big an impact resolution played on file sizes.
Usually when rendering 3-5k images for client’s I would have all the main photoshop documents of the labels be 6144px-6144px to make sure everything is sharp. But I didn’t realize that having them at 4000px-4000px looked exactly the same and were half the file size. Half the file size means half the time it takes to save the file and update in cinema 4D. It gets even worse as you go up to 8k and above, that’s where the law of diminishing returns really has an effect.
Below you can see the comparison between the same file at different resolutions and its file size. As you add on 2000 pixels they double in size, and they look exactly the same when rendering them in c4d at 3k resolution.
I now keep most of my photoshop label documents at 4000px-4000px or less if It appears smaller in the scene. Only when I notice the blurriness and lack of resolution will I increase it because it has a huge impact on the file size, saving speed and updating speed in c4d.
The same concept applies to rendered files. Here is an example of an 8-bit png render and 16-bit png render that look the same visually and their file sizes.
Now if you’ve got a lot of photoshop files you want to convert back to 8-bit it may seem like a hassle to update them. What I did is set up a 2 step action in photoshop to convert the file to 8-bit and save, then I selected a group of photoshop files to update and opened them all at once. Then I just went through each tab and ran the action and clicked close all. I updated 10 files at a time in a few seconds and cut my storage usage down by 90% with all those files.
As you can see what we’ve done is reduce these files from 16bit to 8bit, then from .png to .jpeg. The file size has dropped from 17MB to 0.6MB and they look exactly the same.
Below these two images cropped. A 3000x3000 .png render and a 3000x3000 .jpeg render. I’ve looked closely comparing the two and you can’t see a visual difference between the two. But as you can see one file is 6MB and the other is 0.6MB
Missing Files Solution - The Tex Folder
It’s important to keep communication between you and the client efficient and smooth. You don’t want to be sitting and waiting for information that you need from a client before moving forward when you could be spending that time working productively on their project. If you’re communicating through email, a client won't know if you’re working hard on their project or if you’ve been waiting for the past few hours for them to email you back. Granted you can do other things in the meantime, but more often than not this tends to drag out your project making it take longer to complete than it should.
I suggest switching to an instant messaging platform once you’ve begun your project to speed up the communication between you and the client. Whatsapp or Skype are good options.
Client Response Rate
Before I begin this section I want to state that the best thing to do if something is not working is to communicate with your client. If you’re not happy with something just tell them in a polite way and in a way that helps them understand your perspective. But sometimes you deal with clients who can be troublesome to work with and you can’t always avoid it. I’ve been told “you shouldn’t work with clients who aren’t nice to work with.” To that response, the ROI of figuring out how to deal with these issues is much higher than avoiding them.
Now that’s out of the way, a big issue I’ve had in the past is the rate at which you receive information back from the client. It’s just how things are, if they’re big clients they can get busy. Here are a couple of methods I’ve learnt for dealing with slow responses.
Fast: Every client is different, some clients respond immediately and some may take a couple of days to get back to you. If your client responds quickly feel free to flow information back and forth quickly, but..
Slow: If your client takes a while to respond, what you don’t want to do is request information on minor details one at a time. You want to bulk the most important information in one message, such as details to do with payment or the project. If you do that, you get the most important information which enables you to move forward until the next time they contact you. I’ve personally never had a client that’s not paid me before, I’ve had projects that haven’t worked out and canceled but that’s mostly been my own doing. What I have had is clients take their time to pay as soon as they’ve gotten what they want so.. If they often take too long to respond you can take precautionary methods such as either receiving payment before the project starts or finishes so you don’t end up working for a long time without receiving payment. If you’re worried they may not pay you can make sure not to send usablel files that they can run with and begin advertising until they’ve taken steps to make sure you’ve received your payment. These are all options if you’re afraid they may not hold up their end of the deal, but like I said I’ve never had a client not pay me. I’ve had clients try to under pay me or try to get a discount but they’ve all paid, so if you’re feeling the fear don’t worry too much unless you’ve had a bad experience in the past.
Again, with all that being said the easiest method to both you and the client getting what you guys want is communication. If you are not happy with something the easiest method is to just tell them.
Sending Previews - Snipping Tool
I’ve found this cute little tool amazing for taking quick selective screenshots of your screen which you can quickly show your clients. In the past I’d actually render out parts of the scene or hit the print screen button, go in photoshop, crop export etc. and this was very tedious lol. The snipping tool allows you to quickly show them what’s on your screen in seconds. For example, you open your live viewer and quickly snip it instead of spending time rendering out the frame and sending it to them.
Sending Files - Wetransfer
One method of sending video files is over your instant messaging app. I personally used to upload it to google drive, create a link and send it to them, that was also tedious. What I’ve found works quickly and well is WeTransfer. You can send preview or final renders quickly by dragging a file, receiving a link and forwarding the link to the client. If you’re using the free version WeTransfer has an expiration on the link so it doesn’t take up any storage space on any cloud drive you may have.
I thought I’d throw this in to those who are curious about the common project settings I use.
I almost always work at 25 FPS. It’s 1 frame per second more than 24 FPS which is considered the cinematic frame rate, but because it’s an even number it makes it easier to judge time in my scene. I personally find it easier to count in 25 increments than 24. In the past when working with advertising agencies they’d actually broadcast in 25 FPS which is what got me to adopt it. Unless you’re working with a team or working with footage in different frame rates, 99% of people won’t notice if your footage is 23.976, 24, 25, 30 or 48 FPS by looking at it so I stick to 25 FPS.
Frame Aspect Ratio
The choice of aspect ratio is partly creative but also dependent on where the video will be displayed. The standard and most format these days is 16:9 Widescreen so you’ll know if you choose this it will play just fine on every platform. If its purpose is for instagram aspect ratios such as 1:1, 4:5 or 9:16 format generally works better.
The aspect ratio can also help drive the story and can be chosen depending on what the video consists of, if the video consists of tall objects like characters it may be good to go for a taller 16:9 or 16:10 aspect ratio. If the scenes mainly consist of landscapes or you just want that cinematic feel, it may be better to go for a wider 2.39:1 Panavision aspect ratio.
Electricity Advert Environment Scene - 2.39:1 Panavision
Brush Instagram Advert Product Shot - 1:1 Square
Shoe Advert Product Shot - 1.90:1 Digital Cinema Initiatives
Most of the time I render out in 1080p. If you don’t have a beefy PC feel free to ask the client if 720p is fine to render out in, but 1080p has become standard. In cases where the quality is expected for example when working on a big project I’d render it out in 2K or 4K. Editing in these resolutions can be quite sluggish however so I tend to only render out the full resolution as the project is near completion.
With rendering test renders tend to go with jegs, they take up less space so I can render a lot of previews without worrying about filling up too much space. My final scenes I like to render out 16 bit PNG sequences. This gives me an uncompressed format and enough color range to do post color effects and grading, my render passes are generally rendered as 32bit EXR files for compositing. More on my specific Octane Render settings in the Octane Render chapter.
I like to work in 16bit sRGB Color space in After Effects. Working in Photoshop depends on the project because it influences file size and speed. I’ve read all the information online about working linearly, but personally I’ve found that working that way has caused more problems than solved. I’ve also tried working in 32bit and so far I haven’t noticed a difference besides taking up a lot more space on my hard drive. Now does this mean I will never work in these formats? No, I’m sure in a rare case I might use 32bit for a specific project that needs it. But for now my current workflow has been working great.
Generally my sample rate for projects is 44.100 kHz because it’s generally the sample rate I receive with audio files and you really won’t hear a difference going higher than that. Higher sample rates are generally meant for film and music productions but this setting isn’t so important.
MODIFYING DEFAULTS ATTRIBUTES
In Cinema 4D the object defaults and the tool defaults can easily be changed via a function in the Attributes Manager. Changing the defaults will help you save time instead of reapplying commonly used values in every new scene. I would set all the optimized settings we spoke about in the Scene Optimization chapter as defaults so that they’re applied automatically when you start a new scene.
There are probably more settings that I could change in this panel to boost performance but up until this point I haven’t found I’ve had performance issues with all the optimization techniques we spoke about.
I set my Anti-Aliasing to 16 for smoother lines when modeling.
I’ve increased the Recent Files to 25 for easier access to recent projects and set the auto save to every 15 minutes and raised the limit to 20 copies. I’ve rarely needed to go back to previous versions of my projects using the autosave copy feature, but it’s still nice to know that it’s an option in case I need to revert to something that would take a really long time to remake.
I’ve set my Undo Depth to 100. There’s nothing worse than wanting to go back to what you previously had but the level you can undo your changes to is low. I personally have a lot of memory on my PC so I’d rather be safe than sorry.
I personally like a darker interface in my software, I find it more appealing and easier on the eyes. I turned down my General - Background Interface setting to 18% on the V slider of the HSV Slider Section.
USER INTERFACE LAYOUT
Something that will save you a few seconds everyday is customizing your UI (User Interface) layout. I like to place all my most used buttons around my UI for quicker access.
: These buttons are in the chapter below called Helpful Commands
. They help with my modeling so I’ve placed them underneath all the other modeling tools.
Green: Because I don’t often use the standard Cinema 4D renderer often I’ve replaced it with the Octane Live viewer and Octane Settings commands for quicker access.
Yellow: These two commands are the Dissolve and Weight Subdivision Surface also in the Helpful Commands chapter below.
Pink: These two commands are explained in the Custom Scripts chapter below.
Blue: I’ve gone and placed the common Octane Commands I use for easy access here.
Once you’ve configured your layout you can save it as your startup layout so the next time you open Cinema 4D everything will be available for easy access once again.
Center Axis To
This is a quick way to center the axis of your object. It saves you the few seconds of going mesh>axis center and applying settings that way.
This resets the position, scale and rotation of your object. It’s especially useful if you want the selected object to have the same coordinates as your parent object. You just make it a child of the parent object, hit PSR, and your object now shares the same coordinates as its parent.
Set Point Value
This is useful if you want many points to share the same position along an axis. An example is if you want a straight line of points along the x-axis you can select those points, and use the Set Point Value tool set all of their coordinates in a few clicks instead of adjusting each point manually.
Scroll To First Active
Let’s say your object manager is a mess but you want to find an object in your scene. You can simply select the object in your object in the viewport and hit Scroll to First Active to find it in the Object Manager.
This tool I often use when modeling for getting rid of lines. Hitting the delete key on a selected line deletes the faces connected to it too which is often not what I want, the dissolve tool ‘dissolves’ the selected line and keeps the connected faces.
Weight Subdivision Tool
This tool is useful if you want a sharp edge on a smoothed object. An option is to add more lines in that area but the result of that will increase the density of polygons as well which may be unnecessary.
Shift + C
This is a great search command I often use for quickly finding tasks like split or optimize so you don’t have to scroll through the menus.
The following two scripts feel almost like an easter egg in my tutorials. A lot of people don’t know where to find these buttons, that’s because you can’t. I made them.
Sometimes it can be very tedious to go through the same sequence of button clicking in every project. You may be thinking “I wish there was a button to apply the whole sequence with one click.” With Scripts, you can make your own command that does a sequence of actions.
You may run into the issue where you make a cylinder editable and the cap faces aren’t connected to the height faces. It’s really annoying I know, why can’t C4D just connect them as a default right? To connect the faces you need to find the optimize command. Optimize basically finds points that are a certain distance to each other and merges them. I decided to make a script that does the same thing that I can dock on my layout panel. For some reason I made my own optimize command back in the day, you could simply dock the optimize command that already exists on your layout.
How to download and install these scripts are in the Software installation & setup video in this program.
We spoke about collapsing earlier. Let's say you have an object with children (e.g Null + Object) and you want the object and its children to be merged into one object. The standard way of doing this is a few too many clicks for someone that does this so often, so I developed a script for it. It also doubles as a ‘Make Editable’ button too so I also use it for that purpose.
A surprising amount of people, even the professionals, still don’t really use layers. Now I admit I don’t use this often too, I find the type of projects I’m doing don’t need it. But you’re someone that generally has large and complex scenes such as environments this is where you will find that this tool shines. You may be thinking that it's mainly used for organization which is already an available feature in the object manager, but not only is it great for organization but it’s the fastest way to temporarily reduce calculations within your scene.
With layers you can choose to switch off all Generators, Deformers, Expressions, and Animations for a specific layer. You can hide layers from the object manager, lock layers so you don’t edit them accidentally and just to top it off you can also hide objects in the viewport, render and object manager as well as solo objects. I don’t think I need to explain why this is invaluable when working in large scenes.
I find I don’t have to do this as much anymore since my scenes are well optimized anyway, but I often used to create two versions of a model. A high poly element for rendering and a low poly proxy with enough detail to animate with for the viewport. There are many ways of doing this, you could set up a complex Xpresso rig but I find it easier to place my proxy and render objects in a Null and animate the Null so I can easily hide and show each element animating or rendering. Creating proxies can often be as simple as reducing your environment’s trees to cylinders, rocks to spheres and buildings to squares. This can be useful when you need to animate something like a camera and need a more responsive viewport. When you want to render and viewport response isn’t as important, feel free to swap the final version back in. If you optimize scenes well you won’t have to do this as much.
SPLINES AS NULLS
There's a handy feature that's missing when it comes to using a Null as a parent.. Enable. By using a spline (a Generator) you are able to Enable/Disable every generator and Deformer in that hierarchy by Cmd+clicking the Enable icon (check\cross). It's useful to use rarely used splines, which in my case is the 4-sided spline, and setting the default size to 0 to hide it from the view port. You could also dock this specific spline in your layout and use it as a Null when you need that control.
Here's a quick tip I use all the time: Holding Alt when creating any object will automatically make the new object the parent of the selected object as well as share its coordinate. Hold Shift will make it a Child.
Here are a few of my favorite plugins I’ve found useful in my own workflow. Some may not necessarily speed up your workflow but I’ve used them in my various client projects and stick by them. I think anyone who hasn’t come across any of these should definitely check them out.
Fuv Canvas Size
This plugin comes in very handy when you want to change the width and height of your composition without your camera perspective going wonky. You can simply change the canvas size just like cropping in Photoshop.
This is a great free plugin for quickly searching for effects in after effects like brightness and contrast. Saves time going through the menu items.
Good old Octane. Most people have already heard of this render engine as it’s popularity is growing, but you may not be thinking of it in the way I’m about to describe it to you. Octane Render is a tool, just like any other render engine such as Redshift, Arnold, Vray etc. and it’s famous for being physically accurate while being blazingly fast. If you render in Octane (and your build is tailored towards it) you’ll generally work and render faster than any other render engine, therefore it’s a tool used for a fast and efficient workflow. I constantly get asked about my thoughts on its competitors like Redshift or other engines and to be honest, I don’t care about what is going on with other render engines. Octane Render produces excellent results blazingly fast, therefore I use it to get my work done faster. If Arnold suddenly had a huge stride and offered enough benefits for me to switch and learn a whole new render engine then I’d use it instead. I’m not biased towards software. The best part about Octane is it’s performance scales linearly with your Cuda Cores, so if you have a project that needs to be completed in a short amount of time you can rent/buy GPU’s to scale your performance. Where with After Effects, it doesn’t matter if I get a CPU with twice the core count my performance gain would be minimal.
Hdr Light Studio
This plugin is honestly brilliant, it provides an easy and quick way to get stunning lighting in your scenes. Where it shines for me personally is studio lighting for products. Not to go deep into this topic but lighting is extremely important and can either make or break your render. What often makes a product render look high quality and professional is having the familiar look you’d get from a professional studio photoshoot. This plugin lets you achieve that same look quickly, easily and with a lot of control. My previous method for lighting would be to place Octane Lights around the scene, but the level of control you have over your lighting is laughable compared to the control you have in HDR Light Studio. This is now one of my favorite plugins next to Octane Render.
This is my go-to when it comes to liquid simulations. To be honest, it can be very tedious and there are probably better solutions such as x-particles out there. But it took me a long time to learn and it works for the projects I do. As I said, there are downsides to it but I haven’t really seen anything out there that drastically outperforms it while integrating well with Cinema 4D and Octane.
This is a fairly good plugin for doing smoke & fire simulations. It has its bugs but I’ve used it for simulating smoke/dust on car tires and for burning trees in the past.
This plugin is super cool if you want an easy way for generating ivy and adding some nature in your scene. It’s a bit nippy in some areas like realflow can be but gets the job done.
I’m often seen as a source for learning Octane Render online, so I’d feel terrible not to dedicate a section to this topic alone. Remember, this is not a manual on how to use Octane Render nor. I’m simply here to give you tips I’ve learned to make your work quicker and easier. Preset octane render settings are already provided in the online program for you to copy and paste for professional use each time.
OPTIMIZING FOR VRAM
VRAM (GPU Memory) is something I struggled with when starting out. Sometimes my scenes were so big and so poorly optimized that my VRAM would fill up and I couldn’t even render out the frame. Here are a few things I learned that will help minimize your VRAM usage if need be.
We spoke about what instances are and why they’re so useful in previous chapters. We spoke about how you store less geometric data by using them, by storing less data your VRAM usage drops too.
Another trick is to change the ‘texture type’ of imported textures that are greyscale (black and white) to float. Normally the entire texture is converted to RGB regardless if the imported texture is grayscale or color, changing it to float will tell Octane to only read the grayscale values not the full RGB spectrum therefore reducing the VRAM usage. I found this especially useful when I used to render environments on my GTX 770 with 2GB VRAM lol.
Unless you’re getting really close to your subject, you don’t need textures above 4K (4096x4096) resolution. I’ve worked on highly detailed photorealistic client work that didn’t have a texture above 4K in it. Using lower resolution textures will save you VRAM and prevent crashes. I’d test it out for yourself and see what resolutions are optimal for you. Personally I’ve found 4K to be optimal, anything higher is generally too much unless the only thing driving the detail or it’s an up close shot. It depends on what works for you, if you don’t have VRAM issues and want the highest resolution textures then by all means go for it.
This feature is almost as revolutionary as the AI Denoiser, but it’s barely spoken about. The adaptive sampling feature in a very basic explanation stops the rendering of certain areas in your scene that reach a certain noise threshold. It basically means you can decide to only render the noisy areas of your scene instead of the whole frame! This feature alone can cut your render times in half, a quarter an 8th etc. depending on the scene. I use this 99.99% of the time because of how good it is and how much time it’s saved me on renders. Also, because it’s only rendering a section of the scene you can raise your sample count to pump more samples in the noisy areas.
Another amazing feature that has been implemented recently is the AI Denoiser. The AI Denoiser is amazing for getting clean previews for visualization that you can send to clients as well as cleaning up any little bit of noise you might have in your final renders. I think it’s also underestimated how well it works, there are denoisers out there that give inaccurate results with artifacts. I remember having to pump my samples so high to get rid of all the noise in some scenes and my render times skyrocketed, but this feature helps me keep my samples low and not get those annoying noisy dots creeping out in final renders.
Path Term. Power
I see this value as cutting paths shorter therefore spending shortening render times. I tested this a couple of times and found it cut my render times by around 20-30% so I keep this at 1 just to save extra rendering. I haven’t noticed any visual difference between the value 0 and the value 1 so that’s something that I think isn’t common knowledge.
This I don’t use as much, but it can be useful when rendering animation previews. It basically makes the picture clear up quicker but will introduce artifacts. It’s good for previewing your animation.
This controls how many samples are calculated in parallel (at the same time). The higher you value, the more memory required to store the samples. I haven’t tested the actual effect on my renders but I’ve seen through other peoples tests how it cuts render times quite a lot so if you have a lot of VRAM it doesn’t hurt to crank this up as high as it can go.
This feature doesn’t improve your render speed but I feel like people miss it when dealing with scene scale. If you’re someone that works to scale like I do (and recommend you do to if you want photoreal renders) then this slider is important. You can look at it as a slider that tells Octane the scale of your scene and help it give you more accurate light and shadows. If you want more information on it feel free to check out the Octane manual.
When I’m ready to render I make sure all my settings are optimal so I make sure I’m delivering the best quality. I make sure my video bit depth is 16bit and my audio sample rate matches from source audio across all comps. I like rendering through Adobe Media Encoder, it provides an easy way to render multiple sequences after each other so I can work on other projects while I wait for rendering. It also keeps my commonly used settings as presets so rendering becomes an organized and smooth process.
Below are my settings for final rendering (for client work):
The important setting here is the Bitrate Setting. This will have the biggest impact on the quality of your render. I tend to use CBR to keep constant quality across all frames. For 1:1 or group coaching call recordings I use 1.5 bits since that lowers storage and you can still see what I’m explaining on screen even if it gets blurry when things change on screen. For more produced videos for YouTube or my online program I’ve found that using more than 5 bit adds no quality to my renders so that’s my maximum. For client work however I often set it to 100bit just so I’m using the maximum quality I can at the sacrifice of storage. Adobe Media Encoder cleverly only applies the maximum amount of data needed in the video not the full 100 bits so you’ll find the actual output video file can only end up being at a bitrate of 5 because more than that is dead data.
Though this was a boat load of information, this is just the tip of the iceburgh.
We know very well that you can only get so much out of a written document. It's much better to have someone hands on look at where you’re at and what you need to change for your situation.
So, If you’d like to really take your 3D to the next level: