Page 1 of 2

Octane C4D and nested Render Instances

Posted: Tue Oct 30, 2018 2:05 pm
by forward
When referencing existing "Render Instances" in a new Instance Object it seems that Octane for C4D does not display/calculate those Instance Objects.
The same happens when referencing a mixed group containing Instances set to "Render Instance". Instances set to "Instance" will be displayed correctly even if nested.

Ist this a limitation/bug or is this the intended behaviour for Octane?
Nesting instances in this way may not be wise in regards to using less memory for rendering but we are working on some CAD data we received which contains this type of nested Instances.
The problem for us comes from the difference between what we see in the C4D viewport and what is actually rendered in Octane. I attached an example file and you can see the basic problem in the following screenshot:
Screenshot showing that nested Instances are not rendered.
Screenshot showing that nested Instances are not rendered.
Manually selecting all Instances and setting them to "Instance" instead of "Render Instance" fixes the problem but the data we are working on contains thousands of nested Instances which makes it hard to correct the hierarchy of the Instances so that the very first Instance keeps using the "Render Instance" to optimize scene speed / RAM usage.

This behaviour is not specific to a particular Octane or C4D Version as we have this behaviour with 3.08.5-R3 in C4D R19 as well as Octane 4.0-RC6 in C4D R20.
Any info on this would be greatly appreciated.

Re: Octane C4D and nested Render Instances

Posted: Tue Oct 30, 2018 2:08 pm
by aoktar
It's a limitation of current plugin. Mentioned on features list.

Re: Octane C4D and nested Render Instances

Posted: Tue Oct 30, 2018 2:14 pm
by forward
Thanks for the info!

Re: Octane C4D and nested Render Instances

Posted: Wed Oct 31, 2018 4:55 am
by tim_grove
I come across/do this often myself.

What is the correct workflow for selecting the lightest memory use?

Re: Octane C4D and nested Render Instances

Posted: Thu Nov 01, 2018 9:28 am
by forward
I would think that the most memory effective workflow (with the limitation in mind) would be to set the very first instance of an object as "Render Instance" and then use "Instance" for all instances refereing to the very first one set to "Render Instance".
I am not 100% sure about that though. If anyone knows better they are more than welcome to share their knowledge!

Re: Octane C4D and nested Render Instances

Posted: Thu Nov 01, 2018 10:18 am
by aoktar
forward wrote:I would think that the most memory effective workflow (with the limitation in mind) would be to set the very first instance of an object as "Render Instance" and then use "Instance" for all instances refereing to the very first one set to "Render Instance".
I am not 100% sure about that though. If anyone knows better they are more than welcome to share their knowledge!
Yes, you can without embedding render instances

Re: Octane C4D and nested Render Instances

Posted: Thu Nov 01, 2018 11:52 am
by forward
I just did a quick test with a very high poly object and my assumption was correct. There is no additional RAM cost when referencing an Instance Object set to "Render Instance" with the Instance mode set to "Instance" and they are all rendered correctly as well.
See here:
nested_instances_workflow.png
So if you do have/need nested Instances this would be the way to go.

Re: Octane C4D and nested Render Instances

Posted: Fri Nov 02, 2018 2:11 am
by tim_grove
Awesome thanks for testing forward. That's good to know.

Re: Octane C4D and nested Render Instances

Posted: Mon Aug 07, 2023 6:01 pm
by alexlomarco
Do you know if in the latest versions of octane they have fixed this limitation ? Unfortunately I have a very complex model with thousands of instances and I can't split between instance and render instance, I need to dictate them all in render instance.
I'm trying with 2022.1.1 r6 but it doesn't seem to work.

Re: Octane C4D and nested Render Instances

Posted: Tue Aug 08, 2023 3:52 pm
by frankmci
As far as I know, it's still a limitation of the instancing system Octane uses. True Instances and can be re-instanced as either Instances or Render Instances, but Render Instances themselves can not. In other words, Octane only looks one level deep to find the source geometry. In my experience, setting sub instances to to true Instances and Render Instancing only the top level works fine, although it's not quite as memory efficient as it could be.