Home Technical Talk

SDF. what do you think of it?

gnoop
sublime tool
Offline / Send Message
gnoop sublime tool
I haven't even heard of it before Adobe brought it to Designer . Doesn't seem  especially convenient .   Am I missing  something?

Replies

  • okidoki
    Offline / Send Message
    okidoki interpolator
    SDF = signed distance fields ?

    Have a quick look here:

    https://www.cgchannel.com/tag/signed-distance-fields/

    Even Substance has this for a long time (as seen above; at least two years !?); also Material Maker.. some addons for Blender or the stand-alone apps: SDF-Modeller  or  Clavicula ..

    You may also have a look here: BlenderArtist: The BigSDF Thread.. ( yes.. i do not have enough money to spent on all the nice applications out there; but i stil have fun with those ones, so not so sure about 3DS Max or Maya  :wink: ).
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    sdfs are used basically everywhere in computer graphics and have been for at least 40 years
    just think of them as a gradient  in however many dimensions you're dealing with and it all makes sense


  • gnoop
    Offline / Send Message
    gnoop sublime tool
    thanks guys . Well. I discovered  them only in latest   release of Substance Designer . Got the general idea . Just wonder if those sdfs   are used in gamedev  and how?   As  ray marching  volumes ? Isn't it rather 3d textures and noise ?    Should I learn sdf modelling  or its like  Metaballs in Blender ?   Something that sits there since the soft founding  but nobody uses ?

  • okidoki
    Offline / Send Message
    okidoki interpolator
    One has to distinguish:
    Signed distance fields or functions does define some volume. Ray Marching is one possible algorithm to compute SDF's.
    Another possibility are voxels.. even if "rastered".

    One may say that the (original) metaballs are a very simple version of SDF.. only some radius around some ball centers (spheres).. later also extende to  two center -> ellipsoid, lines -> capsule, rectangle -> rounded planar cubicle, cube -> rounded cubicle.

    But of course this is a bitmore complex topic :wink: .. Here some other links:

    https://daydreamsoft.com/blog/sdf-based-character-animation-and-deformation-systems-a-new-era-of-smooth-flexible-motion-in-games

    https://80.lv/articles/custom-dynamic-sdf-based-game-engine


  • gnoop
    Offline / Send Message
    gnoop sublime tool
    Thanks  for interesting links   but  still sounds like a toy  not very relevant to actual game art production.    Same as Metaballs.  Rather an  interesting  toy.

     I am for example still waiting when  Designer would get any convenient manual touching/finishing  tools   or otherwize Painter  get  something like node based level  of a direct  kind of access to any  part of  of the flow  instead of non stop puzzles with anchors, custom sbsar tricks  etc.       That pair is still so damn inconvenient.   Even the splines I had so much hopes for  and ended up using GN in Blender instead.     Those ribbon like brushes in Painter is a first thing In years  that I actually very  much welcome  and yet  they lack  a few very important features been available  in decades old soft like Expression or even Zbrush  pressure driven  equivalent.     Painter  ribbons still looks mechanical vs Zbrush ones  even as vectors, even with random flip.    

    So I am sort of puzzled when I see that  actual development  have in fact  stalled  or looks like dried out of ideas   but new toy features are introduced instead helping with nothing.


  • okidoki
    Offline / Send Message
    okidoki interpolator
    Isn't toying with something the base for fun and inspiration ? :wink:
    Also: convenience or usefulness may be in the eye of.. 
    ..and: at least you know a bit more about it now.. :tongue:
  • myclay
    Online / Send Message
    myclay greentooth
    SDFs are used in many different ways like making reading text in games less pixelated.

    2D wise it can also be used for example in creating rain hitting the floor, creating a raindrop effect, 3D wise, intersections to visualize visibility shapes, ranges... or like a less resource hungry alternative to raytracing where you use SDFs for global illumination and so on.

    Since you are specifically asking about SDF modelling:
    The lure (and imo real pro side) of SDF Modeling is its ability of being non destructive.
    In some tools you can also use SDFs to colorize (to some extend) without having to make and use UVs but the caveat is, SDF modelling can quickly turn into a resource hungry mess.

    SDF Modelling is only like Metaballs in the sense of: you are going to compute lots of geo where it isn't needed. so i would also go so far and say it is a bit like the remesh feature -> Lots of unwanted geo.btw here is a quick test with 7 objects (still editable) stacked into each other with some booleans in it.

    Using SDF models for Games, you will (as far as I looked into it) always need retopo, UVs and other steps afterwards.
    I agree with okidokihere, its a tool, have fun and experiment.

    It's in my humble opinion far better to know a tool and not use it than to wonder if it could ever be useful or not.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    @gnoop, it just occurred to me that you've been using them for years  in designer, it just doesn't mention it

    Using max() blend mode to combine heightmaps is exactly the same as using min() on a pair of SDFs that represent the same surfaces. (Invert and rerange to -1:1 to get the SDF)

    It's mathematically more convenient to use SDFs if you want several distance functions to interact (because you work around 0 rather than arbitrary distances from 0) but that is literally the only difference. 

    If you go think about it for a bit you realise that UV coordinates are actually a pair of 1D SDFs and a whole world of possibilities opens up..
  • gnoop
    Offline / Send Message
    gnoop sublime tool
    Thanks guys for interesting comments .    it's of topic   but   last fall after years of polishing  Designer fx maps and creating procedural approaches I suddenly found how actually  better my work had been  when it all was just manual,   taste and intuition driven.   Zbrush sculpts and coloring , hand painted  textures I did in some impasto exportable  software like Corel Painter .   That procedural approaches  are indeed look like quick magic  but I never been able to weed out a certain mechanical recognizable style that even hard to explain. Kind of similar  thing we instantly smell from Ai videos on youtube.   But it's rather Designer's blobs ,  physically  unrelated scratches and in general a bit too much of noisy everything everywhere.  
     
    Seems  the whole art making  software industry   aims at eliminating  hand  intuition as a factor.    Now I am torn in between the speed of  quick procedural  iterations and  weeks  of hand sculpting /painting everything.        So this new  SDF modeller in Designer seems another new interesting  toy  but again irrelevant to my desire for that lost hand intuition.   In Painter  brushes are so mechanical either, so lost of  surface touch feeling , intermixing , automatic instant self masking , velocity and touch dynamic even Zbrush 2022 had.       You need  so much of inventing and workarounds to  use Painter brushes for  something like tire skid on a racing track wall  for anything looking natural.  Ribbon brushes was a huge step in right direction although. 
      
    Yet for some uncertain reason  no CG related tools are looking for improving  such things .   Still only soft like Rebelle or Corel Painter that do.   In Corel Painter that ribbon shifts in V  randomly with each new stroke   but not in SPainter  while it seems so obvious and necessary. 
         

     
Sign In or Register to comment.