@@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
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)
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.
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
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.
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.
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
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.
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.
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
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
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.
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.
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.
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.
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.
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
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)
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 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.
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 :).
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)