Author Topic: Projector Shader in Corona  (Read 12972 times)

2020-01-17, 18:25:23

Daniel Mikolajčák

  • Active Users
  • **
  • Posts: 174
  • ArchViz specialist
    • View Profile
    • Behance portfolio
Hi guys, is Projector Shader officially supported in Corona? It does not work properly for me and I need it for work as much as salt. Please make this shader a priority, there is no other way to use multiple uvw mapping within one material.

Thank you,
Daniel

2020-01-17, 18:48:38
Reply #1

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Hi Daniel and thanks for the question!

This is indeed something that does sound useful, but I'm not sure of what exactly is your use case. Could you show it with some simple pictures or ideally with a simple scene?

2020-01-21, 16:31:37
Reply #2

Daniel Mikolajčák

  • Active Users
  • **
  • Posts: 174
  • ArchViz specialist
    • View Profile
    • Behance portfolio
Hello Cestmir,

thanks for getting back to me. I used it in blender when I had two normal maps, one baked from sculpting which would be unscaled UV map and other from material which would be either scaled uv map or cubic projection. Another use would be if you wanted to emboss logo on an object, you would use BW image with flat projection and plug it into bump input, while normal input would be from material.
I attach screenshots and simple scene will be uploaded separately.

This is a crucial feature for pro workflow. You would make me extremely happy if implemented.

Projector Shader is showcased in this video:

Daniel

2020-01-21, 17:45:00
Reply #3

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Hi Daniel!

I think I see now what you want to achieve... This is currently not possible, at least not exactly as it is described in the video. Sure, you can use layered shader, but it is a bit sub-optimal...

Just a hint - did you know that on a material level, you can already put decals on top of other materials? It's not exactly what you'd like, but at least gives you some options.

2020-01-21, 18:42:59
Reply #4

Daniel Mikolajčák

  • Active Users
  • **
  • Posts: 174
  • ArchViz specialist
    • View Profile
    • Behance portfolio
Layered Material has only one Material Tag on an Object and therefore allows only for one projection type. I think Projector is an absolute must for complex objects and scenes. Would you be willing to include it into roadmap? Among any other bugs I have reported this is the most essential for me and I am sure for others too, since I have seen mentions of it in several other threads as well.

Kind Regards,
Daniel

2020-01-21, 18:51:05
Reply #5

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
I understand your need and we will think about how to improve the workflow here, so thanks for the request and for the clarification...

However, my hint was not referring to the Layered Material, but to native C4D material stacking or whatever it's called (sorry for not using the exact name, which I don't know :-) ). See the attached image. As I said, the use is limited - you can only layer the whole materials on top of each other, not multiple maps inside e.g. a reflectance channel. But you can already do decals like this.

Cestmir

P.S.: Back to the original topic - now that I read you original message, we actually already support Projector shader, but there might be some issues with it. We'll be happy for any reports!
« Last Edit: 2020-01-21, 18:54:30 by houska »

2020-01-21, 19:20:08
Reply #6

Daniel Mikolajčák

  • Active Users
  • **
  • Posts: 174
  • ArchViz specialist
    • View Profile
    • Behance portfolio
I see, and that indeed is cool nifty feature Cinema has. However it can't do same fine job as projector. I have tried it like in the youtube tutorial and it has not worked one single time. I wonder how can it be supported then. Unless I am doing something wrong every time.

I doesn't work in the scene I have sent you via uploader.

2020-01-21, 21:37:30
Reply #7

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1245
    • View Profile
    • My personal website
I'm doing a +1 on this as I have always done in the past, hehe :) Right now UVW manipulation per map is extremely limited - in no small part due to C4D itself as well so there is also that. Currently, if I need to simply scale the textures I help myself with the layer shader + transform functionality but that is a bit cumbersome when you have lots of maps you are layering together. Plus, you can't use it with the Corona nodal editor because the layer shader doesn't always work as intended and obviously it doesn't support different mapping options.

I'd just like to reiterate that I too think this is an extremely important functionality to support. Projector is by itself cumbersome to use but at least its something. Ideally I'd personally like to see something like the Transform nodes from Octane. Easy to use and super useful.

Just my five cents people :)

edit:
Oh and R20 kind of solved this for C4D's internal render engines. Could be used as an inspiration perhaps. They introduced the UV node, super similar to what Octane is doing and I'm pretty sure everyone else too. It is partly the reason why I've pushed for the adoption of the nodal editor for Corona :P
« Last Edit: 2020-01-21, 21:42:59 by nkilar »
Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2020-01-28, 10:00:22
Reply #8

Daniel Mikolajčák

  • Active Users
  • **
  • Posts: 174
  • ArchViz specialist
    • View Profile
    • Behance portfolio
I tried to by pass broken projector shader by transform effect inside layer shader. And surprise surprise it is broken as well. Please voice this criticism on the management level: you cannot ask money for such buggy and lacking support plug-in. This is definitely not O.K. and c4d corona team should be significantly increased to make it release-ready product ASAP.

2020-01-29, 20:28:17
Reply #9

Daniel Mikolajčák

  • Active Users
  • **
  • Posts: 174
  • ArchViz specialist
    • View Profile
    • Behance portfolio
Hello Cestmir, I am in a middle of project where I need projector shader to function.
Could you tell me if it will be updated via a hotfix within lets say couple of days, else I need to rebuild the project in different renderer :)

Daniel

2020-01-29, 20:33:26
Reply #10

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Hello Cestmir, I am in a middle of project where I need projector shader to function.
Could you tell me if it will be updated via a hotfix within lets say couple of days, else I need to rebuild the project in different renderer :)

Hi Daniel, we found and fixed a bug already, which was causing some mapping issues! I am not sure if this is the bug that you described, but we would like to release that fix together with other small things as a daily soon. I cannot tell you when that will be, unfortunately :-( I'd say there's a 75% chance it will be on Friday, but I cannot make promises in this regard at the moment.

2020-01-29, 20:52:39
Reply #11

Daniel Mikolajčák

  • Active Users
  • **
  • Posts: 174
  • ArchViz specialist
    • View Profile
    • Behance portfolio
jee, you would make my day, I am patiently awaiting :)

2020-02-05, 20:56:58
Reply #12

fedestampini

  • Active Users
  • **
  • Posts: 30
    • View Profile
this has been request a dozen time, finally someone in the development team has notice it.
Once its fixed it would be nice to know what would be the correct workflow: projector shader/transform effect inside a layer/ or whatever is the right way to do it without bugs.

Finally thanks Corona team.

PS: that's another list of things that i strongly suggest to take look at for the future development.
https://forum.corona-renderer.com/index.php?topic=26202.0

2020-02-05, 22:12:54
Reply #13

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1245
    • View Profile
    • My personal website
I really was hoping, and I may have been a bit too vocal about it in the past perhaps, that scaling textures in Corona would be better at this point. As it is right now it is still a bit of a pain in my opinion.

The transform inside a layer option can work but its currently surprisingly buggy and I find it to be quite slow when scaling bigger images (4k+).

Project shader does work but it is cumbersome to work with because then you need to deal with the UV mapping on a per map basis and that can be ... A lot of steps sometimes not to mention weird-ish workflows. Once the nodal editor gets to a more stable point (<- I mean relatively bug free) it might be easier to work with because then you'll be able to instantly recognize when maps are driven by the projector shader without having to go into each and every channel etc etc...

While having it work flawlessly with the nodal editor and the nodal editor working reliably would go a long way at making this sort of thing easier to do I still wouldn't call it optimal because the project shader essentially overwrites your UV settings from your tag. So say you got a good ratio going between all the maps but you just want to make everything scale up using the material tag, well, that gets tricky and convoluted fast as you need to go into each projector shader and adjust things. Imagine having multiple project shaders layered in a layer shader in a couple of different material channels, oh the confusion :)

Personally, I do think Maxon should have resolved this by now and they kind of have with the new UV node in the C4D nodal editor but we aren't using that so I guess its a moo point. I do like the persistent nature of the Corona nodal editor and I find it a great addition to the toolset. So major kudos for that.

Now with that said, every other third party C4D renderer appears to have a solution for quickly scaling maps. Octane for example has a UVW transform node and it is so amazingly great and easy to use, sort of like how it all works in 3ds Max. Because each third party renderer tackled this on their own I think we should too. I would consider it quite a priority to be perfectly honest because scaling maps is something one does all the time :)

edit:
One thing that would also really be helpful for this often used operation is to have separate map previews in the viewport. Say you want to scale one of the bump maps differently, if you can have instant bitmap preview in the viewport that is incredibly helpful because IR can be slow in heavy scenes. 3ds Max has this solved natively by having a button that simply isolates that bitmap in the viewport and shows it properly mapped on a mesh. Since the Viewport in C4D is hard to access via the SDK I reckon this probably isn't a priority but I guess it would be nice to keep it mind for when it does get "open" :)
« Last Edit: 2020-02-05, 22:24:14 by nkilar »
Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2020-06-02, 09:50:11
Reply #14

robpayne

  • Active Users
  • **
  • Posts: 25
    • View Profile
Arnold and Redhsift make use of multiple UVW tags for different projections, like this:

I’d prefer to see this implementation over the Projector shader personally. It offers more control, particularly if you need to tweak UV maps for each placement. Maybe it would be easier to implement too 🤔 UVW stacking is standard practice in some industries.