Author Topic: Anisotropy rotation  (Read 6573 times)

2017-11-09, 15:34:29

meidenberg

  • Active Users
  • **
  • Posts: 20
    • View Profile
    • Playground
Hi,

I have some issues with anisotropy, it dos'nt behave as expected.

To the left there is no map for rotation, everything looks fine except the small area at the top.

When adding a gradient for direction it looks like it uses both the gradient direction and the default direction (Mid image)

if I rotate the object axis 90 degrees it's easy to see that there is 2 different axises at the same time. (Right image)

Hope it makes any sense :P

Version: B1 daily Nov 3 2017 (core 1.7 RC10)
Cinema 4d R18






2017-11-09, 15:39:44
Reply #1

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Hi, can you share the scene with us so that we can have a look? You can use the private uploader (see my signature) if you don't want to publicly share it.

Just from the pictures, it seems OK. I understand what you mean by the anisotropic highlight having two axes, but I'm not sure if this is incorrect.

2017-11-09, 15:48:49
Reply #2

meidenberg

  • Active Users
  • **
  • Posts: 20
    • View Profile
    • Playground
Hi, can you share the scene with us so that we can have a look? You can use the private uploader (see my signature) if you don't want to publicly share it.

Just from the pictures, it seems OK. I understand what you mean by the anisotropic highlight having two axes, but I'm not sure if this is incorrect.

it's like the image dos'nt override the default direction, I kind of expect image 2 and 3 to look like image 1 but without that little missing area at the top which should'nt be there in any case.

Yeah I just realized that it would be a good idea to share the scene, I will make one without textures and add some lights instead of a HDRi and post it here.



2017-11-09, 16:17:36
Reply #3

meidenberg

  • Active Users
  • **
  • Posts: 20
    • View Profile
    • Playground
Example file.

2017-11-09, 17:15:01
Reply #4

houska

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

The problem is that anisotropic direction has to be calculated from the object's UVWs or from the object's axis. In any case, you'll have a singularity point or two and in those points, Corona is currently not very good at calculating the anisotropy direction.

In the third case, you have rotated the axis around which the singularity is created and you have a gradient there with another singularity on top. That's why you have two singularities there...

2017-11-09, 18:05:53
Reply #5

meidenberg

  • Active Users
  • **
  • Posts: 20
    • View Profile
    • Playground
I see...

The problem is that anisotropic direction has to be calculated from the object's UVWs or from the object's axis. In any case, you'll have a singularity point or two and in those points, Corona is currently not very good at calculating the anisotropy direction.

In the third case, you have rotated the axis around which the singularity is created and you have a gradient there with another singularity on top. That's why you have two singularities there...

Yeah, the third example was rotated to show that there is 2 singularitys which I think is kind of weird since I use a texture.

Do you think it's possible to make a ball look like this with Corona today.
https://images-na.ssl-images-amazon.com/images/I/81dxmnQOMnL._SL1500_.jpg

if not, do you think it will be fixed in the future?

The anisotropy looks amazing in Corona so I really hope there is a solution.








2017-11-09, 18:13:26
Reply #6

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Well, you pretty much have it already in the first case. The only problem being the numerical instability aroud that singularity on the top. I asked Ondra and it's a known issue.

2017-11-09, 19:02:42
Reply #7

Eddoron

  • Active Users
  • **
  • Posts: 552
  • Achieved Pedestrian
    • View Profile
As houska said, you pretty much got it. Using a map for anisotropy works very well, even if you have anisotropy disabled.
However, another thing you could do with (ani. enabled) is to use the layer shader with the base material duplicated and one put in the base and the other in the first layer slot. You only have to rotate the anisotropy on one layer.(see pic)
The rest like bumps etc. should be easier.
« Last Edit: 2017-11-09, 19:58:26 by Eddoron »

2017-11-09, 20:46:07
Reply #8

meidenberg

  • Active Users
  • **
  • Posts: 20
    • View Profile
    • Playground
Well, you pretty much have it already in the first case. The only problem being the numerical instability aroud that singularity on the top. I asked Ondra and it's a known issue.

Yupp, I did'nt know if it was known or not so I just wanted to mention it while it's a beta.

As houska said, you pretty much got it. Using a map for anisotropy works very well, even if you have anisotropy disabled.
However, another thing you could do with (ani. enabled) is to use the layer shader with the base material duplicated and one put in the base and the other in the first layer slot. You only have to rotate the anisotropy on one layer.(see pic)
The rest like bumps etc. should be easier.

Thanks!

I only want the anisotropy in one axis, it looks to me that it's not possible with maps right now on shapes like spheres, or at least I hav'nt figured it out.

In example 1 of my first post there is no map for direction but it has the desired result, the problem is the small area in the top which is left with no anisotropy at all.
One workaround for that area is to make a really small tip where the singularity is located and the faulty area will be gone. (See attachment)

When I add a map for anisotropy on an object lika a sphere I get two singularitys, one per default which I can rotate by changing the axis of the object and one that is controlled by the map, I can change both to the same axis but then the rotation isn't correct anymore. A workaround for that is simply to make 3 materials, one for each axis. (The other attachment)

I don't even know if there is a perfect solution for it but I somewhere hope that all anisotropy can be controlled by maps in a single material.

it's a critical feature for me so I just had to bring it up, maybe it works or maybe it could be fixed in the future if it's not. Otherwise I can live with the workarounds :)