Professional Hacks to Speeding Up Your 3D Workflow
Published by Arthur Whitehead on Sep. 27th 2023

Introduction

Welcome to one of our guides from the 3D Product Animation Accelerator™

This is a comprehensive written help guide addressing common questions/issues/tips that many members of our program have related to scene optimization for commercials.

The core of what you need has already been addressed in this program and we may have already made extensive updated videos on each chapter by the time you’re reading this, but this hopefully guide will give you some extra extra notes to help push things even further for you.

This starter kit/guide includes techniques and secrets that often only the top professionals are even aware of and utilize. It will give you a deeper understanding into new ways of working that will speed up your performance, workflow and rendering.

These techniques are especially useful to those who are struggling with performance due to their available hardware and need to compensate with optimization.

Here are just a few things you’ll learn in this guide:
                   How to optimize your scenes for viewport and rendering performance.
                   How to speed up your rendering.
                   How to go about doing projects.
                   Tips for dealing with clients.
                   Hacks for a more efficient workflow.

Though my software of choice to demonstrate the techniques is Cinema 4D (C4D), the same techniques generally apply across every software.

These techniques were passed down from some of the leading professionals in this space, and now I pass it on to you so you can learn how to work like a pro too :)

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:
                          Polygons
                          Generators
                          Deformers
                          Expressions
                          Dynamics
                          Mograph

First I'll give a brief explanation of what these are and then explain how to optimize each.

Polygons

‘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.

Generators

All objects that are parametric themselves, or that create objects that would otherwise not exist can be considered a generator. Primitives, Splines, Subdivision Surface, Extrudes, Sweeps, Cloners, Instances, Symmetry, Booles, Hair are a few examples. In short, if it can be enabled/disabled in the object manager by a check/cross then it’s probably a Generator (unless it’s a Deformer). Some are heavier than others to calculate but in general these are the main culprits for slowing down your scene, both in the view port and during the ‘Preparation’ of renders.

Deformers

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.

Expressions

Xpresso, Thinking Particles and Python tags, also character tags such as Constraint and Pose Morph. Spline Dynamics and Cloth are also classed as expressions.

Dynamics

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.

Collapsing

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.

Merging

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.

Scene A:

Scene B:

Baking

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.

POLYGONS

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.

Scene A:

Scene B:

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.

GENERATORS

Primitives

The default subdivisions for Primitives are often too high. This depends on your scene, but if you’re dealing with small/distant objects you can often reduce the subdivision count to something more reasonable. As you can see in the example in the Polygon chapter above, the subdivision levels of the beveled edges are only around 1 or 2 subdivisions. I’ve found that if the purpose of the Filet/Bevel is to add curved edges for catching reflections then the subdivisions can often be reduced to between 3 and 5 subdivisions. Again this depends on your scene but keep in mind that the Phong tag can be used to add additional smoothing.

I’ve found a Cylinder’s default 36 subdivisions can be often reduced to 22, 12 or even 8. My default is set to 22 which I mainly use for objects like cans that will be subdivision smoothed. Things like cups I often go down to 12 given that it will be subdivision smoothed. I can drop it to between 8 and 12 if it’s a small/distant object like a pipe or wire and again the phong tag will smooth it out for you.

Splines

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.

Subdivision Surface

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.

Example:

Instances

Instance based generators such as Octane Scatter have become more popular in recent years. While you may only see it as the method that turns your viewport from sluggish to snappy, understanding why that happens may help decide where you should maybe be using it more often. In layman's terms, an instance differs from a regular copy in that instead of creating a second set of geometric data, it references the original object with new coordinates. 
Therefore if you change the original object it will change the instance automatically. This is useful if you have multiple duplicates in your scene and you want to replace all the objects quickly instead of manually doing it one at a time. Even more handy however is because it references the original object, you can dramatically increase the amount of objects in your scene with little performance dip because it only needs to store the geometric information of the original object. Hence why enabling it on a cloner feels like you just turned on god mode.

This also benefits your memory usage. If it only needs to store the geometric data of the original object it will use less memory. This means less consumption of RAM, more importantly for those in GPU rendering without that much VRAM to play with. You can even instance things like fire simulations which are extremely useful if you want to burn a forest for example without breaking your system.

Symmetry

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.

Mograph

Mograph is also calculated as a Generator, but you may not know that it has its own Mograph Cache Tag. This helps to speed things up in the viewport as it can also store dynamics on cloners and fractures within the tag automatically.

DYNAMICS

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.

Workflow

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.

CLEAN HOUSE

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.

Clean Desktop

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.

Drive Allocation

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.

Folder Structure

When working on large projects with clients It’s easy to get lost and confused when trying to find files. If you don’t organize your files well it will slow down your productivity. You don’t want to spend mental energy trying to find files before you even start working, spending just 10% of your time trying to find files can have a huge impact on your work and drain a lot of energy. Having an organized system where you can find a file quickly, no matter the client or the project will make your life a lot easier.

Here is my basic folder structure when dealing with clients, this varies depending on the project but for the most part stays it the same. You don’t have to follow this structure exactly (or at all) but I’ve found that this system helps you (or anyone else) find things quickly and easily even if It’s years old and you don’t remember where you placed things.
Basic structure goes like this:

>Client
    >Project
               01 - BRIEFS AND FINANCE - includes financial documents (contracts, invoices etc.) and any            briefs/storyboards etc. sent from the client before beginning a project.
               02 - PROJECT DEVELOPMENT - includes files used that help develop the project (files from client, references etc.)
                      01 - ARTWORK - labels that need to go on a product that are received from the client. These files are never overwritten, I always copy them to the assets folder before editing so I have a clear unedited reference of what was sent exactly from the client.
                      02 - REFERENCE - references of products/projects etc.
                      03 - SCREENSHOTS - screenshots involving project
                      04 - STILLS - still renders or final image references (this generally associates to references of the desired end result rather than references used to create the product.)
               03 - WORKING FILES
                      01 - PROJECT - All the project files (folders and c4d files)
                FOLDER PROJECT A - this you can use if you have a specific variant of a product etc.
                      tex - all c4d asset go in here (this folder will be explained below)
                      Render - This is where renders straight out of c4d will go
                             C4D PROJECT RENDER FOLDER
                      C4D FILE
                      OTHER FILES - other files related to that project/product variant
                FOLDER PROJECT B - this you can use if you have a specific variant of a product etc.
                      tex 
                      Render
                             >C4D PROJECT RENDER FOLDER
                      C4D FILE
                      OTHER FILES
                OTHER FILES - (for example this could be a photoshop color grading file that you use for all projects and not individually)
                      02 - ELEMENTS - These are all the elements you might use in a project across after effects, premiere pro etc.
                              HDRI - any saved hdri’s
                              AUDIO - audio files like sound effects and music
                              CACHE - any simulation cache you might use
                              PRERENDERS - any pre rendered or proxy footage for previewing use
               04 - FOR APPROVAL - these are exact copies or finalized renders sent to client for approval. It’s good to keep these incase client wants to revert and you have an exact reference
                       YYMMDD - having folder dates for when each file was created helps you find a specific file that was sent on a specific day
               05 - DELIVERY - these are the final packaged files delivered to the client
                       YYMMDD

File Naming

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.

Naming Folders:

This is an example of the basic structure of my folder hierarchy and folder naming.

Naming Files:

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.

File Sizes

It’s easy to neglect file sizes when storage these days is cheap. But file sizing doesn’t just affect the space it takes up on your drive but also the rate at which they read and write through programs. That includes saving, importing and exporting. Since I’m currently working remotely, I have to sync files between my laptop that I carry with me and my workstation at home. I generally have a good internet connection but having minimal file sizes definitely helps my workflow and keeps things snappy.

Bit Depth:
This has a huge impact on file sizing and I often neglected it until I started syncing between devices and needed to upload and download files. Generally I’d have all my photoshop files at 16-bit because I thought the more colors the better. Little did I realize they were x10 larger due to that bit depth. It gets even worse when you jump to 32-bit for those who like the idea of that workflow.

Here’s an example of photoshop file sizes with 8-bit and 16-bit. Look at the total file size difference between the two, there’s no visual difference between the two by the way when I open them.
You can google what bit depth is and when to use each one, but what I’ve done is looked at my files (photoshop or renders) and checked to see if there was a visible difference between 8-bit and 16bit. Generally with graphic files that don’t have a lot of effects and editing look exactly the same at 8-bit. 16-bit I would generally use if the image is very dark or there’s heavy editing and you can start to see banding.
Resolution:
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.
File Type:
It’s common knowledge that .png files take up more space than .jpeg files. Reason being is .png files are uncompressed, but that doesn’t mean that they always look better than .jpeg images, or that you would even notice the difference. Now there are cases where you will notice the compression loss on .jpeg images, but when it comes to rendering images in the .jpeg format you won’t notice a visual difference in some cases. You will however notice the file size difference.
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
There are cases where .png images should be used. With the reduced file size of .jpeg images you have less information (colors) in the image, which limits how much you can edit the image until you start seeing artifacts/banding/quality loss. If you’re working on a video commercial or with images that will have color grading/correction implemented in the project then you may need the extra information (colors) that an uncompressed .png file provides so you can edit more freely without seeing any artifacts.

Keep in mind of your compression settings when exporting .jpeg images. In software like photoshop you can control the amount of quality loss you will have when exporting that will also lower your file sizes. This will control your file sizes but also the quality of your final images, so it depends on what your image will be used for and where it will be displayed.

Often when exporting images online to social media, portfolios and websites I’ll export at 60% quality. This often strips a lot of the unnecessary information in the image which will reduce the file size so it can load faster online. Most people online wouldn’t notice the difference between 60% and 100% quality as they often scroll by quickly and the images are often too small to tell the difference. What they will notice is when images take too long to load because they’re so large, and your hard drive space will notice that too. This also helps compression from websites as they don’t need to compress your images as much for you and your image quality will increase online.

When exporting for clients however I’ll often export 80% image quality as you often can't tell the difference between 100% and 80% (in most cases) but you will notice the drop in sharpness from 80% to 60% if you pixel peep.

As you can tell I’ve tested a lot of these things, and you should too. Saving half a megabyte on an image may not seem like a huge deal, but if you realize you can do that with all future projects with no downside you will save a lot of space and time in the long run.

My file size reduction from 1.52GB to 0.14GB and 17MB to 0.6MB is enough reason to test these methods.

Missing Files Solution - The Tex Folder

I decided to make a separate chapter on this because I only found this out recently and thought it was extremely important. Previously I’d have assets, hdri’s etc. folders next to my c4d file. But whenever the folder that the c4d file and those folders was moved, all the textures inside the c4d file would go missing. This was a massive issue if I wanted to move a client project to my backup folder or move 2019 work to a 2019 folder and have all my files in c4d go missing, and having to manually relink each file….. I didn’t want to relink all my textures if I wanted to go back to a project from 2019.

Recently I moved all my work to a laptop and went mobile. This is where I ran into this issue again. What I found while trying to solve this issue is if you keep a folder and name it “tex” next to your c4d file, you can move the folder that the c4d file and the tex folder is inside without your files inside of c4d going missing and having to relink everything again. This is amazing because you can move your project files anywhere you want, across devices, the web, other folders etc. and open up your c4d file to find everything is linked and appears like you left it. Now I will still have to relink past files and add the text folder if I move things around, but I don’t need to go back to past files that often anyway. I’ll at least know that for future work I’ll feel safe relocating files without the fear of dealing with that issue.

If you still want to keep your texture files organized all you need to do is place your folders (assets, hdri’s and anything that will be linked in c4d) inside your tex folder and still keep it organized. That way everything will stay organized and stay linked in c4d no matter where you move your file.

CLIENT COMMUNICATION

This is not an A-Z of how to find clients, deal with clients or how to price your work. These are just tips I’ve learned to help the communication with the client not become the bottleneck when working on a project.

Instant Messaging

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.

PROJECT SETTINGS

I thought I’d throw this in to those who are curious about the common project settings I use.

Frame Rate

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

Frame Size

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.

File Format

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.

Color Space

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.

Sound

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.

Bonus Techniques

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.

PREFERENCES

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.

Opengl

I set my Anti-Aliasing to 16 for smoother lines when modeling.

Recent Files

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.

Memory

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.

Interface Colors

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.
Red: 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.

HELPFUL COMMANDS

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.

Reset PSR

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.

Dissolve

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.

CUSTOM SCRIPTS

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.

Optimize

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.

Collapse

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.

LAYERS

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.

PROXY SETUPS

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.

XREFS

An XRef basically creates an element that references a scene file, kind of like an instance. I find this very useful when I have a video with 12 different C4D scenes and I want to change one object that is a constant in all of them. This way if I want to update the object, all I have to do is update the source C4D file and the rest of the scenes will update that object. XRefs also have a handy ‘Exchange with Proxy’ feature which allows you to have a scene with the proxy element and a scene with the final element and exchange between the two during animation and rendering. Granted this does work better with scenes than aren’t heavy, much like the many lighter scenes I do like product sequences.

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.

PLUGINS

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.

Fx Console

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.

Octane Render

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.

Realflow

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.

Turbulence Fd

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.

Ivy Grower

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.

Octane Render

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.

Instances

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.

Texture Type

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.

Texture Resolution

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.

RENDERING

If you want more information on these chapters feel free to read the Octane Render Manual

Adaptive Sampling

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.

Ai Denoiser

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.

Coherent Ratio

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.

Parallel Samples

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. 

Ray Epsilon

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.

Video Rendering

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.

Next Steps

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: