Blender to Godot with gltf
Вставка
- Опубліковано 20 сер 2024
- Export blender models into Godot. Workflow explained.
I show you how to import 3d characters step-by-step from Blender models to Godot assets, and show you the caveats, pitfalls and frustrations.
Everything's eventually explained. Don't worry, there's a happy ending... it's actually a pretty easy process.
Last video is here: • Godot vs Unity, Unreal...
In this video, we use Blender version 2.82a and Godot version 3.2.1
Find me here:
www.savvybarba...
and here:
www.amazon.com...
or connect with me on social media:
/ thewritebriancary
Also started up here / savvybarbarian
Information gained from this video.
1) export using gltf packed not glf or gltf separate files.
2) use either shape keys or modifiers not both
3) check modifiers if you have used them and turn off shape keys during export.
4) Uncheck keep materials in godot on consecutive reimports. Click on the button until it reimports properly or restart godot.
5) materials can be imported on per node level or model level
For me it is to REMEMBER TO NAME MATERIALS!!!!!
The handsign thing around 10:00 is pretty cool too lol.
Thank you for including the fails. This video is such a gem! Thank you so much.
I thought he was doing a bit. Didnt realize he was actually getting frustrated until he started making the same noises I was about 10 min before I watched this video lmao
You are explaining the workflow SO GOOD.
I wish you were still making videos on UA-cam. I need a tutor like you so much. Please return...
You are very patient to Godot's imperfection. This is how one should take care about young software being in develop. This way, with patience, these FOSS childs will grow strong. Thanks for lesson.
WOW! You shocked me twice in the first five minutes of the video, firstly, you treated the default cube with respect and secondly, you know what lavender is! Amazing!
I named my cube Kenny. Dies at least once every episode but always manages to come back by the next one.
It's not Kenny that comes back, it's Kenny's clone. LOL
You are the man! Seriously, this was incredibly helpful. I had hit a dead end with the collada and better collada methods.
And you kept in the troubleshooting, I liked seeing that. It's nice to see how you worked through the problem, you're a more patient man than I am lol.
Definitely interested in normal maps.
Love the content, and the way to explain topics. Thanks for the work!!
Man, should have researched a bit more, gltf support for Godot has been around for some months now and it's been working really well
It's very helpful to watch your failures, watch you deal with that frustrating hangup and them find a solution. That can actually be much more helpful then watching a perfect first go in a tutorial, because you know, murpheys law:
ANYTHING THAT CAN GO WRONG, WILL GO WRONG
AND EVERYTHING TAKES LONGER THEN YOU EXPECT
A newcomer can get an u realistic expectation when watching everything go smoothly in a tutorial, and feel incompetent when they run into a wall. It just take patience, critical thinking, and problem solving to get through these dumb little detours.
Thanks again man, love your tutorials!
I really like Godot. It is fun to work with, but it is also rather buggy. I discovered that the _process method is sometimes called with a negative delta, which can really screw up your logic. Popup panels straight up refuse to be managed by their parent containers when you resize your window, and so on and so on. All very basic errors that you don't have to go very deep into the more exotic feature set to run in to. I am grateful that I get to have this otherwise brilliant engine for free, but I do wish they would do at least one release where there are only bug fixes and no new features. Call it a stabilization release.
Explains so well. Just like a Dungeon Master to lvl 1 characters ;D
Hearing that warms the cockles of my sizeable heart. You monster. ;)
[Seriously, though thanks :) ]
@@SavvyBarbarian hah, cockles.
Looks like Ron Swanson grew out a goatee shaved his head and started teaching how to make games
Ron does share my predilection for brunettes and breakfast foods. [Barbarian Fist Bump!]
Just came to your tutorial and it was a great help, one thing i did find out while your tries to import the second material. Just over the button you unlocked there is an option "storage" and if you change this to build in instead of material, it will get it right. Don't know if there where already commends to this, but thought it may help others who watch rhis like me a year later, ;). Thanks for your work.
Finally, a godot tutorial channel with a facecam on that isn't fugly
it works, and the exact versions of the software are stated : awesome !!!!!! (tested on blender 2.93 +godot 3.5, not the animation part)
He is my main man Savvy ✔ with presumably Blender to Godot theory (patience is a virtue .✔)
Thanks much brother-man, glad to hear that 😃
@@SavvyBarbarian Glad to hear & that's the spirit.
This video saved my life! Could not get my vertex painted materials to show up on my imported files in godot all morning. I'm subscribed and notified for your whole channel now. THANK YOU!
The hand analogy for Blender and Godot axis is invaluable! Awesome video!
Amazing video. I've recently switched to Godot and I'm in love with (most of) it. Importing from Blender was one of the things that was giving me headaches, so this was very helpful. Thank you!
Great tutorial mate :) I love your style. I just wanted to add a small note on the handiness of Godot and blender: They are both right-handed systems. Blender has its z an y axis rotated by 90 degrees on the X axis, but it is still a right-handed system. Both had their origins with OpenGL, which is right-handed. Btw, you just go yourself a new subscriber :)
Your tutorial on how to do this is still the only one that works for me. Thank you.
Awesome man, love your personality and the way you teach. Currently preparing for the GMTK game jam so its really helpful, before this i had to upload all the materials and stuff into godot. Subscribed, keep on.
This is the video that revealed the existence of .gltf to me, thanks!
glad to help!
Thanks dude, very helpfull tutorial. First time with Normal mapping :)
Thank you for these videos, i have some issues with importing and this is useful to understand better how things work :) In theory having inherited the imported file can be useful when you mainly set up things via Blender or other modeling software, need to tweak the model, animations, etc back and forth and don't have to import and resave everything to native scene file every time (maybe at the end of development of that asset?). For single object or simple stuff it doesn't matter but when you have your scene in Blender it makes more sense to do that (Godot editor lacks some features like precise positioning like aligning a side of an asset to another, etc). But you need to have a decent import status (most of the data imports as you want in materials, etc), if not it's just a mess.
This is great. Thank you! I did get stuck coming from older Blender 2.79 created cube as that version had used Diffuse BSDF shader. To get GLTF2 export support I upgraded to Blender 2.92, recovered last session and everything looked good. But, because shader was not "Principled BSDF shader" my material was not importing correctly in Godot 3.2.3 (cube was solid color). Back in Blender I simply replaced Diffuse shader with Principled shader.
Another import debugging thing I do, is I press the revert circle arrow ↻ . And sometimes I can avoid restarting by closing ALL open scenes, and then reopening the gltf
Regarding the import, I feel your pain. The importing functionality in Godot is so half baked and amateurish! Could you imagine having hundreds of blender models and needing to go through this BS import dance every second time! While 4.0 is now available I'm not holding my breath this is any better, the developers seem to focus on the 'cool' stuff rather then real world usability features, a common problem with open source volunteer projects.
I appreciate this video and you communicate well. I actually found this video because I was looking for a solution to exactly the problem you encountered. In other engines/libraries it is possible and necessary to automate the whole import process. eg. Update model/material in blender, run a Python script to automate the export GLTF settings/save to a folder, then jump back to the game engine and either see it automatically update or at least prompt me that a change has occurred. THAT is the sort of workflow we need if we're building anything but the most simplistic game. Sadly it looks like Godot is absolutely not ready for real world use yet in this respect.
If you or anyone does have an automated import workflow (on the Godot side) I'd love to know how you do it.
Agreed. I understand that the FOSS stuff has to focus on some "flash" to create momentum on their project; but making a smooth and buttery flow from Blender to Godot would BE a huge win. Getting your assets over to your game engine is squirrelly no matter what engine I've used, so if the good peeps at Godot could get that process to be easy, it'd make news.
LMAOOO best tutorial ever, I totally hate the tutorials that last > 5 min, but this one was just really interesting, I couldnt stop watching it, Thank you!
Keep more Godot videos coming up :D
Keep them coming! Good Job!
Godot is a nice engine, I use visual scripting, for code, very tough program, to study . . . Visual script I connect boxes, and can make games, any-way
You might want to take a look at GDscript, it's not that bad. If you're not convinced, look at C#, C++ or javascript...
Very clear and concise video. Thank you sir.
I do hope this gets improved in 4.0 or maybe even 3.4.
GLTF is realy great it convert all the texture in compressed format, but the new USD format from Pixar is even lighter and work open EXR texture and material X all of this thing are open source , it should be implemented to Godot this way we could use opencolor and ACES color space to use with the new HDR screen, without extra cost.
best tutorial ever
Nice video, thanks! Youy are very charismatic, looking forward to learn from your videos
The import issue still exists, even for meshes. What I usually do is just delete the gltf or a mesh file I saved for it to work. Once I have the import opened in godot, I save the materials and meshes to file then plug those into new godot objects. Sometimes I have to deleted the mesh and materials files too. Godot should be intuitive (like any other software of this type) and it just isn't. If you think some thing should work a certain way, it usually doesn't. Even the GUI controls are jank. But I am using Godot for my project because Unity is too difficult.
Really cool video. Love your approach.
Very informative and entertaining :-) Thanks for sharing! Thumbs up!
I wish I could get a more modern version of this. I want to be able to do this in Blender 4.0 and Godot 4.
This is great :D so much good information in such a funny way, I really had to laugh loud at the fails :D
"I kill you now."
Do not delete start up cube... 👏👏👏
Great video man!
I will now forever call the default cube Jeffrey
A great tutorial fella. Keep up the good work
In blender you have to change the color space of normal maps to non color or linear. And non color for black and white textures.
You are correct. A point I neglected to put into the video. So question: does it actually have any effect if you don't change the color space?
@@SavvyBarbarian Yep.
Example, if you import a 3d scan head with the wrong textures color space it will look bad.
For other objects I think the effect is not as dramatic
(Sry for my english)
Thank you Thanos! =D
23:30 - 29:00 might be the most stressful thing I've ever watched.
'son of abednego' never heard that one before haha! Also, great video!
You sir is a incredible teacher, thank you! Just subscribed :D
Very useful video, sir. I was having fits trying to import a simple animation. My problem was somewhere between using binary .glb instead of the packed .gltf format, and making sure i had LocRotScale keyframes on every bone (another video). So many little "gotchas", but I finally figured it out. It's not like Unity was any better in my experience either. I have a way of finding every single thing that can go wrong, lol. It's kind of annoying that you have to push all the actions to an NLA strip though. Blender's FBX exporter doesn't require that, but it also mangles the geometry horribly. It seems that "keep material" check box is gone in the latest pre-4.0 development version btw. Maybe they figured out that was just a bad idea. Anyway, the bit about node material vs. mesh material is also really good to know. Thanks for your contribution!
I KNOW YOUR PAIN!! GLAD NOT JUST ME!! But you give me ideas: hit reimport like a slap in Godot's face.
I've found this video quite late but these videos are a treat, did you end up doing the normal map tutorial?
10:23 check "Apply modifiers" if you are modeling with Auto Mirroring and probably if you have armature.
Thank you SO much for this!
Luckily Godot has improved this workflow in 4.0
Great eyebrows dude
I really enjoy your videos and they taught me a lot about how to be a savvy barbarian like you. 😄 I have but a small tincy wincy favor to ask from a subscriber, perhaps, would it be possible to keep your intro volume the same level as your context? Don't really like to be blasted by big volume and have to suddenly turn it down to keep from disturbing others in my workplace. And then having to crank the volume right back up hoping it wont happen again. Of course I could use headphones, but please don't make me wear headphones. Thank you for your attention to this mundane, trivial and nit-picky detail.
Apologies for the inconsistent sound on that video. I was still refining the craft of making better videos (still am) and will do better in the future.
If you check out the Wailing Willow series (my latest), I think I've got it down where you'll have a nice consistent sound quality.
Thanks for the feedback. :)
You have saved me from more hours of better collada export hell.
You're a programmer working mainly in Python.
Apparently, you are one of very few who wants that tool panel back, and it seems like none of the others know enough Python to create an addon.
So I would suggest that you make an addon using the panel interface to add the tool panel back. Nobody else has done it, but it is most certainly possible.
The reason they removed it was because most people prefer the screen real estate, and the vast majority already use hotkeys or the spacebar search function to access their tools.
i have blender modal its joined i export gib I tried put my object in to a mesh instance it does work for simple car tutorials I confused
I always use GLB and FBX
It a great vid, but I see you have to have a UV unwrap. The issue we've been having is we just want to do things mapless, as in just assign materials and have then assigned from export. Guess there's no way yo do that.
Worth mentioning Blender 2.83 has a lot of glTF changes next June2020 wiki.blender.org/wiki/Reference/Release_Notes/2.83/More_Features
Thanks! Subbed
Sometimes the ESCN format works too for non complicated models
Best teacher ever hahahahaha
thanks
I'm trying to keep the square/pixelated/unfiltered feel of the textures when moving them into Godot. how do I do that?
How to split view?
Im using Blender 2.78...and I'm having some troubles to export a hoverbike with animations to Godot...the Turbines gonna crazy to another place...but in Blender evertithing is ok....and this version doesn't have de GLtf exporter....Any suggestions? My pc is older...doesnt support the new shadders....
On the import tab, where you have "Import As: Scene", to the right you have the Preset button. Click it and choose "Set as Default for 'Scene'" and then reimport. Not sure if this works as I don't have blender installed here.
For me, it isn't saving the changes I made to the texture. I changed the texture to tile and shrunk the texture down a lot, but in Godot it stretches it like crazy :(
Great video, work flow like this is often skipped! One question, on the normal map (in blender), should color space be changed to non-color?
In Blender, every image you load except the albedo is a non-color data image.
Yes. And by yes, I mean that is technically correct. Unpopular opinion: I haven't noticed any difference in checking that box or not. However, the most correct answer is, as other comments point out, that non-color should be used for everything except for color (that is diffuse / albedo) data.
@@SavvyBarbarian I have not seen any difference either but I assume and hope it's helping the software in some way.
@@SavvyBarbarian It could be that you need to reconnect the normal map image output to have it update correctly. Was a known issue before but it might've been fixed :)
Thought the cube was named Thomas because he's always alone (few might get that joke lol)
I believe there is also escn plugin for blender
after 24 hours trying to finger out how make blender car work I did with the help from my brother and i will be put link for how to make blender car work in godot
Thanks so much! God Bless. Do you offer help services to consult noob dev’s like me?
Dont you actually want to keep the gltf files so for example you can re-edit them in blender and Godot will pick up the changes automatically to all instances?
I think part of why it doesnt auto reimport is because you do have to use the gltf file and do "inherited scene", that means it will auto fixup all inherited scenes. Have you tried that? What does staying linked to the gltf cause issues with? Why do you say not to use it? Ill bet its why you had the manually click reimport
I've found that with 'Open anyway' I've been unable to get it to reimport mesh changes such as adding vertices. Regardless of hitting reimport or repoening the project the new mesh never came over.
When trying 'inhereited scene' and then changing the mesh in Blender, Godot would show the usual popup of reimporting but the mesh changes aren't visible. Rather then trying the reimport button I just reopened the project after the automatic import and then everything updated fine
I personally dump the GLTf files, and instead I keep and re-use the original Blender files. Blender modifiers don't live in GLTf files, and I typically want those Blender modifiers. Also, what I push over into godot will determine what methods I use. For example, if I only want to touch up a mesh, may go to the object/scene and re-import only the mesh itself.
what music is this 1:00 ? sounds like decretum
Hi! definitely the best explanation i've seen, but I’m still having some problems, I’ve used blender procedural textures and none of that got over to godot, is there a way to fix this or does godot just can’t handle that?
Why are there people that, when working with a NormalMap, they put the ImageTexture as Non-Color (and not sRGB)? I see you left it sRGB(6:54)
Thanks a ton, I was too on my way to burn some peasants...
Sadly as of today (mars 21) seems like related/same issues are still there, I love Godot but things that should work or feels like is done properly but won't work usually makes me rage quit the damn software :'(, I hope it was added to the issues list (I'd love a link if someone as it)
Thanks again, I'll try my luck one more time !
BTW Folks, please read the supported shaders list in Blender doc for glTF, or else you'll pull some hair (if any left) on why your texture is not exported :D
Love your credits, got a subscribe! What were you saying again?
28:40 I almost did that, but I'd rather ride in silence, I quit the program quickly. thx for help if the developers don't help.
I'm currently having a good time using the FBX format, implemented in Godot 3.2 and recently updated. I haven't tested the format with animations yet, but I had no issues in importing static stuff from blender, also including some "exoteric" stuff like lattice deformations (bad, baad times with gltf export). I also never experienced problems with reimports and or asset updates with FBX (yet).
Have you tried FBX recently, oh savvy barbarian? What's your verdict, if so?
I just tried an FBX workflow with a simple animation, and my geometry was mangled beyond recognition. Perhaps it does ok without bones, idk. It would be nice if it worked, because I don't like having to push all my actions to an NLA strip just for the exporter to see them. It's kind of a weird pigeonhole, not really what NLA was meant for. I hope they revisit that gltf exporter at some point.
Oh man the workflow is so pain in the ass thanks for making this video.
Biggest problem i have is exporting actions to Godot seems unreliable. For example in Blender even if i mark an action as loop godot refuses to loop it, even if i tru to set it to loop in Godot editor. I ended up having to force looping in gdscript
And yep i have the same damn texture problem with better collada, the textures have to be reconncted in godot. It sucks
Its those bugs in Godot like you found regarding re-import that just piss me off and make making a 3D game just and exercise in frustration..dont even want to use godot for 3d bexause of all the weird little issues like that
I appreciate your passion on this. Figuring this out takes a sick mind that loves puzzles. Out of curiosity, on the issue you had with the looping in Godot. Did you use the Animation Player and click the "Animation Looping" button down in the Animation Player? That typically works for me. If you already did that, then I'm not tracking with your code issue.
Hope that helps. :)
@@SavvyBarbarian yes even in Godot itself when i turned looping on it simply refused to loop. I tried everything..it seems that if you didnt export your animation with the name "loop" (in the name) there simply was no way to get Godot to loop the darn thing, i ended up writing gdscript to tell the player to loop on startup and that worked. The design time loop setting wouldnt work
At ua-cam.com/video/grPbk-bfMO4/v-deo.html
Why are you not saving after you do changes? Why do you chose don´t save after you do a change?
Hi, just a doubt, if I use the "Duplicate Linked" (Alt+D) feature in Blender and import it to Godot, does it import as a single mesh or two separate meshes ? Reason for asking this is that if I'm making a building with modular walls, I'd prefer to simply 'assemble' them in blender rather than using Godot.
TL;DR I need to experiment with this more, but it appears ALT+D and CTRL+D both end up in Godot the same way. Using ALT+D, I end up with two mesh nodes in Godot.
Extra trumpery: It's been my experience that if I use ALT+D to duplicate (which in Blender is "linked duplicated") that when the objects get over to Godot I have two (or whatever) mesh objects with the same mesh and sharing the same material. I am able to change the mesh on one mesh object without changing the mesh on the other. Also changing the material at the "mesh level" changes the material on BOTH copies of the object, while changing the material on the "node" only changes the material on the given object. This is consistent with how Godot handles material changes.
Hey thanks for the quick response. If they share the same mesh, then it's exactly what I need !!
This means that I can do the modelling and placement in blender. Godot is good for viewing and moving around. But I like blender more for placements, snapping and modelling.
He said Go-dot, instant dislike.
Just kidding, great video man! Thanks!
Go-dot
FBX better? In new Godot 3.4 FBX maybe better: ua-cam.com/video/60Ofqmytzu0/v-deo.html
9:26 Is that your right hand? My linear algebra use right hand rule
Good question. Blender and Godot use Left-hand rule. I've met some CAD programs that use right-hand rule--which invert the positive direction of the X axis--though most seem to be left handed. You are strong with the math; welcome to the horde.
@@SavvyBarbarian Apparently there are more right hand as I google: softwareengineering.stackexchange.com/questions/17519/why-does-directx-use-a-left-handed-coordinate-system
github.com/godotengine/godot/issues/2980
What you do is great but I'd be more grateful if you could just stick to the tutorial. No intro, no boring comments on the base cube and so on. Please try to understand that I'm here to learn and get things done and not amuse myself. This is not a hateful comment, I want you to keep doing those videos because what you do really helps. Just a suggestion. Thanks.
Thanks for the feedback, your honesty is much appreciated. With regard to your suggestion, some people want to be entertained and learn, while others want just the bare-bones facts. It's a difficult fence to straddle.
14:50 but what if i'm already in godot sitting here how do i just grab some models quickly to put into my game there has to be an easier way
killme4
Its not pronounced go-dot. Its pronounced go-doe.
Denied! I will die on the hill of Go-DOT 😉
@@SavvyBarbarian hahahah!
Thanks Barbarian! I've been doing the same banging "Keep on Import"👍🏻