Author Topic: Corona Multi Shader no randomisation  (Read 2545 times)

2020-04-01, 11:06:08

monsieurblack

  • Active Users
  • **
  • Posts: 14
    • View Profile
Hi all

I'm hoping this is a simple question, but I was after a little help with the Corona Multi Shader please.

What I would like to do is to have the ability to choose whether the textures/colours within the Corona Multi Shader are either randomly assigned, which appears to be the default behaviour I'm currently experiencing, or alternatively for the textures/maps within to be assigned in 'order' across the objects within a Cloner.

Often having things randomly assigned is super useful and convenient but other times I have the need to for certain objects to be a particular colour in a more uniform or controllable manner - say for example, the shades 1-10 in the Multi Shader are assigned to the objects 1-10 that the Cloner object produces.

Then if I had say a grid of objects, 10 x 7 as example, that the next 60 textures/maps would be applied to the rest of the objects in sequence, left to right.

I hope that makes sense? But any control over the application of the textures instead of randomly would be a huge workflow boost.

Does the above provide enough information? Please let me know if there's any more detail I can add that would help to better explain.

Thanks in advance

2020-04-13, 22:09:28
Reply #1

monsieurblack

  • Active Users
  • **
  • Posts: 14
    • View Profile
Hi again

Just wondered if anyone had any input on the above please?

Not sure if what I’m asking is totally nuts or really simple lol. One of the extremes I imagine!

Maybe it’s not the multi shader I should be using and there’s another way/approach maybe?

2020-04-27, 16:13:34
Reply #2

monsieurblack

  • Active Users
  • **
  • Posts: 14
    • View Profile
Hi again all

This would be a massive help if anyone could kindly offer up and ideas around this please?

I'm not sure if what I'm asking is blindingly obvious or actually something potentially a little 'trickier' to setup? But either way I'd really appreciate any guidance on how I could control the distribution of a series of images across cloner objects please.

Thanks again

2020-04-27, 16:52:44
Reply #3

Cinemike

  • Active Users
  • **
  • Posts: 1000
    • View Profile
Wouldn't the native C4D Multi Shader in Index Mode just do that?

2020-04-27, 17:01:14
Reply #4

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Hi, this is an interesting request. I am afraid it's not possible using Corona Multi Shader. You could have some luck with what Cinemike suggests though...

What are you trying to achieve actually? I suppose you can't just group the objects into groups and assign the materials to those groups?

2020-04-28, 17:21:38
Reply #5

monsieurblack

  • Active Users
  • **
  • Posts: 14
    • View Profile
Wouldn't the native C4D Multi Shader in Index Mode just do that?
Thank you Cinemike, I didn't actually realise I could use the native Cinema 4D Multi Shader in the Corona material with Corona having their own, so will definitely give that a go, much appreciated.
Hi, this is an interesting request. I am afraid it's not possible using Corona Multi Shader. You could have some luck with what Cinemike suggests though...

What are you trying to achieve actually? I suppose you can't just group the objects into groups and assign the materials to those groups?
Hi houska, many thanks for your reply. It's when I model a 'hero' object and hide that within a Null object to then use instances within a Cloner. This provides the flexibility to assign different shaders to each instance whilst allowing any changes to the model to propagate, saving time and keeping the scenes lighter. Crucially, is the assigning shaders part. If I assign a shader/texture to the 'hero' object then all instances have this. but approaching it the other way provides amazing flexibility.

From there I use a Cloner object to create grids of objects that I'd like each one to be assigned a specific colour/texture in a controlled manner, left to right.

So say they were 20 glasses of water with a straw left to right. One single instance within a Cloner. The 'glass' and 'water' objects are assigned the appropriate materials with the 'straw' object left with no material assigned. Once instanced this allows each copy to accept a different coloured straw. When using a Corona Multi Shader I'd like the option to not only have the textures within a folder to be randomly assigned but also have a level of control that would allow say the 10 different colours of straws I have to be assigned to the products in order, left to right. So I know for sure that the third object along will be assigned the third texture in the Multi Shader slot.

I'm sure this becomes more complicated if I create a grid 10 wide by 2 high for example? But obviously it would be great to have the means to know that the eleventh texture in the shader is assigned to the first object on the second row.

Hope that example better helps to explain the overriding principal of what we're looking to achieve? But happy to discuss further and perhaps in another manner altogether if it helps?

Again, thanks a lot for you help and replies guys, will try Cinemike's suggestion and see how we get on.

2020-04-28, 17:42:53
Reply #6

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
I see...

Another option that comes to my mind is using a MoGraph Effector to change the color of the individual instances and then reference that color using C4D's Display Color shader, which you can use in you material to somehow colorize the material for instance. But of course, it's a bit different thing than assigning a completely different texture.