Home Technical Talk

PBR texture scanning vs. Bitmap 2 Material approach

Yamta
null
Offline / Send Message
Pinned
Yamta null
Hey everyone,

(Preface)
I know you guys get stupid questions a lot so please bear with me but I didn't find anything through searching on your forums regarding this. This is my first post on the forum and I'm not a 3D artist by trade (at all) so for me this is a stretch in ability/knowledge base- which is why I came here!

To give some background I'm making an augmented reality app to help customers better visualize different hardwoods/carpets in their homes. Here is an example of the type of app we're creating.
https://www.youtube.com/watch?v=eswoftTFx0g 

We know we wanted the highest realism possible so we decided on PBR formatted textures. Currently our process is taking a swatch (like this http://www.timbercreekhardwoodflooring.com/images/swatches/lg/MapleNatural.jpg) from a manufacturer's website, sending it through Substance B2M, swapping out different parameters depending on the type (wood/tile/etc...) and finish (glossy/rough/etc...) and then rendering that tileable material on a mesh in Unity.

I recently discovered PBR material scanning via photogrammetry. It got me thinking that I should really be asking experts what they think of our current process, and how we could make it as realistic as possible. 

My questions are:
Is PBR material scanning better than our current process? If so, how, and by how much (qualitatively)?
Is there a better way to do our current process? 
What would you do in my position?

Thanks for all your input, I really REALLY appreciate it. Any comments/concerns/questions are ULTRA welcome!

Cheers,

Yamta

Replies

  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    If you can access a scanning method that can accurately scan specularity, roughness, and other material properties, then its definitely better, because you get physically accurate maps, representing correct values, across the whole textures, while B2M basically lets you setting up any value that you like.
  • Yamta
    Offline / Send Message
    Yamta null
    Obscura, what scanning methods would be ideal for something like this?
  • Dash-POWER
    Offline / Send Message
    Dash-POWER polycounter lvl 6
    There are glossmeters on the market so you can scan real gloss/roughness of a material if you want to be precize enough. For material details I would use polynomial texture mapping (PTM) - basically taking photos from multiple sides of your material with one light source. Allegorithmic software company is providing good tools for this or you can use this method: http://culturalheritageimaging.org/Technologies/RTI/ (Free). The second method is mostly use in archeology for scanning real artefacts and surfaces for later study. I would go for the first thought.
  • gnoop
    Offline / Send Message
    gnoop sublime tool
    There is no an easy and simple method to scan a surface yet.   And non of them is always perfect for any kind of  subjects.   It's always time vs desirable result.   
     You just need to understand a few things.  A very base of any texture currently is a surface heights , an actual shape in a word.

     B2M ,crazy bump and such are simple fake tricks  considering darker pixels be deeper and brighter be higher ones  which of course is not true pretty often.    It's  rarely used  in   gamedev  already.   Only for tiny height amplitudes maybe.  Still sometimes it works just ok.

    The method of  getting normal maps from multi-angled lighting  is also a crippled one since it doesn't give you actual surface shape,  troublesome  to perform and just  doesn't work for many subjects.

    Current scanning idea mostly means  photogrammetry , but also not an easy quick process.  Still I bet that  RTI "reflectance transformation" method is just an outdated one.  They probably developed it before 50 mpx and even 100 mpix cameras plus soft like Reality Capture appeared  on the market .  The photogrammetry is capable to produce a pretty accurate surface of billions polys up to tiny small details now. 

    If  it worth  to make a simple ceramic tiles surface is totally another question. Most people  would use Substance Designer for that  in which the heights/depth image is also a base to start from.  

    As of scanning those glossiness/roughness values  nobody do it actually. It's just doesn't worth the time spent.  You could just make  your guess or find it in a sample table somewhere in Internet.   
    Only that really matter is  accurate heights.




  • Dash-POWER
    Offline / Send Message
    Dash-POWER polycounter lvl 6
    @gnoop If your surface doesn't have any visible color pattern you won't get anything by using photogrammetry. You need to use a spray with flakes to add some extra track points if you want to get at least something.

    But I think just regular B2M/SD should be enough and gloss as adjustable variable that client can achieve wet floor effect + some indoor HDRI presets.
  • gnoop
    Offline / Send Message
    gnoop sublime tool
    yeah,  I agree, Photogrammetry also has its limitations
  • Yamta
    Offline / Send Message
    Yamta null
    @Dash-POWER @gnoop @Obscura
    Thanks for your guys' input! I found a service that can do these types of scans https://www.muravision.com/ They seem to offer what we're looking for instead of having to figure out how to do all of that ourselves (plus the post process pipeline).  It sounds like we'll stick to B2M style stuff until we require the fidelity that HQ PBR scans can provide or can afford it. For carpet/tile though we might be able to do it right off the bat since the samples are so small it would be a lot cheaper than large wood planks.

    As we're continuing to move forward on this some more questions have popped up in regards to tiling floors looking properly. I'll probably have to start a new thread for that though.

    Seriously thanks again for your input!



Sign In or Register to comment.