Search Unity

[Released] F.E.R.M toolkit: Fast Easy RayMarching in Unity

Discussion in 'Assets and Asset Store' started by WARdd, Apr 4, 2019.

?

Which features would you like to see added to FERM?

  1. More in depth documentation about custom scripting

    3 vote(s)
    20.0%
  2. More built-in 3D fractals

    9 vote(s)
    60.0%
  3. More built-in 2D fractals

    0 vote(s)
    0.0%
  4. More built-in 2D primitives

    1 vote(s)
    6.7%
  5. Support for transparancy

    4 vote(s)
    26.7%
  6. Support for shadows

    5 vote(s)
    33.3%
  7. Raymarching-calculated glow effects

    5 vote(s)
    33.3%
  8. More options for texturing, UV layouts and color ramps

    3 vote(s)
    20.0%
  9. Improving robustness for animation system

    2 vote(s)
    13.3%
  10. Quality of life / general usability updates

    4 vote(s)
    26.7%
Multiple votes are allowed.
  1. WARdd

    WARdd

    Joined:
    Aug 10, 2015
    Posts:
    29


    F.E.R.M toolkit
    Allows the user to set up Raymarching scenes. This is a rendering technique distinct from rasterization or raytracing that allows one to render amazingly complex scenes as long as they can be defined in simple mathematical terms. This includes features like fractals, smooth shape mixing, infinite repetition and many more, which would be very difficult, if not downright impossible to recreate using standard techniques.



    FERM itself is designed to be lightweight, fast and easy to use. The user can immediately insert a Raymarching renderer into a scene and get to work adding components. Seemingly complex features, such as infinite repeats can be achieved with a single modifier component. In short, you don't have to get involved with the math or shading language to get a scene set up!




    FERM also features systems for moving and animating the raymarching scene, in particular responding to sound, which can be used to create some crazy audioreactive scenes



    Features & options

    • Real time rendering for all features, down to the biggest, baddest, infinitely repeating, shape shifting monster you could ever dream up.
    • Skybox mode: fill the sky with mesmerizing fractals. Ideal for creating a dreamy or alien atmosphere.
    • Animation. make complex shapes fold, rotate, move and otherwise animate, without breaking your head over complex math!
    • Shape mixing, smooth unions that blend shapes like liquids, distorted mixes to create an otherwordly impression and more.
    • Infinite rendering distance. Repeating fractals that run on to the horizon or fill the entire sky. Infinite planes, tunnels, cones and spirals!
    • Unity lighting support, because who wants to reinvent the wheel? We support both the standard shader option and unlit behaviour!
    • Loads of primitive shapes in both 2D & 3D, such as spheres, boxes, planes, pyramids, arches, infinite tunnels, circles, spirals, polygons... you name it, we got it!
    • Fractals again, both in 2D & 3D: Mandelbulb, Mandelbrot, Sierpinski, Julia and Koch snowflake, just to name a few. Not to mention, the option to create your own fractals with the powerful recursion component.
    • Texture support. No more tedious UV unwrapping! Get it packaged automatically in a variety of shapes.
    • Highly customizable with tons of options to optimize settings and performance. Render fractals on your phone!

    Tutorial & in-editor show casing

    If you want to see how FERM operates in practice, take a look at this tutorial video, in which you are guided trough the process of making a magic fractal bal that reacts to physics.



    ------------------------------------------------------------------

    The FERM toolkit is still under development, some more features are on the table to be added in the next update. Make sure to leave an answer in the poll for which you want to see as soon as possible!
     
    SamMed05 and Zarbuz like this.
  2. BryceS

    BryceS

    Joined:
    Jun 10, 2011
    Posts:
    25
    This looks amazing! I'm very interested...

    What platforms are supported? Does it work in WebGL? What about Android/iOS?
     
  3. WARdd

    WARdd

    Joined:
    Aug 10, 2015
    Posts:
    29

    FERM has only been tested thoroughly on standalone, but in general it should work on anything that supports deferred rendering, so WebGL should work, but Android/iOS will probably fail on most devices.

    The problem is that Raymarching is quite heavy, so FERM has to rely a lot on GPU. This messes a bit with compatibility on small devices, or PCs with very old GPU's, typically the kinds that don't support deferred rendering.

    I'm still working on expanding the compatibility though, you can always let me know if your use case is not working and I'll see what I can do.
     
  4. Zarbuz

    Zarbuz

    Joined:
    Oct 13, 2015
    Posts:
    44
    I bought this asset and I must say that I am really very satisfied ! So much fun with it !
    Do you know what you will be working on for the next update?
     
  5. WARdd

    WARdd

    Joined:
    Aug 10, 2015
    Posts:
    29
    I was looking into shadows in particular, but to be honest I have very little time to work on FERM right now.
    It might be finished somewhere at the end of the month.
     
  6. tobischw

    tobischw

    Joined:
    Aug 28, 2012
    Posts:
    21
    I love this asset! I do wish mobile would somehow be supported, because it would be a lot of fun on something like the Oculus Go, but I understand the technical challenges. (I did test it on the Go and it did not work)
     
  7. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    569
    FaberVi likes this.
  8. WARdd

    WARdd

    Joined:
    Aug 10, 2015
    Posts:
    29
    I can take a look at how they did it, but I suspect providing HDRP support will demand a pretty large scale overhaul, so it might not be feasible for me to implement it
     
  9. dlstilts

    dlstilts

    Joined:
    Sep 29, 2017
    Posts:
    40
    Hi, I bought this asset and I am wondering how to add a collider to the ferm-generated objects or fractals? I need to have unity mesh models bouncing off the FERM environment. Thanks!
     
  10. WARdd

    WARdd

    Joined:
    Aug 10, 2015
    Posts:
    29
    There's no general way to handle collisions with the raymarching surface, it depends on your applications. There are tools to probe the distance function and even do raycasts (marchcasts?) so you can implement specific behaviours like say walking on a fractal surface.
     
  11. JJRivers

    JJRivers

    Joined:
    Oct 16, 2018
    Posts:
    137
    Buuut.. what if i Do want to get involved in the complex math? ;)
    But i'll also be needing to do it in HDRP so i guess i have my work cut out for me heh

    Looks pretty darn impressive though, good job!