Jump to content

Creating PBR material maps for lowest LoD imposter models with 3ds Max


Recommended Posts

@Porky Gorky wanted to know how I do this. But I don't want to spam this other thread, hence I created a new topic.
I have put together a bunch of screenshots with some explanations on them. I hope this is understandable enough.

ImposterBaking.thumb.jpg.450cdbfeee59f7e3685c14f691e88abb.jpgImposterBaking02.thumb.jpg.bf6ca70a8439fc4cbb22fd404527f8c9.jpgImposterBaking03.thumb.jpg.a87bda0ee0eb203e7565a69f548af3fd.jpgImposterBaking04.thumb.jpg.b72b3f6ae47c59d6364723886abeacf4.jpgImposterBaking05.thumb.jpg.16d952a29b6309109a4b1af15551154c.jpgImposterBaking06.thumb.jpg.6a41a96fb49a7c9b2c6e53d136f6d367.jpgImposterBaking07.thumb.jpg.7df0ae26ed3a393c479a35ade42694ab.jpg

When baking the normal map, or the ORM maps, you may want to enable a Global Supersampler.

When done, I pack the ORM maps in Photoshop (PS Actions come in handy). Then I just bulk upload the maps and create a PBR material in-world. Don't need to worry about compression artifacts at these map sizes and the distance these are usually viewed from.

Now I have to admit that I usually create these imposter materials as a separate material, because I usually don't plan ahead enough to make that work with a single material.

And yes, you will have to carry all the materials on all LoDs, usually on a tiny hidden triangle. (Firestorm is an exception here, where you only need all the materials to be present on the high LoD.)
 

  • Like 2
  • Thanks 4
Link to comment
Share on other sites

8 hours ago, arton Rotaru said:

@Porky Gorky wanted to know how I do this. But I don't want to spam this other thread, hence I created a new topic.
I have put together a bunch of screenshots with some explanations on them. I hope this is understandable enough.

Thank you very much, perfectly explained and with screenshots too, you rock!

I’ve used the projection modifier to bake high poly to low poly numerous times so this all makes perfect sense. I’ve just never considered using the projection modifier to bake low poly to nearly-no poly, it’s a great idea.

Thanks for the time and effort you spent explaining it.

  • Like 1
Link to comment
Share on other sites

Looks incredibly effective, thank you for the clear screenshots.

I wish someone would do some in depth tutorials on imposters (for blender and substance in particular). They are so important and it’s only in bits and pieces here that I’ve found any good information.

 

  • Like 1
Link to comment
Share on other sites

Actually, I figured that you can just project the ORM map as is as well, and not baking each channel map on it's own, and packing them together afterwards again.

But hey, why easy when you can do it complicated... 😇🤪

  • Like 1
Link to comment
Share on other sites

On 2/18/2024 at 9:46 AM, anitabush said:

Looks incredibly effective, thank you for the clear screenshots.

I wish someone would do some in depth tutorials on imposters (for blender and substance in particular). They are so important and it’s only in bits and pieces here that I’ve found any good information.

 

Here's my contribution. I can't find an equivalent modifier in blender, however this is how I make my plant LODs which is more or less the same theory. I put the camera in orthographic mode and take a shot from the front and side. I will say I only do this for big plants because a small plant or flower would only be a blob of pixels from a distance anyway so I sometimes use that idea to my advantage in terms of making lower LODs. 

 

The empty is just for parenting the camera to make it easy to rotate. 

The shots are made into a cruciform mesh  (like an old school plant) and used for lower LOD. You could do the same for a chair by taking the photos in blender and compositing the texture in your image editor of choice. There's probably a way to do it with nodes. The only projection modifier we have it like for casting meshes onto another.  Onc caveat that Arton didn't mention is the meshes need to have the same size bounding boxes or you'll get weird popping behavior  

 

I shade the lower LOD  in-world so it matches as well as it can. It's not the most elegant solution, but its all we've got and it's better than setting LODs to 0,0,0 then advising on debug settings.  https://gyazo.com/0380629183d8b251466cc74834e60a64

81f0aea75590ee3ac7572aea6261f06c.png

6bb52026c14974f9ae9b89c21c12b907.png

Edited by Cube Republic
  • Like 3
Link to comment
Share on other sites

On the Blender front

One could use GrabDoc to bake the 2d images, this has the benefit that you can also render the normal, metalness, roughness etc

What you'd do is place the object over the grabdoc square at the rotations you want, go into material preview for each and render. To get a transparent background, you disable the grabdoc plane and ensure transparent film is enabled.

https://razed.gumroad.com/l/grabdoc

Can download the blender addon as a zip from the github if money is an issue: https://github.com/oRazeD/GrabDoc

  • Like 4
Link to comment
Share on other sites

On 2/22/2024 at 10:44 PM, Cube Republic said:

Here's my contribution. I can't find an equivalent modifier in blender, however this is how I make my plant LODs which is more or less the same theory. I put the camera in orthographic mode and take a shot from the front and side. I will say I only do this for big plants because a small plant or flower would only be a blob of pixels from a distance anyway so I sometimes use that idea to my advantage in terms of making lower LODs. 

 

The empty is just for parenting the camera to make it easy to rotate. 

The shots are made into a cruciform mesh  (like an old school plant) and used for lower LOD. You could do the same for a chair by taking the photos in blender and compositing the texture in your image editor of choice. There's probably a way to do it with nodes. The only projection modifier we have it like for casting meshes onto another.  Onc caveat that Arton didn't mention is the meshes need to have the same size bounding boxes or you'll get weird popping behavior  

 

I shade the lower LOD  in-world so it matches as well as it can. It's not the most elegant solution, but its all we've got and it's better than setting LODs to 0,0,0 then advising on debug settings.  https://gyazo.com/0380629183d8b251466cc74834e60a64

81f0aea75590ee3ac7572aea6261f06c.png

6bb52026c14974f9ae9b89c21c12b907.png

Thank you for detailing your workflow, that’s really helpful 

  • Like 1
Link to comment
Share on other sites

Thanks everybody for sharing these very helpful.

I am now going to translate this into C4D workflow too (think there is less than 2-3 people using it in SL ha).

One thing I always have to do for LODs is export FBX out of C4D into Blender to export to DAE as the material order scrambles on Firestorm and LL viewers (when I get time once of these days I will figure why as it's a PITA to run that extra step).  So might actually finally get more into blender for the lowest LOD workflow.

Link to comment
Share on other sites

23 hours ago, Charlotte Bartlett said:

One thing I always have to do for LODs is export FBX out of C4D into Blender to export to DAE as the material order scrambles on Firestorm and LL viewers (when I get time once of these days I will figure why as it's a PITA to run that extra step).  So might actually finally get more into blender for the lowest LOD workflow.

I remember that the multi material Collada export of C4D has been like that since when Mesh came to SL. A couple of people I know used C4D back then and had that same issue.

Edited by arton Rotaru
  • Thanks 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...