The wonders of technical art (Unreal Engine)

123457

Replies

  • Obscura
    Offline / Send Message
    Obscura veteran polycounter
    Also, does anyone know a way for generating uvs for sdf triangles?
  • Obscura
    Offline / Send Message
    Obscura veteran polycounter
    So unfortunately there is no easy way to get all intersecting faces within a volume so I kinda need to be brute force here and test them one by one. Which makes the grid construction stage much slower, but until I find some better way, it'll do it. Hit result of blueprint traces only returns the first face that was hit, even when I use multi trace.
  • Obscura
    Offline / Send Message
    Obscura veteran polycounter
    I found this which confirms my finding...
    https://forums.unrealengine.com/unreal-engine/feedback-for-epic/71860-multi-line-trace-that-returns-all-hit-surfaces-not-just-actors

    "RaycastMulti only returns 1 hit result back and removes all of the rest of the results, it even says it in the source code:

    // Now eliminate hits which are farther than the nearest blocking hit, or even those that are the exact same distance as the blocking hit,"


    So basically this should be used to find multiple hit actors along the trace, and not multiple hit points of one actor.
  • Obscura
    Offline / Send Message
    Obscura veteran polycounter
    Good news it that a mesh with ~3000 tris is scanned very fast (but too slowly to call it real time) still. I don't really mind this situation for now, if the actual grid turns out to be as much faster than without it, as I would think. I can optimize the contruction stage later. Construction speed can also be reduced to gain framerate. This is done by using a timer and test one face when the timer ticks. Using large number will distribute the contruction to multiple frames so fps stays high but the triangle array is iterated very slowly. Using tiny number can force more faces to be processed within one frame, for the price of losing fps.


  • edoublea
    Offline / Send Message
    edoublea polycounter lvl 9
    Obscura said:
    Also, does anyone know a way for generating uvs for sdf triangles?
    Not certain about generating "true" UVs per se....  But I usually just use the final raymarch pos and normal to drive basic tri-planar mapping.  May not be what you're looking for, tho.  And obviously that falls apart under any sort of animated deformation.
  • Obscura
    Offline / Send Message
    Obscura veteran polycounter
    Yeah I know about triplanar. I used it on some of my earlier experiments with ray marching (page 3). Its kinda trivial in this case. But thanks for the input anyways. We could probably just take some 3d coord, make xy parallel to the triangle, and then something... :D Just throwing in ideas though. I will probably need to look into matrices and proper rotation very soon. I know about using acceleration structures to speed up ray tracing from the cameout of rtx cards, and even back then I played with ray marching and I knew I will get there at some point where I will want to trace meshes etc, but  thought I will reach that point in years. And, now I'm here. Same with matrix stuff, I was hoping to get there much later, but it would be advised to get into them very soon. 
  • Obscura
    Offline / Send Message
    Obscura veteran polycounter
    I kinda feel like I'm making good progress though. I achieved everything and even more than what I was mentioning on an earlier page when I came back to this topic. I tried out some less used features of ray marching including gi, realistic transparency, multi bounce reflections, and now starting with meshes and acceleration structures. I'm enjoying the ride  B) 
  • Obscura
    Offline / Send Message
    Obscura veteran polycounter
    Its like the ray tracing in one weekend series except that its far from one weekend...Still good.
  • Obscura
    Offline / Send Message
    Obscura veteran polycounter
    Any input from anyone regarding usage of render target buffers, except that I can make the whole thing half res relative to the actual resolution? For things like the dfao from the last page, thats cool but for the pure ray marched ones, it would be just like as if you would use 50% screen percentage. So I don't see much benefit there. But this would work around the custom node returning only one variable.So thats definitely there. Not a real benefit though because you could just modify it in code for yourself. But keeping such things up to date with versions is a pain. I don't like that.
  • Obscura
    Offline / Send Message
    Obscura veteran polycounter
    I also figured, culling of static objects that exists in the textures when using the uniform grid method, happens automatically! Because your rays will only hit cells with objects in front of you along their path. I also think that the uniform grid isn't bad with ray sphere marching, because it doesn't have the downside of traversing and sampling many cells along the ray because ray marching works differently.You still travel multiple cells but only fresnel pixels would be more expensive. This is all theory yet because I don't have the grid working yet. I'm pretty sure about the object and triangle culling though. Its basically the nature of this kind of acceleration structures.
  • serriffe
    Offline / Send Message
    serriffe polycounter lvl 7
    nice thread! keep posting! 
  • Obscura
    Offline / Send Message
    Obscura veteran polycounter
    RTX and chill again. This is based on this concept art of "DOFRESH.":
    https://www.artstation.com/artwork/gRrqQ

123457
Sign In or Register to comment.