The reason I can think of why the shading is like that is because the normals keep switching, so some of the triangles are facing away while the others are facing towards you.
That's 100% the reason, I was just trying to figure out why the underside was a different color. It was driving me crazy, but I think the easy solution is to just turn culling back on and draw each triangle twice so there are no undersides.
@@SDGGames its because of the reflection and because it thinks the surface is facing the other direction from the light source (because of the normal being backwards)
Funny story, people seem to like my Whisk :D EDIT: So, I polished it up and Released it on Itch! Link in the description. I'm going to polish this up for actual release. Let me know if you'd actually try it, what you'd use it for, and what features you'd want to see added. I'm going to fix the normals issue, add saving/loading/exporting, and add controller support for cozy lofi 3D modeling. It's FOSS, so source and tool links will be in the description.
It looks like you were using raycast nodes to control the boat physics object, if so- the reason the boat spins like crazy like that at 2:45 is because the ray nodes are colliding with the physics object of the boat. The easy fix is just to set the collision layer for the rays onto a different layer- a designated 'ray' layer, that only includes objects that the rays should detect (like the ground or water for example)
@@SDGGames I like torturing myself too. Im here learning the Vulkan, hopefully to make my own rendering engine for Godot at some point if possible./improve it lol
2:45 this is why I realized that I need to reference real objects or research papers to do more complex things. Watching my Graphics Programmer friend constantly optimize real lighting or existing algorithms by applying his knowledge of Linear Algebra and Calculus made me realize this. Most of programming isn't knowing the language or the engine, but rather the steps and logic involved in whatever you're building.
Cant wait for you to get big so that i can say i liked you before you got popular. You have the most original godot content in recent years. Right up my ally.
for your boat racing game, remove water physics, grab the code you already made for the mario kart game and use that to deal with collision and controls, then make the boat model without collision and put on top of the car and simulate the water waves with animations in the boat object instead of using the unreliable physic engine now make the car invisible so the player focus only on the boat and you have a water racing prototype to work... or procrastinate for the entire year, like the rest of us, cheers :D
I love that track design for your kart racer. The bowling pins and then drop down and turn around for more track. Having to stop and turn around is a bit clunky but it's still a nice idea.
Okay, I officially declare this the 3D modelling software to be used in Every Beta Recreation Ever. Suggestion: Add textures and UV mapping so I can be creative.
hay ! i had that bouncing problem a while back, its probably because the rigid body i assume you are using requires adding force in a specific way. firstly DONT USE _apply_impulse() that method is for one time jumps and impacts use _apply_force() now here is where people fail dramatically with this. apply force requires calcualting the position where you apply the force in a specific way. giving it the wrong position causes it to break. for you the correct position is going to be (floater_probe.global_position - boat.global position) from there make sure you have a spring damper system in place to keep it from vibrating. for that you can get the velocity at the position of the floaters from the PhysicsServer singleton which should let you use the spring formula to cancel out any vibrations. you must expeirment with the math to figure out the right recipe for this.
It was my first time trying to make an object that is made up of multiple smaller physics objects. I think there are some rules that I was not aware of for defining interactions, things were pushing on themselves in weird ways.
@@SDGGames could you be more specific ? i could not see your exact setup. i could only assume you used the built in constraints. BTW dont use physics constraints for this type of thing. due to the high speeds the constraints are very likely to glitch or break off. AND if you havent done it already, make sure ALL objects have uniform normalised scale. that means all collision shapes and associated physics objects and parent objects have a scale of (1,1,1) no exceptions
Yeah, I was struggling for a while with why the lights act differently on the backside versus the front. I realized while editing that I could just flip the faces based on the camera normals to get all the darker side on the back. It looks good when making cars and boats, but it stands out when making a larger flat plane.
@@SDGGames its the triangle winding order. basically the order you give vertex points to godot needs to be clockwise . the trick is for every pair of triangles you must switch the winding direction so two adjesent triangles are in the same order, that is because when you construct the second triangle its starting vertex will be on the oppisite side of the first triangle so godot will assume the face is flipped. and for sake of your future self's sanity, make sure you add pairs of vertex points in places that would be cut for UV mapping. yes duplicate vertex points arent optimised but you must do it to be able to support textures and UV mapping
Another buts & bolts enjoyer?? hell yeah!! the vehicle editor stuff hit home for me, I'm writing a PC vehicle editor/viewer for Nuts & Bolts right now.
I got Nuts and Bolts bundled with my Xbox 360. I never played a Banjo game before, but I always enjoyed some of the more technical Minecraft mods, so I had way too much fun building weird vehicles for days on end.
dude, this is AWESOME! this comes at a time where im tryna work on a map editor for my game (cause of how my system is, having to manually type out *everything* in a JSON file is SUPER painful lmfao), and this is basically good enough :3. id love to hear more about how you got the generation stuff up and running so that i might be able to tackle something similar for myself
Most of it is shockingly easy, you just need to use the Surface Tool to build a mesh. Three points make a triangle. There are a lot of tutorials on making procedural heightmaps, Minecraft, or similar things. Feel free to check the source code if it's helpful.
downloading the jpg then using the thumbnail image instead of the lower resolution version of the hdri gave me a heart attack great vid tho ill give whisk a try 🔥
I think I could downsample the 8K image to 4K without crashing Godot :P I might also want to try using the HDRIs instead of just using the thumbnail image. Though, it did make a nice panorama.
@@SDGGames yee hdri/exr has a lot more color data for jpeg/png so thats why people mainly use them guess what you did seemed to work pretty well tho haha
You can make a boat, you can look at the boat, and you can say goodbye to the boat. I don't know why this got me, but I found it funnier than it probably was.
The reason why your shading is because of how light is calculated (Lambert's cosine law). The angle between the face (specifically the faces normal) and the light source (specifically the normalized vector pointing to the light source that originates at the faces center) is used. If the face is flipped, godot things it's pointed away from the light. Tldr: Think about two faces on the opposite sides of a sphere. One is light, one is dark. These two faces have opposite normals
Why not use a collide and slide controller? make the hitbox smaller than the boat body, and threat water as a solid, then you only need to simulate water movement, and the boat will move very similar to being buoyant,(Might need to add an upwards force in case it falls tru the water layer)
Check the "Vertex Winding" order. Let's say you have a quad of 4 vertices and 2 trangles. Now let's say the vertices are in clockwise order, like the letter U, so no S nor Z. The faces should be 0, 1, 2 and 0, 2, 3. I'm guessing in your case, the 2nd triangle is in reversed order. Anyways, google vertex winding order and see how that combines with a normal to determine which side is considered "front". Thanks for your honesty! You described a very familliar pattern!
I fixed the winding order issue, but there's still weirdness where the meshes go dark at certain angles. It looked worse when triangles were alternating front and back, but it's still present. I think it might have something to do with the WorldEnvironment node.
@@SDGGames If you're sure the Winding Order is correct, then you'll have to check your Normal calculation. It's simply the Cross Product between 2 points of the triangle relative to the 3rd point of the triangle. Let's say you have 3 vectors of a triangle in the same order of the face (!) v0, v2 and v3. Then your normal is: ((v2 - v0).cross((v3 - v0)).normalized()
it looks fantastic for someone whe don't really likes Blender. even tho it is more efficient & etc, but using whisk would be easier if you don't wanna listen to hours of tutorials for making some models once a year. it would be a dream if this thing would be usable for models in Unity engine game.
Yeah, the only challenge is getting an export format that works. It should be possible, though. It's made in Godot, but it's a standalone tool, not a Godot plugin.
Rip to me who I'm actually gonna use wisk to make a full body 3d model and put it on my game 😭 (I do this as respect and kinda having a masochist challenge and having fun)
I don't use Godot but this editor of yours looks very interesting. I will recommend you shred this as Godot tool. Wean I tried Godot one thing that is missing from my is mesh editor. Besicly some easy Way to make prototype maps for my game. Both unity and unreal have level editor inside the egine Godot as fur I'm aware have nothing be default.
That solved it! The boat wasn't floating properly, so I had been adding more and more flex tape. It must be at least 35700% more buoyant by now. I tried removing some layers, and now it's floating on the surface of the water instead of floating on the stratosphere.
may be you could make a game out of the godot blender. I don't want to crush any creativity so I will put my idea in the read more. ok so basically you have made a 3d triangle drawer. so what if their was puzzle game. I will call portal golf, in the 3d world their is a blue portal that fires a golf ball that falls endlessly and vanishes eventually. the goal is to get that golf ball in to the orange portal that will lead to the next level, the player can not control the golf ball, the player can not control the portals, the only thing the player can do is to draw triangles for the golf ball to bounce off of to eventually get to the orange portal hole. the player draws the level in as few bounces as possible to get to the hole. maybe future levels follow snake's level wall formula but in 3d.
That's a fun idea! It wouldn't be too hard to re-use the mesh as a collision mesh. I might end up using this as a vehicle modeling program eventually, the idea there would be to have the ability to place objects (motor, float, maybe a gun) at a point instead of placing a vertex. That way, you could make a vehicle out of triangles, then add the dynamic components, all in the same editor.
I tried to take a look at the project and opened it in godot. Sadly it just wouldn't work. When I ran it, everything look fine, but I could never actually place any vertices. Any idea why that could be?
Not sure. I can do a fresh clone to make sure that there aren't any local files I missed. Did you do the git submodules update -init? There is a git submodule for logging that will throw errors if it is missing
@@SDGGames Yeah, no errors in the project. When I didn't have them the project wouldn't run. It runs, and all the buttons get displayed in the log. But it doesn't place a node when I left click even when I am in the mode where it should do that. I joined your Discord server, maybe we can try and troubleshoot tomorrow.
@@SDGGames Nevermind, I got it to work now. I somehow managed to have the project in the source folder twice. I probably installed the code manually and then also used gitinstall in that same directory. Thank you very much for your quick response, though. Always nice to see when somebody cares about their community :).
This is some cool stuff you got there. :) Have you tried the boat thing with Jolt physics, though? I'm asking this because you didn't mention it, and the default physics isn't really known for working properly, so maybe that could be part of the problem.
Lack of research on buoyancy is why you couldn't get your boat to float.
That's a distinct possibility
this is one of those phrases that look like a quote on life
Don't worry about making it with real physics, just do whatever floats your boat.
@@Dilligff Good one bruo
@@sagizm0ndit somehow works hella well
now make a donut and send it to blenderGuru
I think I will!
We need whiskey guru
@@semydev whisk guru*
@@semydev Listen Ricky. (clearly refrencing TPB)
The reason I can think of why the shading is like that is because the normals keep switching, so some of the triangles are facing away while the others are facing towards you.
That's 100% the reason, I was just trying to figure out why the underside was a different color. It was driving me crazy, but I think the easy solution is to just turn culling back on and draw each triangle twice so there are no undersides.
@@SDGGames its because of the reflection and because it thinks the surface is facing the other direction from the light source (because of the normal being backwards)
Funny story, people seem to like my Whisk :D
EDIT:
So, I polished it up and Released it on Itch! Link in the description.
I'm going to polish this up for actual release. Let me know if you'd actually try it, what you'd use it for, and what features you'd want to see added. I'm going to fix the normals issue, add saving/loading/exporting, and add controller support for cozy lofi 3D modeling. It's FOSS, so source and tool links will be in the description.
*Scope Creep Bell Ding*
Scope Creep Counter: 11
I would like to see a minimalistic animation tool because i wana do 3d models and animation without using blender because of the learning curve
And also the hability to export them making 3d tool and a game at the same time
And being able to export models
It looks like you were using raycast nodes to control the boat physics object, if so- the reason the boat spins like crazy like that at 2:45 is because the ray nodes are colliding with the physics object of the boat. The easy fix is just to set the collision layer for the rays onto a different layer- a designated 'ray' layer, that only includes objects that the rays should detect (like the ground or water for example)
I'm gonna try this tomorrow thanks
I've never related to anything more than a ridiculously high "scope creep counter" within a single project
build boats in a few minutes in Blender❌
build blender in godot to build boats in godot✅
When programmers do art... it looks a lot like programming
@@SDGGames I like torturing myself too. Im here learning the Vulkan, hopefully to make my own rendering engine for Godot at some point if possible./improve it lol
2:45 this is why I realized that I need to reference real objects or research papers to do more complex things. Watching my Graphics Programmer friend constantly optimize real lighting or existing algorithms by applying his knowledge of Linear Algebra and Calculus made me realize this. Most of programming isn't knowing the language or the engine, but rather the steps and logic involved in whatever you're building.
I like how my notes and your notes are about the same lmfao
The scope creep counter was hilarious!
Cant wait for you to get big so that i can say i liked you before you got popular.
You have the most original godot content in recent years. Right up my ally.
for your boat racing game, remove water physics, grab the code you already made for the mario kart game and use that to deal with collision and controls, then make the boat model without collision and put on top of the car and simulate the water waves with animations in the boat object instead of using the unreliable physic engine
now make the car invisible so the player focus only on the boat and you have a water racing prototype to work... or procrastinate for the entire year, like the rest of us, cheers :D
I might try the procrastination thing first, but I do like the idea of just using a hidden car.
I love that track design for your kart racer. The bowling pins and then drop down and turn around for more track. Having to stop and turn around is a bit clunky but it's still a nice idea.
Okay, I officially declare this the 3D modelling software to be used in Every Beta Recreation Ever.
Suggestion: Add textures and UV mapping so I can be creative.
hay ! i had that bouncing problem a while back, its probably because the rigid body i assume you are using requires adding force in a specific way. firstly DONT USE _apply_impulse() that method is for one time jumps and impacts use _apply_force() now here is where people fail dramatically with this. apply force requires calcualting the position where you apply the force in a specific way. giving it the wrong position causes it to break. for you the correct position is going to be (floater_probe.global_position - boat.global position) from there make sure you have a spring damper system in place to keep it from vibrating. for that you can get the velocity at the position of the floaters from the PhysicsServer singleton which should let you use the spring formula to cancel out any vibrations. you must expeirment with the math to figure out the right recipe for this.
It was my first time trying to make an object that is made up of multiple smaller physics objects. I think there are some rules that I was not aware of for defining interactions, things were pushing on themselves in weird ways.
@@SDGGames could you be more specific ? i could not see your exact setup. i could only assume you used the built in constraints. BTW dont use physics constraints for this type of thing. due to the high speeds the constraints are very likely to glitch or break off. AND if you havent done it already, make sure ALL objects have uniform normalised scale. that means all collision shapes and associated physics objects and parent objects have a scale of (1,1,1) no exceptions
WAIT WAIT WAIT
THIS COULD BE PEAK LEVEL EDITOR
uh.... should we tell him?
whisk is such an original choice
5:56 I am not sure why you think it looks like crap but it looks like normals are being flipped back and foward with each triangle
Yeah, I was struggling for a while with why the lights act differently on the backside versus the front. I realized while editing that I could just flip the faces based on the camera normals to get all the darker side on the back. It looks good when making cars and boats, but it stands out when making a larger flat plane.
@@SDGGames its the triangle winding order. basically the order you give vertex points to godot needs to be clockwise . the trick is for every pair of triangles you must switch the winding direction so two adjesent triangles are in the same order, that is because when you construct the second triangle its starting vertex will be on the oppisite side of the first triangle so godot will assume the face is flipped.
and for sake of your future self's sanity, make sure you add pairs of vertex points in places that would be cut for UV mapping. yes duplicate vertex points arent optimised but you must do it to be able to support textures and UV mapping
I love this vibe, this is all very relatable
this is a result from an ungodly combination scope creep and cope and somehow worked
Another buts & bolts enjoyer?? hell yeah!! the vehicle editor stuff hit home for me, I'm writing a PC vehicle editor/viewer for Nuts & Bolts right now.
I got Nuts and Bolts bundled with my Xbox 360. I never played a Banjo game before, but I always enjoyed some of the more technical Minecraft mods, so I had way too much fun building weird vehicles for days on end.
This video is such a great concept!!!
Omg, "Need for madness" and "wanted to make" in the same sentence. I love the game and I wanted to remake the game at some point.
dude, this is AWESOME! this comes at a time where im tryna work on a map editor for my game (cause of how my system is, having to manually type out *everything* in a JSON file is SUPER painful lmfao), and this is basically good enough :3. id love to hear more about how you got the generation stuff up and running so that i might be able to tackle something similar for myself
Most of it is shockingly easy, you just need to use the Surface Tool to build a mesh. Three points make a triangle. There are a lot of tutorials on making procedural heightmaps, Minecraft, or similar things. Feel free to check the source code if it's helpful.
@@SDGGames oh wait ur dropping the source code??
@@HazelRoseWebs Yeah, it's in the video description already
@@SDGGames oh i didnt even notice lol. great work on it tho! if i get the normals fixed up, i can send ya those fixes if u havent already
downloading the jpg then using the thumbnail image instead of the lower resolution version of the hdri gave me a heart attack
great vid tho ill give whisk a try 🔥
I think I could downsample the 8K image to 4K without crashing Godot :P I might also want to try using the HDRIs instead of just using the thumbnail image. Though, it did make a nice panorama.
@@SDGGames yee hdri/exr has a lot more color data for jpeg/png so thats why people mainly use them
guess what you did seemed to work pretty well tho haha
Whatever floats your boat, man...
That's quite the journey!
Keep it up, you are on the right track. :)
I don't know why but at 1:50 it remind me the game Stunts on MS DOS, but without the water.
Such an immersive video, my laptop crashed on 2:48 when the boat flys, 10/10.
as a godot cultist and hydro thunder fan i hope your original vision can come to life because hell yeah
This is amazing. Honestly can I buy you a beer
Sure, it would go great with the donut I just made :D
i one made a spore like creature editor in Godot, i miss working the geometry code , i through about making a 3D modeler inside it, but too lay
You can make a boat,
you can look at the boat,
and you can say goodbye to the boat.
I don't know why this got me, but I found it funnier than it probably was.
Oh my. Need for Madness mentioned. I thought I was the only human on this forsaken Earth who played that AMAZING game. Thanks
Same, Need for Madness was awesome, the air control was great.
We still play it on occasion, for some reason.
The reason why your shading is because of how light is calculated (Lambert's cosine law). The angle between the face (specifically the faces normal) and the light source (specifically the normalized vector pointing to the light source that originates at the faces center) is used. If the face is flipped, godot things it's pointed away from the light.
Tldr: Think about two faces on the opposite sides of a sphere. One is light, one is dark. These two faces have opposite normals
Godot rocks, if u have creativity.
You could probably turn this into a Godot ProBuilder clone for level making with some changes.
Why not use a collide and slide controller? make the hitbox smaller than the boat body, and threat water as a solid, then you only need to simulate water movement, and the boat will move very similar to being buoyant,(Might need to add an upwards force in case it falls tru the water layer)
When i heard "Need for madness ?" it immediatly peeked my interessted
Hydrothunder on n64 was one of my favorite games growing up
Check the "Vertex Winding" order. Let's say you have a quad of 4 vertices and 2 trangles. Now let's say the vertices are in clockwise order, like the letter U, so no S nor Z. The faces should be 0, 1, 2 and 0, 2, 3. I'm guessing in your case, the 2nd triangle is in reversed order. Anyways, google vertex winding order and see how that combines with a normal to determine which side is considered "front".
Thanks for your honesty! You described a very familliar pattern!
I fixed the winding order issue, but there's still weirdness where the meshes go dark at certain angles. It looked worse when triangles were alternating front and back, but it's still present. I think it might have something to do with the WorldEnvironment node.
@@SDGGames If you're sure the Winding Order is correct, then you'll have to check your Normal calculation. It's simply the Cross Product between 2 points of the triangle relative to the 3rd point of the triangle. Let's say you have 3 vectors of a triangle in the same order of the face (!) v0, v2 and v3. Then your normal is: ((v2 - v0).cross((v3 - v0)).normalized()
This is funny and the only thing i a wondering about is the scopr creep counter. But i still like it.
The pun alone makes this amazing.
Start with a boat game idea, end with a B3D competitor 😅 What a legend!
Turn it into a Godot addon for level editing. What you got here is basically a primitive version of Unity's ProBuilder.
I look forward to seeing the follow-up video in 6 months to a year :V
I'm giving myself a week, and then I'm moving on 🤣 I have games to make...
it looks fantastic for someone whe don't really likes Blender. even tho it is more efficient & etc, but using whisk would be easier if you don't wanna listen to hours of tutorials for making some models once a year. it would be a dream if this thing would be usable for models in Unity engine game.
Yeah, the only challenge is getting an export format that works. It should be possible, though. It's made in Godot, but it's a standalone tool, not a Godot plugin.
Wonder if cadsketcher for blender would help you like blender more.
Ooh, it probably would! I didn't know about that, thanks for sharing.
Rip to me who I'm actually gonna use wisk to make a full body 3d model and put it on my game 😭
(I do this as respect and kinda having a masochist challenge and having fun)
Id love to peek at the code. I'm trying to understand Godot mesh generation
I just updated the video description with a dedicated link. I put it in its own repo separate from the boat game.
1° - WHY?
2° - I liked this!
Your crazy 7:36
I'm glad someone noticed 😂
1:39 got jumpscared by myself!
That's only like the second or third time, right?
I think you made it a lot farther than I did. Maybe I'll have to try again someday...
I don't use Godot but this editor of yours looks very interesting.
I will recommend you shred this as Godot tool.
Wean I tried Godot one thing that is missing from my is mesh editor.
Besicly some easy Way to make prototype maps for my game.
Both unity and unreal have level editor inside the egine Godot as fur I'm aware have nothing be default.
0:30 but what's that boat racing game?
Hydro Thunder
maybe split your boat and stick via flextape?? tape adds 180% buoyancy i think
That solved it! The boat wasn't floating properly, so I had been adding more and more flex tape. It must be at least 35700% more buoyant by now. I tried removing some layers, and now it's floating on the surface of the water instead of floating on the stratosphere.
may be you could make a game out of the godot blender. I don't want to crush any creativity so I will put my idea in the read more.
ok so basically you have made a 3d triangle drawer. so what if their was puzzle game. I will call portal golf, in the 3d world their is a blue portal that fires a golf ball that falls endlessly and vanishes eventually. the goal is to get that golf ball in to the orange portal that will lead to the next level, the player can not control the golf ball, the player can not control the portals, the only thing the player can do is to draw triangles for the golf ball to bounce off of to eventually get to the orange portal hole. the player draws the level in as few bounces as possible to get to the hole. maybe future levels follow snake's level wall formula but in 3d.
That's a fun idea! It wouldn't be too hard to re-use the mesh as a collision mesh.
I might end up using this as a vehicle modeling program eventually, the idea there would be to have the ability to place objects (motor, float, maybe a gun) at a point instead of placing a vertex. That way, you could make a vehicle out of triangles, then add the dynamic components, all in the same editor.
I tried to take a look at the project and opened it in godot. Sadly it just wouldn't work. When I ran it, everything look fine, but I could never actually place any vertices. Any idea why that could be?
Not sure. I can do a fresh clone to make sure that there aren't any local files I missed. Did you do the git submodules update -init? There is a git submodule for logging that will throw errors if it is missing
@@SDGGames Yeah, no errors in the project. When I didn't have them the project wouldn't run. It runs, and all the buttons get displayed in the log. But it doesn't place a node when I left click even when I am in the mode where it should do that. I joined your Discord server, maybe we can try and troubleshoot tomorrow.
@@SDGGames Nevermind, I got it to work now. I somehow managed to have the project in the source folder twice. I probably installed the code manually and then also used gitinstall in that same directory. Thank you very much for your quick response, though. Always nice to see when somebody cares about their community :).
2:21 see the problem is, is that you're making a game in godot and not unity.
That's true! Though, I might try Unreal for 3D. It's got the fancy shaders and stuff.
thumbnail lol
downscale it on gimp... unless the thumbnail is big enough to get good results but small enough that godot can handle it
NEED FOR MADNESS REFERENCED WHOAAAAAAAAA
thought i was the only one to play that amazing thing
It was quite the gem!
This is some cool stuff you got there. :)
Have you tried the boat thing with Jolt physics, though? I'm asking this because you didn't mention it, and the default physics isn't really known for working properly, so maybe that could be part of the problem.
I mentioned it, just not by name. I didn't, but I do want to try Jolt soon.
It looks nice
Godot development in a nutshell 🫡
ÉPÉ
I accidentally made Godot in Godot
if you set out to make the greatest game of all time and end up making blender i think thats a sign
i hate everytime when it happens
I played a game called hydro thunder on my xbox 360
you made crocotile. you made crocotile inside of godot?
Oh, cool. I didn't know about that one!
Blender should be called electric mixer instead
neat
cool
Does something similar exist in unreal engine?
happens
I'm gonna try this tomorrow guys wish me luck 😔
uio
vbn
asd
That's a .whisk file
What