Author Topic: Normal maps in Corona  (Read 12963 times)

2021-04-05, 22:27:40
Reply #30

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8833
  • Let's move this topic, shall we?
    • View Profile
    • My Models
[off-topic] Regarding simulation with low poly geo, what is the general workflow for simulating with low poly LOD and replacing with high poly LOD at render time?

You can try substitute modifier. I remember it had some issues in Corona few years ago, but by now it's probably solved.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-04-06, 14:02:13
Reply #31

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 838
  • George
    • View Profile
Regarding tangent space, I think there are a few to consider:
  • Marmoset
  • Mikk / xNormal
  • Maya
  • 3ds Max
  • Unity 4.x
Regarding my previous post, there was a mistake in the render and I did not use the correct normal map for the LOD4 mesh - the image has been updated in the post. However, the shading is still pretty rough. I think this is a meaningful comparison to illustrate my concern (see below); Corona Renderer (left) vs. Unreal Engine (right). Normal map shading artifacts for low poly geo from the Megascans library are more visible in the image rendered in Corona Renderer.

I am starting from the conclusion that has already been made, which is that the shading artifacts are not Corona Renderer's 'fault'. I am proposing whether Corona Renderer can do something about it at a feature level.

This is just one asset from the Megascans library, but if we expect similar behavior from other 3d assets in the library, that strikes me as a major point of friction, i.e. significant shading artifacts are to be expected from low poly geo in the Megascans library when rendered with Corona Renderer, out of the box.





[off-topic] Regarding simulation with low poly geo, what is the general workflow for simulating with low poly LOD and replacing with high poly LOD at render time?

Can you please clarify if your bridge export to 3ds max has 99,0 bump?
George Karampelas | chaos-corona.com
Chaos Corona QA Specialist | contact us

2021-04-06, 14:48:26
Reply #32

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8833
  • Let's move this topic, shall we?
    • View Profile
    • My Models
This is just one asset from the Megascans library, but if we expect similar behavior from other 3d assets in the library, that strikes me as a major point of friction, i.e. significant shading artifacts are to be expected from low poly geo in the Megascans library when rendered with Corona Renderer, out of the box.

May i remind you that you're comparing LOD4 models? Even in game engine those are shown only when object is few pixels big. Nobody ever use LODs in off-line renderers. Your comparison is similar to situation where one applies 512x512 texture on an object, renders it in 4K and then complains that texture looks blurry. That simply makes no sense.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-04-06, 20:49:25
Reply #33

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
Right, I know what you mean. My attitude about this is really just that, "it works in Unreal Engine, it should also work in Corona Renderer".

2021-04-06, 20:53:48
Reply #34

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
Can you please clarify if your bridge export to 3ds max has 99,0 bump?

Bump: 1.0 in the shader; corona normal texmap, strength mult: 1.0


2021-04-06, 21:04:59
Reply #35

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8833
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Right, I know what you mean. My attitude about this is really just that, "it works in Unreal Engine, it should also work in Corona Renderer".

Give it normal map in tangent space it's expecting and it will work just fine. You can't feed wrong input and expect right result.

I bet if you'd bake normal map in 3ds max tangent space and go to Unreal forums, requesting "look, it renders fine in Corona, make it work in UE", you would be greated with WTF looks ;]

Edit: on the other hand, i don't want to argue with you just to prove that you're wrong. Maybe the Team has different opinion about this, so i'll leave further discussion to them.
« Last Edit: 2021-04-06, 21:13:27 by romullus »
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-04-07, 01:35:05
Reply #36

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
Give it normal map in tangent space it's expecting and it will work just fine. You can't feed wrong input and expect right result.

Right, I don't disagree with this conclusion, I'm suggesting that this posture diminishes the utility of the Megascans library in a non-trivial way.
  • If the Megascans library contains ~1,000 3d assets, each of which supports 0-6 LOD groups, then that is a total of ~7,000 3d assets including all LOD groups.
  • If LOD groups 4-6 are expected to produce normal map shading artifacts in 3ds Max / Corona Renderer due to mismatched tangent basis, then about ~3,000 of those assets aren't really usable.
On the other hand, maybe it would be better to bring this up with Epic / Quixel, given that one solution would be to provide normal maps baked in a tangent basis intended for use in 3ds Max(?)
« Last Edit: 2021-04-07, 01:48:07 by cjwidd »

2021-04-07, 10:51:41
Reply #37

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8833
  • Let's move this topic, shall we?
    • View Profile
    • My Models
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-04-07, 12:14:54
Reply #38

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
Eh, I floated the issue to the devs at Epic / Quixel, curious what their take is on the issue.

It just seems like someone is going to have to give to resolve the issue, and as you've already described, right now it's the artist.

2021-04-07, 15:40:35
Reply #39

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8833
  • Let's move this topic, shall we?
    • View Profile
    • My Models
I would be very surprised if they'll show slightest interest in this issue :]
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-04-07, 21:42:26
Reply #40

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
You never told me you were a film actor Romullus(!)


2021-04-09, 03:57:27
Reply #41

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
@romullus what about Substance Painter, which also uses Mikkt. Is there a solution for correct normal map shading in 3ds Max / Corona Renderer for normal maps baked to low poly geo in Substance Painter?

2021-04-09, 10:30:49
Reply #42

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8833
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Without converting normal map to correct tangent space? No, i don't think so. On the other hand, i authored textures for quite a few low-poly models in Substance Painter and never observed any significant artifacts in Corona. I don't think it's such a big problem, like you are trying to sell it, but maybe your work requires to deal with specific type of models that are indeed problematic. I think you should investigate your options to convert normal maps to proper tangent space, because it's pretty unlikely that Corona will introduce some solution for that. If some issue is affecting only handful of users, then usually it has low priority in the fix list.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-04-09, 10:57:47
Reply #43

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation


Just trying to understand - how about this model? Quite a low poly model, prepared in SP. Just baked out the normals in SP (MikkT) I assume(?)

2021-04-09, 11:38:46
Reply #44

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8833
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Yes, this would be good example of model that you'd expect to have problems from unsynched workflow. I baked normal map for this one in Marmoset toolbag, but i can't remember what tangent space i did choose to bake (back then tangent space concept was very new to me). I think i baked in MikkT space, because it's the most popular one. I think the most important reason why this model renders artifact free in most apps, it's because i made low-poly with smoothing groups/hard edges. This technique helps to avoid big gradients in normal map, the areas where artifacts from mismatching tangent space shows the most. If i would make such model now, i would use quite different technique for low-poly, but still i would try to minimize the issues from unsynched workflow, since i make these models with selling on stock marketplaces in mind and i have no control over where they will be used.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures