Can i see your working scene? Because I don't suppose that's fully supported by the reasons i wrote.albatetra wrote:Guys, really I'm getting confused and worried.
Multishader is working perfectly if rendered in the Live Viewer. A soon as I hit reader to Picture Viewer, the multishader stop to work and all the clones have the exact same texture.
And please do not tell me to use the gradient node approach because is not working and I've 60+ textures to load.
Multi Shader Index Ratio Issue
Moderators: ChrisHekman, aoktar
Octane For Cinema 4D developer / 3d generalist
3930k / 16gb / 780ti + 1070/1080 / psu 1600w / numerous hw
3930k / 16gb / 780ti + 1070/1080 / psu 1600w / numerous hw
Hi Guys,
is there any changes with the multishader limitation in release 4 ?
As every year, i need to render some easter images with easter-eggs with more than 100 (!) different textures, can some guide me how to solve this with octane ? I dont want to go back to vray for serveral reasons ..
I reread this thread and using a gradient with 100 slides is neary impossible.
i am happy to hear some suggestions.
Cheers,
Fabian
is there any changes with the multishader limitation in release 4 ?
As every year, i need to render some easter images with easter-eggs with more than 100 (!) different textures, can some guide me how to solve this with octane ? I dont want to go back to vray for serveral reasons ..

I reread this thread and using a gradient with 100 slides is neary impossible.
i am happy to hear some suggestions.
Cheers,
Fabian
I'm now in this same basket as well, need to render 100 different graphics onto objects from client request (ugh) but here we are.
I have to keep this one in Octane for reasons, so...
Curious to know if there is a recommended different workflow to randomise texture on a large number of objects.
Rather than try to put 100 images onto a complex gradient mix (which actually doesn't even seem possible?) have people tackled this any other way?
I thought perhaps I could put an animated sequence of the images onto an object then offset animation time of clone (give clone dummy animation, x=0 to x=0 for example, no change but would still have 100 frames of animated texture) but time offset means no instancing and then C4D crashes.
I have to keep this one in Octane for reasons, so...
Curious to know if there is a recommended different workflow to randomise texture on a large number of objects.
Rather than try to put 100 images onto a complex gradient mix (which actually doesn't even seem possible?) have people tackled this any other way?
I thought perhaps I could put an animated sequence of the images onto an object then offset animation time of clone (give clone dummy animation, x=0 to x=0 for example, no change but would still have 100 frames of animated texture) but time offset means no instancing and then C4D crashes.
- MariuszBecker
- Posts: 1
- Joined: Fri May 29, 2015 4:07 pm
- Location: Germany
- Contact:
+1 for that Issue, the problem with needing to use complex gradients might solve it for a few textures, but as soon as you need to distribute more than 5-10 it gets More than wonky and hard to handle.
Would love to see an improvement on that as it's pretty crucial in a lot of projects.
Would love to see an improvement on that as it's pretty crucial in a lot of projects.
Freelance 3D-Artist
http://mariuszbecker.com
________
Win10, 2x Xeon E5 2620v4 / 64gb RAM / 4x1080ti | Win10, i7 6800k / 64gb RAM / 2x1080
http://mariuszbecker.com
________
Win10, 2x Xeon E5 2620v4 / 64gb RAM / 4x1080ti | Win10, i7 6800k / 64gb RAM / 2x1080
Ok, what am I missing here, why not just use step effector + multishader in color mode instead of index ratio?
Apart from the fact that you are going to be using C4D Bitmap instead of ImageTexture nodes it seems to work just fine. I'm not sure but I think I even saw a script somewhere that can convert C4D Bitmaps into ImageTexture nodes.
Edit: Here is the script, thanks to pxlntwrk for the link:
viewtopic.php?p=290502#p290502
Either way dealing with 100s of textures that are read from disk is a messy way of doing this no matter how you are rendering it. I prefer to use a sprite-sheet and offset UVs using OSL. That way instead of dealing with hundreds of maps I'm only dealing with one and it's lightning fast because all of the maps are preloaded in VRAM together in a single texture map and it's super easy to deal with alpha channels or exr layers ( only in Standalone for now because layers are not yet integrated in the C4D plugin
)
With regards to the Gradient node, IIRC it can handle up to 256 textures and there is a lua script that can automatically load textures from a folder and connect everything. You can save your material into LocalDB and bring it into C4D.
Cheers
Milan
Apart from the fact that you are going to be using C4D Bitmap instead of ImageTexture nodes it seems to work just fine. I'm not sure but I think I even saw a script somewhere that can convert C4D Bitmaps into ImageTexture nodes.
Edit: Here is the script, thanks to pxlntwrk for the link:
viewtopic.php?p=290502#p290502
Either way dealing with 100s of textures that are read from disk is a messy way of doing this no matter how you are rendering it. I prefer to use a sprite-sheet and offset UVs using OSL. That way instead of dealing with hundreds of maps I'm only dealing with one and it's lightning fast because all of the maps are preloaded in VRAM together in a single texture map and it's super easy to deal with alpha channels or exr layers ( only in Standalone for now because layers are not yet integrated in the C4D plugin

With regards to the Gradient node, IIRC it can handle up to 256 textures and there is a lua script that can automatically load textures from a folder and connect everything. You can save your material into LocalDB and bring it into C4D.
Cheers
Milan
Colorist / VFX artist / Motion Designer
macOS - Windows 7 - Cinema 4D R19.068 - GTX1070TI - GTX780
macOS - Windows 7 - Cinema 4D R19.068 - GTX1070TI - GTX780
- crowellster
- Posts: 36
- Joined: Tue Feb 16, 2016 12:13 am
I just want to pop in here and say how frustrating this is. I don't even have that many textures and I just find Octane so confusing and undependable for this type of purpose. I have like 300 clones and 20 textures. I'd like them to apply them one to a clone, and when I reach the 20th clone, start over. Seems sort of absurd that there isn't a simple or comprehensible way to do this. Please let me know if you've figured anything out.
Thanks!
Thanks!
Have you tried with an Instance Range node set to 20?
ciao Beppe
ciao Beppe