How to make SPLATOON In Godot 4

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 พ.ย. 2024

ความคิดเห็น • 71

  • @ultionem1525
    @ultionem1525 2 ปีที่แล้ว +26

    Wow dude, this is great! Godot 4 will need more people like you making super usefull tutorials to make it more popular

  • @clonkex
    @clonkex ปีที่แล้ว +4

    Seams are your friends for this! Unwrapping while keeping specific faces connected is much easier if you mark specific edges as seams

  • @i_dont_want_a_name
    @i_dont_want_a_name 2 ปีที่แล้ว +20

    Suggestion: portal gun!
    There are a few interesting challenges: physics (at least momentum and collisions), multiple cameras, sliced copies of objects and possibly lighting/shadows. In the end, combining the portal gun with your splatoon gun gets you Portal 2 painting capability. Then just make the paint bouncy or slippery and you've got Portal 2. This could be multi-video series!
    Also, subbed!

    • @nullvoid3545
      @nullvoid3545 ปีที่แล้ว +2

      I would love to see this, but portals are especially difficult to make right in Godot because its renderer doesn't expose the buffers needed until after the stages in rendering they would be useful.
      Existing attempts use multiple viewports and cameras to get most of the effect, but with much more overhead and clipping issues.
      This was the state of things last I checked but I haven't checked in about 4 months or so.
      There are A few pages on the issue tracker about lower level rendering server shaders getting more hooks for things like portals and meshlets but its one of those things that only the most busy maintainers really have the core knowledge to add, and right now Godot is rapidly changing as it is so I doubt making the renderer more modifiable is A high priority.
      One of the first things I looked up when I wanted to learn Godot was portals. I was bummed they confident be done well in version 3, but the issues on it said Godot 4's new renderer would change that.
      And it still will...
      Eventually.

  • @noontimedreamer
    @noontimedreamer 2 ปีที่แล้ว +5

    This is so cool! I know the video is about splatoon but it also makes me think a lot of the Portal 2 Gels!

  • @noxh8091
    @noxh8091 2 ปีที่แล้ว +6

    Okey you're honestly awesome. Even though I might not use it. I like following the tutorials to learn more about the engine.

    • @crigz
      @crigz  2 ปีที่แล้ว +3

      Cheers mate! My goal with these videos is to hopefully spark some creativity for people. The techniques in this video could be used in lots of different ways for example!
      Instead of overlaying the paint texture, you could use it as a mask to erase a dirt texture. Then you'd make a power washing simulator!

  • @nicoladann303
    @nicoladann303 2 ปีที่แล้ว +3

    Woah. Seeing videos like this really make you appreciate all the work the devs did to bring us the Splatoon games.
    Also thanks for explaining everything so well ^^

  • @aaronb1232
    @aaronb1232 24 วันที่ผ่านมา

    Thank you so much for showing this detailed tutorial and the source code!
    I ended up implementing this in my game where you spray water on a desert in order to spawn grass and trees.
    I'm using the C# version so I had to take your code and convert it, which took awhile, but I finally got it working and it looks great!
    If you're interested, I can copy/paste the C# versions of the classes for other users :)

  • @arthurdarocharuzinsky8182
    @arthurdarocharuzinsky8182 ปีที่แล้ว +2

    Never thought someone was gonna make a tutorial about it, amazing job!

    • @game4us_Splatuber
      @game4us_Splatuber ปีที่แล้ว +1

      and this early too? it was just a throwaway google search, tf

  • @natwon633
    @natwon633 9 หลายเดือนก่อน +1

    Broo thank you so much. I've been looking into a similar problem and just couldn't get it to work. You're really helping me out switching to Godot

  • @flamelizard
    @flamelizard 2 ปีที่แล้ว +5

    You absolute legend ❤😮 I wondered if Alfred’s tutorial would make that possible and I am soooo thrilled about this!!!

    • @crigz
      @crigz  2 ปีที่แล้ว +2

      Yep! Alfred's tutorial was so damn useful! This video wouldn't have been possible without it.

    • @flamelizard
      @flamelizard 2 ปีที่แล้ว +1

      @@crigz that’s true! I am really looking forward to your progress on other projects! I will be following your here and on Twitter (I retweeted your post there to get some more people on this excellent tutorial)

    • @crigz
      @crigz  2 ปีที่แล้ว +1

      @@flamelizard Thank you so much mate! I really appreciate the support.

    • @AlfredBaudischCreations
      @AlfredBaudischCreations 2 ปีที่แล้ว +3

      😍😍😍

    • @flamelizard
      @flamelizard 2 ปีที่แล้ว +1

      @@crigz no problem! Happy to help spread the word of your cool work!

  • @makebreakrepeat
    @makebreakrepeat ปีที่แล้ว +1

    My. Hero. I'm new to Godot and been noodling on this for a while 😅 Sub-a-dub dubbed

  • @SmashtoonGamer
    @SmashtoonGamer 3 หลายเดือนก่อน +1

    18:50 lil Mabu on the track

  • @ZpeedTube
    @ZpeedTube 3 หลายเดือนก่อน

    Was roughly looking for something like this, just have to add some vertex displacement also somehow. But a good start. Thanks! :)

  • @happytrees8447
    @happytrees8447 ปีที่แล้ว +1

    Hey, I've been bashing my head against the wall trying to get this to work for a few days now in a similar implementation but where things move. This was very helpful but just so anyone else knows Viewport textures still seem to be broken and I spent way too long trying to solve that! (going to the latest Release Candidate and then overwriting the Paint viewport texture in _ready fixed it for me). Thanks for this tutorial learnt a lot about textures, uv's, and got to brush up on some linear algebra

  • @Andserk
    @Andserk 10 หลายเดือนก่อน +1

    I've been looking for a way to make persistent footprints and dirt/blood trail and tracking, this may be a good direction to check. many thanks!

  • @AvocadoInvocado
    @AvocadoInvocado 2 ปีที่แล้ว +2

    Wow this channel is so good

  • @GoblinArmyInYourWalls
    @GoblinArmyInYourWalls 2 ปีที่แล้ว +3

    Excellent tutorial

  • @travislee5486
    @travislee5486 2 ปีที่แล้ว +2

    awesome! Thanks for you brilliant sharing!

  • @EeVeE3D
    @EeVeE3D 2 ปีที่แล้ว +3

    great tutorial..thank you...

  • @MeshVoid
    @MeshVoid 2 ปีที่แล้ว +4

    Awesome tutorials!

  • @kaanforward7782
    @kaanforward7782 2 ปีที่แล้ว +4

    It's a shame there are no built in mesh raycast methods in Godot, There should be as they exist in other engines to get UV co-ordinates from a world position and such.

    • @joshuablackmon939
      @joshuablackmon939 2 ปีที่แล้ว +1

      comes at a speed cost , In unity C# is used, this comes as a significant speed cost when creating vectors. In Godot the gdscript connects back to C++ .

  • @WiseNoodleOfficial
    @WiseNoodleOfficial 2 ปีที่แล้ว +3

    Super cool and filled with very useful information! I cannot wait for godot 4’s release to really start making 3D games. Been playing with the Betas and I’m super hyped.
    Do you think you could do a guide on noise? Such as scrolling noise textures over grass or water to creat wind and waves?
    I get the concept but I’m having trouble with the implementation. Thanks!

    • @crigz
      @crigz  2 ปีที่แล้ว +2

      I'll see what I can do!

    • @WiseNoodleOfficial
      @WiseNoodleOfficial 2 ปีที่แล้ว +1

      @@crigz thank you! Reading docs doesn’t always click for me.

  • @AslanSilva
    @AslanSilva 2 ปีที่แล้ว +3

    Love it!!

  • @Kevs_BS
    @Kevs_BS 2 ปีที่แล้ว +2

    ayo thats not bad a bit of tweeks and that be a cool game to play on pc

  • @olmrgreen1904
    @olmrgreen1904 2 ปีที่แล้ว +1

    Impressive work!

  • @pipeliner8969
    @pipeliner8969 2 ปีที่แล้ว +2

    wow this is nice!!!

  • @question_mark
    @question_mark 2 ปีที่แล้ว +2

    yessss

  • @teo2805
    @teo2805 2 ปีที่แล้ว +3

    Super cool. Subbed. I do actually develop in Godot 2d. Any chance you'll make 2d tutorials in the future?

    • @crigz
      @crigz  2 ปีที่แล้ว

      I don't see why not! Thanks for subscribing.

    • @crigz
      @crigz  2 ปีที่แล้ว

      Is there anything in particular you'd like to see a tutorial for in 2D btw?

  • @unfa00
    @unfa00 2 ปีที่แล้ว +1

    I wonder if this could be used to paint damage onto character models. I guess using decals would be much easier, but I am a bit worried about decals warping on animated geometry.
    Painting the decals instead to lock them into the UV space would fix that, but I am worried it could be expansive to do for every character (lots of extra viewports to render to each frame).

    • @crigz
      @crigz  2 ปีที่แล้ว

      That's a cool idea! I think the fix for that would be if there is a way to only render the viewport when we want to update the damage texture, unfortunately I don't think there's a way to control when a viewport draws currently.

  • @GavinMogan
    @GavinMogan 10 หลายเดือนก่อน +1

    This is so cool, and I learned a whole lot, but I can't seem to be able to reproduce it. The UV position for the middle of the map on the floor, seems to draw on one of the walls. I don't know if i exported the model wrong, or the texture wrong, or something wrong with the uv library. Do you have a working copy of this somewhere I could poke around with? Any gatches you remember that you didn't put in the video?

  • @chimp4thoughts
    @chimp4thoughts ปีที่แล้ว +1

    It's a great tutorial, but I have to also ask if there's a way to make this work with multiple meshes?

  • @natwon633
    @natwon633 7 หลายเดือนก่อน

    15:20 March 2024 Godot version 4.2.1 you still gotta do this. Just so y'all know.

  • @jovlem
    @jovlem ปีที่แล้ว +2

    In your tutorial you only use one mesh with one UV. Is it possible to paint on more than one mesh?
    So you have the level it self, and mabye some objects that can move like crates or an elevator? Would that work or will this be to heavy to run smooth?

    • @Maxschellenberg
      @Maxschellenberg 10 หลายเดือนก่อน

      I would like an answer to this as well. :)

  • @NycroLP
    @NycroLP 2 ปีที่แล้ว +2

    2:05 Never knew about the suffix -col. May ask how do you know that?

    • @crigz
      @crigz  2 ปีที่แล้ว +1

      From the docs! There's a load of different ones, you can see them all here: docs.godotengine.org/en/stable/tutorials/assets_pipeline/importing_scenes.html#import-hints

    • @NycroLP
      @NycroLP 2 ปีที่แล้ว +1

      @@crigz Thanks, stupidly enough i thought the doc wont be very helpful for the current 4.0.

    • @crigz
      @crigz  2 ปีที่แล้ว +1

      @@NycroLP Ah! the 4.0 docs are here: docs.godotengine.org/en/latest/ and it's surprisingly quite up to date.

  • @Sweze
    @Sweze ปีที่แล้ว +1

    Could you perhaps put the project file on github? I could learn more from the code and the inner workings of it
    I've got a splatoon like movement character up, and this would help me a lot, truly, Thank you.

  • @joshuablackmon939
    @joshuablackmon939 2 ปีที่แล้ว

    following to see if i could implement this with my landscape i made

  • @oktopusskills
    @oktopusskills ปีที่แล้ว

    Tell me, after the get_face function in matches, I always have an empty list. What could this be related to?
    I have a collision through raycast, I get the collision position through ray.get_collision_point(), and I get the normal through ray.get_collision_normal()

  • @wagfeliz
    @wagfeliz ปีที่แล้ว

    For me its working when the ground is flat, if its not on 0 or inclined, it dont work for some reason. Somewhere it seems to be buged on y axis.

  • @Joneender
    @Joneender 7 หลายเดือนก่อน

    Nice! Is there a way to do this in 2d?
    like for example, a 2d platformer, it would only show a few pixels of paint from the angle youre standing. I know this sounds useless but i need to know for my game

  • @vaporvee
    @vaporvee 6 หลายเดือนก่อน

    why don't you use decals?

  • @boroborable
    @boroborable 2 ปีที่แล้ว

    how is this compared using new decals in godot 4? using too much decals for this would increase draw calls? or not?

  • @LeotoBrilloVT
    @LeotoBrilloVT ปีที่แล้ว

    I know this may seem an odd question: But this used entirely no code from the original Splatoon games, and is instead an approximation of the mechanics of Splatoon, but using all of Godot's Original code?

    • @crigz
      @crigz  ปีที่แล้ว +1

      Yes, it's an attempt to recreate the mechanic myself using Godot

  • @martinpro
    @martinpro ปีที่แล้ว +4

    Would it be possible to share the git source code of this project?. My seven year son wants to play with it :) Thanks!

  • @user-nj6bt5gy4s
    @user-nj6bt5gy4s 2 ปีที่แล้ว

    Mom: we have splatoon at home
    Splatoon at home:

  • @KevinD-nf8jv
    @KevinD-nf8jv 6 หลายเดือนก่อน

    I know this tutorial is over a year old but if anyone can answer a solution to my problem it would be amazing,
    I have finished the tutorial and did all scripts and triple checked every word. I am pretty sure it’s the fact that when I change my map into its children it does not register collision even if I put -col in blender. I just click on mesh and then Create Trimesh Static Body but it’s clearly not working and I need a fix

    • @KevinD-nf8jv
      @KevinD-nf8jv 6 หลายเดือนก่อน

      Btw, the problem isn’t that I do not have collision it’s that the paint can’t detect the UV and just disappears the moment it touches the ground