Author Topic: [Maybe a Bug?] Anisotropic reflection on capped cylinders  (Read 19468 times)

2016-02-11, 16:54:18

WorkFlow

  • Active Users
  • **
  • Posts: 109
    • View Profile
Hello everyone,

I am doing a lot of product shots for a big lighting company which requires me to use brushed metals quite often.
The anisotropic option in the material manager works really great but has a really annoying flaw.

First of all there always has to be a radial reflection, which makes it a little hard to use on cubic forms because of reasons related to the next issue;

The radial reflection on the object's caps (which always are in Z direction) never "closes" completely.
There will stay an area with completely different reflections. This area depends somehow on the subdivisions of the cap.


I attached a quick test render I made with default UVW mapped material + wireframes.
« Last Edit: 2016-02-19, 09:28:00 by WorkFlow »
Windows 10, Cinema4D R21.207, Corona 6.0

2016-02-12, 14:08:02
Reply #1

4b4

  • Active Users
  • **
  • Posts: 163
    • View Profile
can you post a scene file?

2016-02-15, 09:34:07
Reply #2

WorkFlow

  • Active Users
  • **
  • Posts: 109
    • View Profile
can you post a scene file?

Sorry I was out of office for the weekend.

The test-scene is attached - thank you very much for having a look into it!
Windows 10, Cinema4D R21.207, Corona 6.0

2016-02-15, 22:39:35
Reply #3

4b4

  • Active Users
  • **
  • Posts: 163
    • View Profile
I've taken a look and tried a few different things, with my limited uv unwrapping knowledge, but haven't been able to get around it with anisotropy enabled - would be worth posting in the bug tracker if anyone else can confirm it?

I do a few stainless steel product shots myself but have been lucky enough to avoid this problem as the products I've worked on haven't had stainless steel bases or tops to them. Have you tried going through the anisotropy video posted late last year?


2016-02-16, 11:02:34
Reply #4

WorkFlow

  • Active Users
  • **
  • Posts: 109
    • View Profile
I've taken a look and tried a few different things, with my limited uv unwrapping knowledge, but haven't been able to get around it with anisotropy enabled - would be worth posting in the bug tracker if anyone else can confirm it?

I do a few stainless steel product shots myself but have been lucky enough to avoid this problem as the products I've worked on haven't had stainless steel bases or tops to them. Have you tried going through the anisotropy video posted late last year?

Thanks for having a look and of course for the link! I'll have a look later today..

As you already mentioned, if anyone else could confirm this, I'd report it as a bug!
Windows 10, Cinema4D R21.207, Corona 6.0

2016-02-17, 08:10:28
Reply #5

WorkFlow

  • Active Users
  • **
  • Posts: 109
    • View Profile
So I just watched that video about the anisotopy settings and it's quite informative but...

I was hoping that the default anisotopy could handle flat radial reflection kinda like it does with radial reflection on spheres.
The solution shown in the video was to use a "brushed metal" texture as gloss and/or bump map which therefore has to be mapped correctly.

Another downside to this texturing method is, that for assigning textures to object parts you have to convert it to a polygon object first...
Windows 10, Cinema4D R21.207, Corona 6.0

2016-02-17, 09:06:53
Reply #6

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8856
  • Let's move this topic, shall we?
    • View Profile
    • My Models
You don't need "brushed metl" or any else texture in glossiness channel for anisotropy to work, but spiral gradient texmap for anisotropy rotation is a must. There is no other way around. Luckily it's very easy to map such objects for anisotropy - it's just basic planar mapping.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2016-02-18, 08:00:40
Reply #7

WorkFlow

  • Active Users
  • **
  • Posts: 109
    • View Profile
You don't need "brushed metl" or any else texture in glossiness channel for anisotropy to work, but spiral gradient texmap for anisotropy rotation is a must. There is no other way around. Luckily it's very easy to map such objects for anisotropy - it's just basic planar mapping.

Thanks for your help! I tried what you said and didn't quite get the result I was hoping for...
Did you mean that I have to make one material with a radial gradient in the rotation slot and assign it to the top and bottom of the object and one basic metal for the rest?
Or is everything in one single material?

I kinda got the reflections to work in the middle part but there was still that circular "break" where the reflections would change somehow...
Windows 10, Cinema4D R21.207, Corona 6.0

2016-02-18, 09:57:56
Reply #8

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8856
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Single material should cover it - it's just a matter of anisotropy rotation map. I may give you some example later.

Edit: here's video to better visualise how rotation map should look like. Colours for cylinder side might be 0,0,0 64,64,64 128,128,128 or 256,256,256 depending of orientation of your object or UVs.

« Last Edit: 2016-02-18, 10:19:19 by romullus »
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2016-02-19, 09:06:12
Reply #9

WorkFlow

  • Active Users
  • **
  • Posts: 109
    • View Profile
Single material should cover it - it's just a matter of anisotropy rotation map. I may give you some example later.

Edit: here's video to better visualise how rotation map should look like. Colours for cylinder side might be 0,0,0 64,64,64 128,128,128 or 256,256,256 depending of orientation of your object or UVs.

Thanks a lot for your answer and for that video! I tried to map my objects like you did, but had not the time for a uvw unwrap so its just 2 materials with polygon selections - this explains the "reflection-break" right above the beveled corner. The radial reflection basicly works now!

However the break on the base is still happening. I also rendered the right cylinder with the gradient active as diffuse and you can see it's mapped the same on the "inside" but the reflection changes...

Is it possible that this is a Cinema 4D only issue or am I just doing something wrong?
Windows 10, Cinema4D R21.207, Corona 6.0

2016-02-19, 09:25:19
Reply #10

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8856
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Hmm, that central part of a base really looks like a bug. I don't keep track on C4D bugs, so i don't know if it's reported already. Hopefully, someone who do know, will look into this topic and will tell you more about it.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2016-02-19, 09:27:01
Reply #11

WorkFlow

  • Active Users
  • **
  • Posts: 109
    • View Profile
Hmm, that central part of a base really looks like a bug. I don't keep track on C4D bugs, so i don't know if it's reported already. Hopefully, someone who do know, will look into this topic and will tell you more about it.

Okay thanks again, let's just hope someone stops by!
Windows 10, Cinema4D R21.207, Corona 6.0

2016-02-26, 14:55:53
Reply #12

Jarda

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 24
    • View Profile
Hi guys,

I've created a bug report for this:
https://corona-renderer.com/bugs/view.php?id=1593
And we'll look into the problem once A5 has been out.

In the meantime, if anyone could try to reproduce the problem, that would be highly appreciated. The more information we get from you, the more effective we can be in resolving the issue.

Cheers,
Jarda




2016-02-26, 16:32:20
Reply #13

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12768
  • Marcin
    • View Profile
Jarda, it is already reproduced - the scene is posted at the top of this thread. The same thing happens in 3ds Max version. Switching anisotropy orientation to UVW mode helps a bit, but there are some other strange problems (I don't think this option is available in C4D yet). I am not sure what the expected results look like. It would be great if someone could do similar test in another renderer. This only happens if the mesh is "chamfered" (will happen to chamfer box or chamfer cyl, but not to regular box or cyl). Another strange thing is that the anisotropic highlights are very "faceted".
I will also add this info to your mantis report.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2016-02-26, 16:44:04
Reply #14

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12768
  • Marcin
    • View Profile
looks like mental ray has some funny problems too
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2016-02-26, 16:47:18
Reply #15

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12768
  • Marcin
    • View Profile
And vray too.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2016-02-26, 18:35:50
Reply #16

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8856
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Since you mentioned chamfered cylinder, i decided to take a look if it's not related with smoothing groups. And indeed, it's smoothing groups - once you sort it out, anisotropy rotation works like it should. So, at least in 3ds max there's no strange mysteries about Corona's anisotropy.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2016-02-29, 15:58:42
Reply #17

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
This is because the anisotropy direction is not well-defined on Z-parallel planes when using object (Z) axis, and there is an abrupt change in its direction at some point. It may get improved in the future, but it is a core issue (same thing happens in 3ds Max)
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2016-03-01, 08:08:21
Reply #18

WorkFlow

  • Active Users
  • **
  • Posts: 109
    • View Profile
This is because the anisotropy direction is not well-defined on Z-parallel planes when using object (Z) axis, and there is an abrupt change in its direction at some point. It may get improved in the future, but it is a core issue (same thing happens in 3ds Max)

Okay thank you for clearing this up! We'll have to work around it for now then and hope it maybe will be resolved somewhen in the future.
Windows 10, Cinema4D R21.207, Corona 6.0

2016-04-08, 02:13:28
Reply #19

tiagosaraivacg

  • Active Users
  • **
  • Posts: 73
    • View Profile
    • tiagosaraivacg
just been testing this last night.. trying to understand how corona deals with anisotopy. I end up doin some tests with the most used object, a cooking pot.

ill explain a bit of my workaround.

-I started by trying to understand what value Id need to have straight angles on my anisotropy glare. I end up finding out that for radial you use a value of 0.4 and for planar 0.6. take in count that there must be some glossiness, else you dont get the desired effect.

-then iv separated my polygon faces, according to the type of reflection I wanted to achieve (radial/planar)

-the next step was to apply both textures with the selection tags, using a gradient(planar) and a spiral gradient(radial) assigned to the diffuse channel, so I culd check in the viewport, how the reflection would react. I end up by having a planar projection for the radial, and a cylindrical projection to the planar.

-the next step, iv set up my metal texture, to finally add the "blurry lines". Iv made my lines on photoshop. and applied them to the glossiness texture on both textures.

here is the end up result:



hope this can help someone.

cumps
Tiago Saraiva

2016-04-08, 08:15:03
Reply #20

WorkFlow

  • Active Users
  • **
  • Posts: 109
    • View Profile
just been testing this last night.. trying to understand how corona deals with anisotopy. I end up doin some tests with the most used object, a cooking pot.

ill explain a bit of my workaround.

-I started by trying to understand what value Id need to have straight angles on my anisotropy glare. I end up finding out that for radial you use a value of 0.4 and for planar 0.6. take in count that there must be some glossiness, else you dont get the desired effect.

-then iv separated my polygon faces, according to the type of reflection I wanted to achieve (radial/planar)

-the next step was to apply both textures with the selection tags, using a gradient(planar) and a spiral gradient(radial) assigned to the diffuse channel, so I culd check in the viewport, how the reflection would react. I end up by having a planar projection for the radial, and a cylindrical projection to the planar.

-the next step, iv set up my metal texture, to finally add the "blurry lines". Iv made my lines on photoshop. and applied them to the glossiness texture on both textures.


hope this can help someone.

cumps
Tiago Saraiva

Thanks Tiago!
I'll try your workaround next time I run into this problem.

Cheers,
Flo
Windows 10, Cinema4D R21.207, Corona 6.0