Raymarching! Why Even Bother? Godot 4! Modelling Techniques.

Поделиться
HTML-код
  • Опубликовано: 3 авг 2024
  • I will show you how to unleash the true power of ray marching. How to create more complex shape using something called ray marching operators! What are those? let’s find out!
    Previous episode!
    • Ray-marching for Dummi...
    Shader file!
    www.patreon.com/posts/raymarc...
    Shader-Lib addon!
    godotengine.org/asset-library...
    Shader-Lib docs!
    github.com/DigvijaysinhGohil/...
    Buy Cosmic roads on steam!
    store.steampowered.com/app/25...
    Consider supporting the channel!
    github.com/sponsors/Digvijays...
    / digvijaysinhg
    Chapters!
    00:00 Intro
    02:01 Translation
    02:24 Rotation
    04:43 Scale
    08:06 Union
    09:42 Intersection
    10:31 Boolean
    11:22 Morphing
    12:07 Hollow shell
    13:00 Distortion
    15:49 Mirror
    17:53 Outro
    Cheers!
    #GodotEngine #shaders #tutorial

Комментарии • 13

  • @plur_ndbn
    @plur_ndbn 26 дней назад +1

    Thanks. Any chance you will create videos about CanvasItem shaders?

    • @iDigvijaysinhG
      @iDigvijaysinhG  26 дней назад +2

      Hey, I don't have any idea in mind but I am open to suggestions. Do you have any particular effect in mind?
      I have made one using visual shader by the way, it's called ice freeze full screen shader if you want to check it out.

    • @plur_ndbn
      @plur_ndbn 26 дней назад

      ​ @iDigvijaysinhG In current (my first) project I try to create space system (in 2D), interested in warp, light speed, wormhole effects, etc..
      But It all personal for me, it uncomfortable to ask.
      At now i've try create planets, It a bit hard for me (poor math) for understanding UV transforms, for example I've search how wrap texture in 2D sphere, some parts of this found in different sources
      void fragment() {
      vec2 uv = 2.0 * (UV - 0.5);
      float r = length(uv);
      uv *= asin(r) / r;
      uv.x = uv.x / TAU;
      uv.y = uv.y / PI + 0.5;
      uv.x += TIME * 0.01;
      COLOR.rgb = texture(TEXTURE, uv).rgb;
      COLOR.a = step(r, 1.0);
      }
      I've compared this with your spherize_uv function, it a bit different result.
      Texture I use from website "Solar Textures"
      I also know people likes full screen effects, like CRT, pixelated, distortion, may be you will interested to create video with explanation, because many just copy shader code from sites.

    • @iDigvijaysinhG
      @iDigvijaysinhG  26 дней назад +3

      @plur_ndbn, don't worry too much about asking. Think of it this way, you are giving me video ideas.
      And as far as math is concerned, I can tell from personal experience that mathematics has a tendency to seem difficult until we know proper applications for its concepts. I would recommend you check out Desmos, it's a tool to visualize maths(sort of). And of course practice, practice practice.
      And when you get stuck don't feel discouraged, game development in general is hard, it's only natural that we struggle sometimes.
      Having said that I will definitely come up with something in the future based on your ideas.😁

  • @artiartem
    @artiartem 23 дня назад

    Does it have any issues when using marching on specific object in the scene and leaving other objects with standard rendering?

    • @iDigvijaysinhG
      @iDigvijaysinhG  23 дня назад

      Hey, you can use standard meshes alongside ray marched shapes just fine.

  • @UltimatePerfection
    @UltimatePerfection 22 дня назад

    How about adding support for metaballs modelling?

    • @iDigvijaysinhG
      @iDigvijaysinhG  22 дня назад

      Like the ones in the Blender? I am sorry could you elaborate?

    • @UltimatePerfection
      @UltimatePerfection 22 дня назад

      @@iDigvijaysinhG Yup. Like those in Blender.

    • @iDigvijaysinhG
      @iDigvijaysinhG  22 дня назад

      @@UltimatePerfection Yes, but I am not sure about adding support part, You can probably use smoothmin and smoothmax function to sort of mimic that behaviour.

  • @maxarq
    @maxarq 22 дня назад

    ok what about texturing them?

    • @UltimatePerfection
      @UltimatePerfection 22 дня назад

      Dunno, triplanar maybe?

    • @iDigvijaysinhG
      @iDigvijaysinhG  22 дня назад +1

      That is the topic for the next episode in the series, you have to wait a bit longer for that.