Комментарии:
About making a cube, in Godot you can just make a CSGBox3D and tick Use Collision.
ОтветитьNo... Godot is not better, it is buggy and slow.
ОтветитьStraight to the point, love this video, thanks
Ответитьlol godot now come to an end
Ответитьwell now we know godot is better after that fee thing from unity...
ОтветитьIs it bad that I find godot easier then unity
ОтветитьYou can drag and drop items into your script in order to have the engine instantly give the path to the object. It's much faster than typing all that mess out.
Ответитьahem there are some stuff you can do but you dont know so you thought godot can't.... First
[Export]
var variable = 6
this is the syntax to see custom types in the property editor, read the documentation
"unity is in decline" and showing a stock price chart that has 0 to do with amount of users, quality, ecosystem and so on.
you are manipulating people and it hasn't been punished, shame on you
You can right click and the collision shape where you set the shape and select "make unique"
ОтветитьAs far as the "root node" issue goes. get_owner will get the scene's root.
ОтветитьI think you might be a bit Unity biased. That is, you seem to seek an "Unity way" in your workflow, thats why you might not like Godot.
1. I agree you cant easily add simple cubes, but that would be a little bit against Godot workflow. How it should work? Should we have a "special" node for this case? Or a possibility to add a preconfigured bunch of nodes with a single click? It just doesn't seem to fit there.
2. Custom property editor - this is a feeling I shared with you, before I dived deeper into Godot. Actually, Godot allows you to do this but you must extend Resource class. It MIGHT seem limiting, but I actually like that. Because in Unity, serialization is full of quirks and you must learn how to make it (simple class is serialized in owner object, scriptableobject is an asset, some fields are serialized, some are not, public fields go serialized as default, you cant serialize dictionaries, etc.). In Godot its very simple - in order for something to show in inspector or be saveable, it must inherit Resource and it is very explicit about what is serialized and how. And you might nest resource in resource if you want. Also, you can write/read resources in runtime. It is very explicit and simple and after some time, I like it. Also, you can either inline resource inside other container (like scene) or you can save it to disk so it will act as ScriptableObject in Unity. Its actually very clean solution.
3. Root Node - this is good in longer run. You should not use GetParent().GetParent() etc; instead your parent should either reference its children or listen to its signals. Usually, you would want your global scene to be singleton, like you could have Root->Game and Game should be singleton. Everything related to game should be in Game node. Look at "Game" node as a Scene in Unity. Again this is workflow difference, but it makes stuff more clean in longer run, in Unity everything is in some sort of "global scope", Godot forces you to keep your node hierarchy intact.
4. Component vs Nodes - Unity is component based but you can do it in Godot as well. Its just that in Godot, you program a bit different. In Unity, GameObject is a bunch of components glued together, while in Godot your Node is your "main" class that has its own helper nodes (either built-in or your domain-specific nodes) encapsulated in itself. Usually, you should not access child nodes of your Node outside of it. Everything you need should be exposed in your node, and it should keep its internal details inside. See child nodes like "private members" that are not accessible outside.
Which version of Godot was this? I see that @export allows you to export variables to the UI so you can easily tweak it, in Godot 4.2.2
ОтветитьI've been 100% fine watching any Godot tutorial and just translating whatever is said into C#. As long as you know a few differences in the way they handle things (like events/delegates) you are good to go. Simply remove the _'s for the method names and use camel case and you will find it.
ОтветитьGodot is great, but I just can't live without Cinemachine & New Input System
ОтветитьUnity is suited for making simple games as fast as possible.
Godot is suited for making complex games seriously for small to medium scale developers.
Unity is great for simple 2D games while for complex games, it isn't great...especially UI.
Godot is great for complex games and 3D games.
You don't actually need a timer because you can just use _delta value at _process method.
If you want separated 'function' to do something in interval just use signals instead.
thank you for this amazing video I am looking to restarting gamedev as I used Unity in the past, am very inclined to try out Godot
ОтветитьReally enjoyed this video! I've been working on game development, focusing a lot on prototyping and trying out different concepts. Finding the best ways to use the GUI and workflow in both Godot and Unity for 3D has been a bit of a challenge. This video hit all the right points for me, clearly highlighting the important aspects and making comparisons easy to understand. It's super helpful and exactly what I needed. Thanks for sharing such valuable insights!
ОтветитьFunny thing is, 🤖🤖
You don't know any of Godot's Methods to do stuff and still Comparing Godot's Workflow with Unity's
Too many popping noises in the video overall. Just can't watch.
ОтветитьYoure a legend. The only accurate godot review on the platform. I love all your videos and wish you all the best
ОтветитьJust FYI, I think the Export in the editor issue might only be a C# issue as GDScript Definitely allows it. The few weird issues you had don't happen in GDscript, like updates in the inspector, but it would be nice if C# would do that better I ma sure
ОтветитьI’ve been using Godot for years, but I’m not a programmer, so I’m making progress in fits and starts. I’m learning more from the comments on Godot critique/analysis videos, like this one, than from godot documentation.
ОтветитьJust discovered you, great stuff. But please reduce the BGM volume or use one with lower BPM :P
Ответитьfor invoke
in godot there is timer node after amunt of second you specific code will run what ever it
Hmm iirc the root thing is generally a bad practice no?
If you end up changing something in the hierarchy it shouldn't really mess up your code.
in godot raycasts are actyuly simple if you use gd script
Ответитьif you can implement instructions with subscripts, then you could make plugins that completely overhaul the scripting flow with more intuitive beginner friendly instructions, at the cost of performance, since an instruction is made of several instructions to translate it to syntax Godot understands
Ответитьcool
ОтветитьYou don't need to create a new scene whenever you want to make resources unique per node. That would be stupid. You just have to click on "make unique".
ОтветитьGodot is the winner! =)
ОтветитьI'm kinda sad that Godot it's so messy, overcomplicated and limited. I've been using unity for years but after the the new fee rules i was hoping that Godot become the new 'Blender' but for games but unfortuanlly our only choices are still Unity for Indie Games / Unreal for teams(big games with AAA graphics)
ОтветитьJah bless, but honestly as someone who is really into 3d optimization is better in my case to be that precise about each process of the rendering of a 3d object since in environments as webgl if you do a bad configuration in performance just because was easy all your game could be screw
ОтветитьI love Godot because it's modular nature. Yes, things get complicated, but there's likely a workaround for everything because of that. I've run into projects that needed runtime loading gltf files, and processing live bvh streams, and on top of that syncing them in multiplayer. I'm surprised that Godot can handle those purely in GDScript, although it took thousand lines of code + few weeks to accomplish that.
Ответитьthis video is BY FAR better than any of the other comparison videos!! even though you are obviously biased, I feel you were completely fair. :D
you had a couple uh-ohs with missing features that fix ur problems, but that just highlights how godot needs to improve on letting beginners know its a thing!!
ESPECIALLY since you are no beginner to the programming world, only to godot. <3
the rest of ur vids are awesome with commentary, honesty, and a nice voice + music so I subbed!
I switched to Godot from Unity (2nd time building my game in Godot, I originally did it in 3.5). At this point I'm back in Unity because I can't make any progress in Godot. There's a bug which makes using "remote" to debug the scene impossible after a certain number of Node3D are added. I think I have about 578 on one floor of the dungeon and that basically means I can't see where objects end up, or switch them on and off to test things, or even just generally see if items are being added where they should be because remote is entirely useless at that point. So, I'm designing in Unity and testing meshes and things until Godot gets fixed, which I know it will at some point.
Oh and I'm also a C# Godot dev.
C# dictionary TryGetValue to avoid the annoying ContainsKey method
ОтветитьI've only just started with Godot and I was a beginner with Unity. I left Unity because I have trust issues now that they've been caught twice changing the EULA after a release. I agree with most of your comments, especially moving of scripts! Thank you for letting me know how to fix this annoying problem.
ОтветитьIt's not true in Godot you don't have a root node. For each scene you can get the root node calling node.GetOwner() ;)
ОтветитьHoly crap, 2 weeks of Godot and already making something like the scene you made is impressive imo, good job!
ОтветитьI don’t have much Unity experience so I don’t know what I’m missing in Godot. I’m glad folks like you can enumerate the things you miss so Godot devs can prioritize adding more of those features.
ОтветитьShort answer : yes. Long answer : yeeeeeeeeeees
ОтветитьAll of these criticisms are valid, not being able to attach multiple scripts to a single node is silly, the scaling from a static body and a mesh etc. not all being scaled is also silly, and duplicating the nodes not being unique is silly as well, although there is a solution to that there is a way to separate the nodes from each other when duplicating them somewhere you can "make unique" the node and they no longer share the same values between each separate other. Being able to criticize aspects of the engine for growth and I hope there are solutions to some of these in the near future.
ОтветитьWith exported variables you need to select a different node then click the node you made the variable with for it to show
Ответить