Author Topic: What's the best approach to make animal hair with color variation?  (Read 1715 times)

2018-01-22, 22:22:54

danielsian

  • Active Users
  • **
  • Posts: 100
    • View Profile
    • Portfolio
Hi guys

I know there is no dedicated hair shader yet in Corona for Cinema 4D, and its possible to use native polygon hair and shader to modify the geometry but not the coloring.

I need to create a dog with color variation in it's hair like the example attached.

What's the best approach?
Thanks

2018-01-22, 23:27:04
Reply #1

Eddoron

  • Active Users
  • **
  • Posts: 552
  • Achieved Pedestrian
    • View Profile
You basically answered your own question.
You need polygonal geometry. Depending on the distance you can go from flat, over quad to circle shape and apply a Corona material with the variation shader to the color giving channels.
The gradient of the c4d hair material can be copied or expresso-linked to a gradient shader that should be inside the variation shader.
For the Pattern, I'd use the layer shader as it's easier to control.(but you can also mask it inside the variation shader)

2018-01-23, 01:31:20
Reply #2

danielsian

  • Active Users
  • **
  • Posts: 100
    • View Profile
    • Portfolio
Hi Eddoron, I'm trying to have color variation on every hair based on a map, but every hair has the entire map applied as a single texture.

The test attached I did using native material, just to make the technique work before to jump to Corona.

Could you explain in details how to do it?

Thanks


2018-01-23, 02:58:29
Reply #3

MartinBrinks

  • Active Users
  • **
  • Posts: 29
    • View Profile
    • martinbrinks.com
+1 - really interested in this as well. Just returned to C4D and need this badly for a project starting in a few days.

2018-01-23, 21:18:16
Reply #4

Eddoron

  • Active Users
  • **
  • Posts: 552
  • Achieved Pedestrian
    • View Profile
I made a mistake. I have overlooked something that was very obvious. Disregard what I wrote before. That was pretty much bound to the hair's UVs and it would have taken a bit more to apply the pattern.

It just came to me:
The variation shader isn't needed at all.

You can control the whole material through the native hair shader as long as it is applied to the hair and the hair still a hair material(not converted).
Just plug in, the "polygon hair" shader into the diffuse slot and activate the option at the bottom to use the hair materials parameters.
From there, just go with your familiar c4d workflow.
The color variations can be easily controlled through the hair material(orange box) and a pattern applied in the colorization tab below.
Though, you should still set a higher alpha depth(hair mat) and other settings I haven't tried yet...to make sure it looks fine.

It even keeps the original's "reflections" settings inside corona. You can still add the Corona reflections, translucency etc.

I think the screenshot should explain everything.

I'll have to completely rework my CRN hair "shader" that I'm working on but this makes the whole thing a lot simpler.

2018-01-23, 22:35:03
Reply #5

danielsian

  • Active Users
  • **
  • Posts: 100
    • View Profile
    • Portfolio
Hi Eddoron,

Could you share a file with the current solution?

I'm trying to replicate the technique but I'm getting a wrong result as you can see the attachment.

I really appreciate you time.

Thanks

2018-01-23, 22:50:54
Reply #6

Eddoron

  • Active Users
  • **
  • Posts: 552
  • Achieved Pedestrian
    • View Profile

2018-01-23, 23:57:55
Reply #7

danielsian

  • Active Users
  • **
  • Posts: 100
    • View Profile
    • Portfolio
here you go

Good!

I don't know why, but I just opened your scene and it's working fine.
Then I rebuilt, exactly as I did before, and it's working fine as well, differently from my last result. See attachment.
No explanation to what was the problem...

I was going to render my dog with Arnold, but now I'm confident it's possible to achieve a perfect result using your solution.

Thanks again for your help!

2018-01-24, 00:17:07
Reply #8

Eddoron

  • Active Users
  • **
  • Posts: 552
  • Achieved Pedestrian
    • View Profile
Glad I could help.

I think the problem might be that, depending on the chosen geometry that the hair creates, it doesn't "create a single object" which seems to be needed for this to work.
Normally when converting it to polygons, not creating a single object, it should retain guide tag (forgot what it's called, so I call it that) which is necessary for the polyhair shader to work.

2018-01-24, 00:43:03
Reply #9

danielsian

  • Active Users
  • **
  • Posts: 100
    • View Profile
    • Portfolio
So, what we can conclude is that it's not essencial to have a Corona's Hair shader.

Possibly the only loss we have is to have to manipulate polygons instead of properly hairs, wich makes everything a bit heavy.
Ignoring this problem, we can take advantage of 99% of the native hair shader.

Cheers