Michael Jared

Michael Jared

A guy who makes (digital) stuff
michaeljared.ca

Пікірлер

  • @MistralFlacon
    @MistralFlacon32 минут бұрын

    Dude amazing addon, only just heard about it from the humble bundle, wish I'd known sooner!

  • @_gamma.
    @_gamma.22 сағат бұрын

    Tool scripts are magic! I do wish they would style utility bools as buttons (maybe detect if the setter actually sets anything)

  • @jomohogames
    @jomohogames5 күн бұрын

    Thanks, this was something I was wondering about!

  • @alogghe
    @alogghe6 күн бұрын

    Great headsup, thanks! I'm pretty obsessive about adding empties everywhere so this just reinforces that >.< I'm in ecs/engine mode atm but your work is making me look forward to getting back to content pipeline.

  • @widearchshark3981
    @widearchshark39816 күн бұрын

    Not all heroes wear capes. Great job. I hate that export from Blender to Godot. It seems like unnecessary fluff to get it working. This is a real pain with multiple assets in the same Blender file. I think (but don't quote me), Godot reccoments not scaling the collision meshes. I've never understood why, but it's probably to do with how it does it's collision detection. Always seemed to be OK, but you never know eh ?! Also, question for you. Do you know a way to import all objects from a Blender scene as individual objects? ie they are positioned at 0,0,0 so I don't have to export them individually? Humble Bundle bought me heere, and I'll be downloading this for sure!

  • @michaeljburt
    @michaeljburt5 күн бұрын

    Thanks! And that's correct, we shouldn't scale collision bodies (or shapes) in Godot. My more recent videos take a closer at this in terms of proper workflow

  • @michaeljburt
    @michaeljburt5 күн бұрын

    You know, importing every object at 0,0,0 is an interesting idea. I'm wondering if I should include that as a checkbox in the add-on that you can apply to a whole bunch of meshes if you want. Otherwise, I have no idea how to get that done

  • @widearchshark3981
    @widearchshark39815 күн бұрын

    @@michaeljburtYeah, the whole "export individually" really gets on my nerves ! I mean, you can bring them in, localise them and reset their position. But that's still a pain in the arse if you have dozens of assets. Anyway. Keep up the good work. There's people that appreciate you around here 😊

  • @alighieribosch
    @alighieribosch8 күн бұрын

    I don't understand why do you say it's free, though clearly it says 5+ CAD

  • @michaeljburt
    @michaeljburt7 күн бұрын

    It's on GitHub

  • @InsertHere
    @InsertHere8 күн бұрын

    On gumroad it say's you need to pay 5$+ when in the video op says it's free?

  • @michaeljburt
    @michaeljburt7 күн бұрын

    It's on GitHub, I tell you in the video. You just gotta watch it

  • @SoloGoesWild
    @SoloGoesWild11 күн бұрын

    The addon is really helpful so far. I was wondering wheter or not if it is possible to only export deformation bones when exporting an armature?

  • @michaeljburt
    @michaeljburt10 күн бұрын

    Gltf natively supports armatures, weight paints, animations , etc. so I see no reason why exporting the armature in isolation wouldn't work. I haven't personally tried it though.

  • @tumbleweb
    @tumbleweb13 күн бұрын

    I think two more changes would make this feature complete for me, and able to replace my current workflow as it is: 1. Path Setter allowing a "Scene" parameter so you can replace the entire object with a Godot scene 2. Allowing Path Setter to work on linked scenes (In Blender, File > Link...). These objects still import into Godot, but they have Node3D as a base with none of the addon configurations.

  • @michaeljburt
    @michaeljburt10 күн бұрын

    These are good ideas. Another thing I've been thinking about leveraging Blender's asset drawer, and having fully kitted "game entities" that can just be dropped into a scene for composition. Then your proposal of having an object just come in (when importing into Godot) as a packed scene instantiation, the path having been already tagged in blender with that kit, makes a heck of a lot of sense.

  • @jomohogames
    @jomohogames7 күн бұрын

    For my use case, just having 1. replacing with an existing scene would be perfect.

  • @Zer0Ceasor
    @Zer0Ceasor14 күн бұрын

    Thanks man!

  • @UltimatePerfection
    @UltimatePerfection14 күн бұрын

    What I would love is an ability to set it up on the Blender side so that it auto exports to Godot, without having to click that button. Dunno if Blender's API has the ability to detect stuff like this, but basically automatically export it whenever Blender's main window loses focus.

  • @michaeljburt
    @michaeljburt13 күн бұрын

    So I don't think we should push it to an "auto update" feature(I'm also not sure if it's possible). Exporting a GLTF or saving a .blend file can be a resource intensive process. And trying to do that every time we tab might slow down the system a lot. So basically your options are to set up a one click export (using the add-on Export button) or hit Ctrl+S to save the .blend and import that way.

  • @robinj6997
    @robinj699714 күн бұрын

    Worked great! Thank you for sharing. Wishing for more C++ content in the future. I start today, leaving Unreal Engine behind.

  • @Vinniecomic79
    @Vinniecomic7915 күн бұрын

    I tried to clean up by merge distance from 0001 to 001. But it still not work. I already check my mesh in detail, there is not any holes on the mesh. What happen to my mesh.

  • @michaeljburt
    @michaeljburt14 күн бұрын

    Merge by distance doesn't always fix it. A hair mesh will often mess it is up, that's why I recommend separating it, and then weight painting it separately

  • @Ttiheuns31
    @Ttiheuns3115 күн бұрын

    Look very cool, should try it, Is it a solution if alls animations made in blender are on dummy object, like empty parents. Does it break ?

  • @michaeljburt
    @michaeljburt10 күн бұрын

    I've actually never tried parenting animations to an empty- so I'm not sure! But it's on my backburner of things to try

  • @generrosity
    @generrosity15 күн бұрын

    The fact you are working on plugins for both sides is impressive 👌 I've gotta rewatch this a few times, and try that follow-along blend file 😅 I've heard some people blocking out a scene in Godot, and then get that into Blender to do things? Is that something you do, or just start in Blender with the assets from there?

  • @michaeljburt
    @michaeljburt10 күн бұрын

    Godot to blender is not something that currently works in my pipeline, but yes, there are others working on bidirectional export/import leveraging gltf extensions! Check out OMI group and their extensions. They are not quite shippable yet as plugins but looks very exciting to me as an evolution of the work I've been doing.

  • @drager-i1o
    @drager-i1o15 күн бұрын

    Hi grade add-on just got it in BLENDER MARKET'S ESSENTIAL GAME MODDING TOOLKIT from Humble Bundle just wondering do we end up with the update or is this a snapshot?

  • @michaeljburt
    @michaeljburt10 күн бұрын

    Hey there, DM me on Twitter @_michaeljared and I can hook you up with the latest update for anyone who bought the HumbleBundle

  • @RossUnger
    @RossUnger15 күн бұрын

    Thank you! Ive been trying to solve this problem and I'm so happy there's such an easy solution

  • @jiff3151
    @jiff315115 күн бұрын

    Amazing work!

  • @Gektor3000
    @Gektor300015 күн бұрын

    Thanks for sharing. A very useful addon. May I ask why you don't use a name suffix pipeline to create collisions instead of duplicating the meshes? (-col, -colonly, etc)

  • @michaeljburt
    @michaeljburt15 күн бұрын

    Short answer is that colonly doesn't help you get a static body automatically instantiated in your scene. Collision shapes with no body are useless in Godot. Second answer is that you can't control what type of shape (let's say you want a primitive for example) you get. I'll point you to my video called "Blender Godot pipeline, ok, but why?" where I answered lots of questions like that. It's not to say these other workflows are wrong, just a different way of doing things. And ultimately gamedevs will become fastest working with what they are most comfortable with. Right now, for me at least, that's my add on

  • @millerbyte
    @millerbyte15 күн бұрын

    18:50: What if the door in Blender has the following structure: - Door (Mesh) - DoorStaticBody (Static Body) - DoorCollision (Collision) If Door has the Action / Animation Attached, and the StaticBody is a child of Door (and the collision is a child of the StaticBody), do you still need to tweak the animation in Godot? The AnimationPlayer should still be tied to Door, right?

  • @michaeljburt
    @michaeljburt15 күн бұрын

    This structure would be ideal, but breaks compatibility with Area3D and RigidBody3D (where the body has to be most parent). One of the big efforts with the add-on was to get consistent behaviour between the 3 bodies, but we have the obvious drawback of animations. One solution I haven't explored is parenting everything to an empty mesh and applying the animation to that mesh, then doing all collision stuff downstream. Might work. Needs tweaking for sure, but I'm trying to figure out the best direction to go on that doesn't break companility with other workflows.

  • @tumbleweb
    @tumbleweb15 күн бұрын

    Great additions! I think the new features will be super handy. Thanks again for making and maintaining the addon.

  • @Ignawesome
    @Ignawesome16 күн бұрын

    Thanks for the video, really awesome to see someone applying professional standards to 3D modelling for Godot. Most tutorials I've seen don't care about draw calls and don't even mention reusing meshes. I was horrified after importing my level and finding out that I couldn't easily manage repeating objects. I do have one question though, what is the difference between doing the collision primitives your way and just using the -colonly or -convcolonly? Is it just for animating them inside of blender?

  • @michaeljburt
    @michaeljburt15 күн бұрын

    No problem! Glad you enjoyed. I do have a video called "Blender- Godot pipeline, ok, but why?" That goes into details on the import hint flags (-conv, -colonly) etc. I explain all the different import options and why you might choose one over the other.

  • @sebastercats6123
    @sebastercats612318 күн бұрын

    Any chance there's a free "lite" version of the blender addon? I'm a beginner 3D developer testing things out with both with Blender and Godot. I would genuinely love to support you through paying your amazing addon and I mean no disrespect asking it for free, of course. Just wanted to ask as a small-time, broke(online) beginner developer. If not, no worries. Maybe I'll have the money one day. Anyway, thanks so much for making both programs work seamlessly, it's amazing!

  • @michaeljburt
    @michaeljburt17 күн бұрын

    Hmm, well the Godot half of the pipeline is totally free. That's where most of the magic happens. So you can check out my GitHub github.com/bikemurt/blender-godot-pipeline To be honest all the blender add-on really does is set Blender "custom" data which you can manually set in Blender. It's just a lot slower/tedious to do by hand. So you might want to tinker around with that. There's an old version of the add-on somewhere in my TestProject repo as well, but I kind of abandoned updating that as it was tough to do in multiple places

  • @sebastercats6123
    @sebastercats612317 күн бұрын

    @@michaeljburt Good to know I can still be able to tinker around, I'll see if I can try it out in my workflow. Thanks again for putting the Godot part for free, I know how valuable of a work you've done for both software, so I'll be sure to buy the blender addon whenever I can. Looking forward to see it get more updates too!

  • @heartlessronin6534
    @heartlessronin653418 күн бұрын

    I have 3 questions: -Do I need to first export my blender file as gltf normally so I can use the Export button from your addon? -Why are you making 2 collisions for the walls and shelves? isn't 1 enough? -Why do you need to add a solidify modifier on the walls after you duplicate them? Thanks

  • @michaeljburt
    @michaeljburt17 күн бұрын

    Only thing I would say is to check out the latest video because the add-on has changed a lot 1) no, you can just type the filename.gltf in the box and hit export 2) the wall and shelves are separate objects so if you want to move around the shelves, the shelf collision should move with it (that's why it's parented) 3) the walls are solidified so that a box collision can be made. Box collisions are far simpler in-engine vs convex trimesh collisions.

  • @heartlessronin6534
    @heartlessronin653417 күн бұрын

    what I meant for 2) is: you are making a collision for the shelf without the array and parenting a larger box for the array to it? and 3) I just now see that your wall are just planes thanks!

  • @michaeljburt
    @michaeljburt17 күн бұрын

    @@heartlessronin6534 8:25 probably shows it clearer (that was my second bookshelf that I did, so I did a better job of explaining it). Basically you wrap an entire cube to get a box collision for the whole shelf. Another way to explain this is that the shelf with the array is just to handle mesh instancing. So that has nothing to do with the physics of it. We apply a body to it (Static or Rigid) and then it still needs a collision shape, so that's where the box comes in. You really should check out the newer videos though- I rewatched this one today and a lot of the addon UI has changed.

  • @heartlessronin6534
    @heartlessronin653417 күн бұрын

    @@michaeljburt ok thanks I will check the new videos out

  • @millerbyte
    @millerbyte18 күн бұрын

    Very very helpful, thank you for creating this (I just picked it up as part of the Blender Market Humble Bundle). One comment (I haven't finished the video, I'll append to this comment if I've answered my own question): It seems parent -> child relationships in blender are not respected. Is that by design?

  • @millerbyte
    @millerbyte18 күн бұрын

    Also, have you thought about powering these "custom parameters" from Custom Properties in Blender? That way I can set all this stuff In Blender (no need to create a new txt file, set the data, copy the path, paste in blender, save, etc.,)

  • @millerbyte
    @millerbyte18 күн бұрын

    I use the "Copy Attributes Menu" Addon in Blender which makes it easy to transfer custom properties from one object to another. Maybe this isn't as elegant as having one txt file as the source of truth that many objects share.

  • @millerbyte
    @millerbyte18 күн бұрын

    Another cool thing I discovered -- I use the `Machin3 Focus` plugin to easily isolate objects in Blender. Seems that the "Export for Godot" button also respects this, and only imports that isolated object. Pretty cool!

  • @millerbyte
    @millerbyte18 күн бұрын

    I am noticing some strange behavior getting animations to import properly. As in, they're not really working. If I just import the GLTF without the attached script, animations work. So I don't think it's a problem with the gltf file / how I'm building the animations in Blender.

  • @michaeljburt
    @michaeljburt18 күн бұрын

    Hey there! I read through some of your messages but KZread might not be the best format to discuss. You can direct message me on Twitter @_michaeljared and we can pick up the conversation there :) To answer some: The add-on does use blender custom data under the hood. Animations are getting a patch in version 2.2 (coming soon) and will only support NLA tracks animation. In my opinion that's the best workflow for Godot, so that's why I'm sticking to that for the export button.

  • @tumbleweb
    @tumbleweb19 күн бұрын

    Curious if it would be possible to add a @tool script to the addon that will scan the file system for .gltf and attach that addon importer script automatically. Similarly, if there's a way to map Ctrl+S to "Export to Godot" in Blender, that way you get nearly the same functionality as the .blend importer.

  • @michaeljburt
    @michaeljburt19 күн бұрын

    I looked everywhere to do exactly as you suggested and could not find anything. As far as I know there's nothing exposed to set an import script programmatically. Or even setting a default import script would be awesome. .blend file importing is coming on the next version, just need to stay locked on 2.1 for a while because of the humble bundle.

  • @tumbleweb
    @tumbleweb19 күн бұрын

    @@michaeljburt Awesome, looking forward to it. Thanks again for the addon! Also, I just discovered that Godot has an automatic import script setting. Project Settings > Import Defaults tab (next to the 'Plugins' tab), then select the dropdown as 'Scene' and set the addon script in there. Every time Godot imports a .gltf, it adds the addon script now by default.

  • @michaeljburt
    @michaeljburt19 күн бұрын

    ​@@tumblewebThat's awesome! Thank you for that. That will be a huge time saver for myself and everyone who uses the pipeline.

  • @Montigorable
    @Montigorable21 күн бұрын

    What about making a paid/free course on how to make a simple game using c++ in godot?

  • @michaeljburt
    @michaeljburt20 күн бұрын

    That would be a good one to do. If I ever get time I'll consider it :) a little bit too busy these days

  • @user-fg6mq3dg3d
    @user-fg6mq3dg3d22 күн бұрын

    This feels like open source unreal engine with C++ and I am here for it.

  • @michaeljburt
    @michaeljburt18 күн бұрын

    I might not go that far :) Godot is a very capable 3D engine (although people generally don't know this) but it is nowhere near as heavy, or feature rich as UE. Luckily, there are lots of awesome add-ons (e.g. Terrain3D) to complement it.

  • @UltimatePerfection
    @UltimatePerfection23 күн бұрын

    Now on the Blender side, how about making "export to godot" thing automatic, e.g. after every change of mesh or object, so it is actually live?

  • @michaeljburt
    @michaeljburt22 күн бұрын

    It's already a feature in the newest update, just need to release it. The add-on was packaged as a part of another bundle so I had to wait a bit on the update.

  • @JoarLikesHorseShit
    @JoarLikesHorseShit27 күн бұрын

    In order to maintain the natural optimization that C++ provides, to what extent are you able to mix C++ with C# and GDScript? Do you strictly code everything in C++ or do you use C# and GDScript for some certain aspects of your game?

  • @IsaacLobaoCerejo
    @IsaacLobaoCerejo27 күн бұрын

    nice video!

  • @Alteredfrenzy
    @Alteredfrenzy28 күн бұрын

    This was beyond my current level, but I still enjoyed it. Thanks for the video.

  • @EUJokerBR
    @EUJokerBR28 күн бұрын

    pretty cool, i love watching this type of content even though i'm not into game dev... Yet.

  • @michaeljburt
    @michaeljburtАй бұрын

    One thing I forgot to mention: the index buffer actually contains the ordering for the faces, which are converted to triangles prior to export. 36 triangles because 6 faces x 6 verts per face (two triangles on each face, 3 verts per triangle). And I said at the end that the indexing is doing nothing - this is not entirely true. There are 24 verts associated with the quads, but 36 associated with triangle faces. So the indexing helps when it comes to triangles.

  • @whiletrue1-wb6xf
    @whiletrue1-wb6xfАй бұрын

    Can you share the code for this small window on the bottom right that show all the info

  • @michaeljburt
    @michaeljburtАй бұрын

    Just hit the three dots next to "Perspective" in the 3D viewport, then check "View Information". Hope that helps!

  • @GameFactsSpecial
    @GameFactsSpecialАй бұрын

    Sadly mine is still coming through as separate animations, one of them gets appended with a 2. I think it might have to do with one of the animations being shape keys animating. Oof. Still very helpful video, I have more information to work off of now.

  • @michaeljburt
    @michaeljburtАй бұрын

    Sorry about thag. Hope you find a solution. Shapekey animation is still something I need to dig into...

  • @GameFactsSpecial
    @GameFactsSpecialАй бұрын

    @@michaeljburt it was still helpful no worries. Ultimately I think putting them into rig under an armature with a driver is the industry approach. But I still am getting rigging down. So I don't even know how to do what I just said...

  • @GameFactsSpecial
    @GameFactsSpecialАй бұрын

    This is exactly what I was looking for. Thank you so much. Share this on a few places I asked about this very thing.

  • @AKi-RiN-DA
    @AKi-RiN-DAАй бұрын

    Great video. How would you go on about making the wall curve like in Tiny Glade? Is there a way to warp a mesh onto a curve like in Blender inside Godot?

  • @michaeljburt
    @michaeljburtАй бұрын

    Hey there. I've been thinking about your comment for a couple of days. The problem is this: In Godot, the VERTEX data is in local space by default - now, this is a good thing if you want to deform geometry locally, but a bad thing if you want to deform geometry in world space. You could do something like set up a curve texture in Godot, pass that in as a uniform to the shader, but then you'd have to do some trickery to deform the object according to its coordinates in world space for the curve AND deform it in local space according to the procedural instance shader properties. So I believe it is possible and it is absolutely something I'd love to tinker with. But I've got a few other projects on my plate right now :) If you reply again, it will leave your message in the queue for me on KZread studio so I'll be less likely to forget it, and might come back to this particular problem and try to solve it.

  • @AKi-RiN-DA
    @AKi-RiN-DAАй бұрын

    Yeah that seems like a hustle. I'd definitely want to see that when you get the time. Hopefully Godot will bring some updates to make mesh deformation easier soon.

  • @HerrDoktorWeberMD
    @HerrDoktorWeberMD23 күн бұрын

    I actually would imagine the curve itself is saved, then when you generate a brick, you find two points to represent its ends, and orient it so that both points fall on the curve. I don't know what that math would look like, but that would create the appearance of a curved wall with the way the bricks angle from one to the next. But basically, you'd rotate individual (ideally smaller) bricks rather than deforming them.

  • @HerrDoktorWeberMD
    @HerrDoktorWeberMD20 күн бұрын

    @@AKi-RiN-DA Honestly upon rewatching, I think my other reply is spot on. If you look closely, none of the bricks in the tiny glade example are deformed on a curve, they make little flat spaces along the wall that look like a curve once it goes all the way around.

  • @Defaultsound
    @DefaultsoundАй бұрын

    Nice information to know regarding the naming of strips, did not know that. For the isolating strips in Blender, the checkboxes next to the padlock on each one lets you disable/enable which NLA strip is active. IIRC its the top most active one will preview. Also pressing Tab on a selected strip will let you enter that strip to edit the keyframes, pressing tab again exits "Edit Mode" for that strip.

  • @michaeljburt
    @michaeljburtАй бұрын

    Oh that's nice! Just tried out using tab, as well as the checkboxes. That works exactly as you described. I'm one step closer to actually understanding NLA...

  • @Defaultsound
    @DefaultsoundАй бұрын

    @@michaeljburt Yea NLA needs some work, like you said those 3 different names just adds confusion. I think this is being worked on for the animation rework iirc.

  • @TrifectShow
    @TrifectShowАй бұрын

    One of the things I wonder is how to use bones to deform the model. I tried importing it but Godot didn't seem to support it, Godot supports basic transformations, but it doesn't seem like there is a way to have it work with bones that deform the model.

  • @michaeljburt
    @michaeljburtАй бұрын

    Hmm, it should. I've loaded lots of rigged character models into Godot without too many issues. As long as you have an object parented to an armature, it's weight painted properly, and the animations are set up, then it should run in Godot. I did a video series on rigging ans animating a Zombie character, you should take a look at that

  • @TrifectShow
    @TrifectShowАй бұрын

    @@michaeljburt Guess, I'll watch your tutorial on that. I was using fancier NLA animations, but I baked it into keyframes. And it still had no affect.

  • @mkjyt1
    @mkjyt1Ай бұрын

    Very helpful! Awesome content.

  • @theezrim
    @theezrimАй бұрын

    Hey man I appreciate you making these videos! Your tutorials and add-ons literally save me an ungodly amount of hours!

  • @michaeljburt
    @michaeljburtАй бұрын

    Awesome, glad to hear!

  • @furyhammer1657
    @furyhammer1657Ай бұрын

    Short and straight to the point! Thanks!

  • @GameFactsSpecial
    @GameFactsSpecialАй бұрын

    What I can't figure out in Blender is how to export it so that multiple objects play as one animation in a parent object. They always come into blender as separate animations. I was hoping this video would show me how. It didn't but at least I don't feel as crazy now because at least I know I'm not the only one trying to do this.

  • @michaeljburt
    @michaeljburtАй бұрын

    You aren't crazy. It's annoying, and it's on my backburner to fix - either as a script in the import pipeline or actually submitting a PR to the engine. NLA tracks works very nicely for character animations - but that's for several anims tied to one character. Having one animation with separate objects is where the issue lies. I know @passivestar_ is working on it as well

  • @GameFactsSpecial
    @GameFactsSpecialАй бұрын

    @@michaeljburt Have you found any work around for now? The only workable solution I've heard is using an AnimationTree in Godot and manually assigning the animations to work as one. But that means I have to manually merge everyone on import.

  • @michaeljburt
    @michaeljburtАй бұрын

    @@GameFactsSpecial Well your comments have prompted me to investigate this again, and I think NLA tracks is the ultimate answer... I am posting a video now, it should be up in an hour or so. Go take a look at that and let me know if it solves your issues. I have some work to do on my pipeline side to match this, but at least the info is out there now!

  • @Grimreaper368
    @Grimreaper368Ай бұрын

    Looking at the export side of things. Could you add a few parameters to automate the naming of the mesh? For instance instead of naming the file manually and then making sure you have .tres or maybe .res, or whatever format is needed. - You could have that as a dropdown/enum and have it automatically applied to the naming. - Same with the export name. You can have a dropdown to use the collection name, object name, or custom where you can change it if you'd like. So you just choose the path, and configure the naming and file type via dropdowns and have things a bit more foolproof/automated.

  • @michaeljburt
    @michaeljburtАй бұрын

    These are great ideas and I am going to be looking to do "quality of life" updates in the near future to address this kind of thing. An "auto naming panel" with some options might be necessary to implement your suggestions.

  • @jiff3151
    @jiff3151Ай бұрын

    Thanks for the tutorial. Naive question: Wouldnt it be possible to write a python scirpt for blender, such that it can check if any 2 objects share the same mesh data, and if yes automatically converts them to a linked mesh? From what I understood this alone would allow GoDoT to start batching drawcalls, and it would be a extremely low effort with still substantial result solution.

  • @michaeljburt
    @michaeljburtАй бұрын

    It's a great idea! Implementation might be a bit difficult, however. In this case the artist created unlinked duplicates, meaning the mesh data for each object is completely unique (even though the vertices were identical). So natively, there's no way to "know" that objects are using the same mesh. You could do an ad-hoc solution to check to see if they use the same material. The "real solution" would be that the python script checks the vertices of one mesh against all the vertices of the other meshes in the .blend file (with some float approx equal function) to check to see if they are effectively the same. That could be a very expensive and slow operation. At that point you could link it to the same mesh.

  • @axelseven7
    @axelseven7Ай бұрын

    Great stuff, but I'm confused as to why you wouldn't just snap the end point to the grid as well? I feel like if you want to build a whole structure with bricks, having them snap by distance and angle would not be as intuitive as grid-snapping like the start point. Also, maybe we'd wanna snap the red sphere indicator to the grid as well, to make it clearer where the wall will start.

  • @michaeljburt
    @michaeljburtАй бұрын

    Yes! You are absolutely right. I rewatched it myself and realized I forgot to snap the global_position of the cursor. I do exactly this in the build system in my game, A Beaver's Tale

  • @Cigam_HFden
    @Cigam_HFdenАй бұрын

    7:55 You actually can have different materials and it still be one draw call, it is just some extra shader code lines. I was working on it back when we talked about the alt+d instances, but life got busy and I just have not gotten back to it. I had a working version back then with just some albedo changes. Hardest part was getting around the float variable issues. I need to find that old project and make a tutorial on it at some point. You have made amazing progress though, as well as the game, blender addon, etc. Cheers!

  • @michaeljburt
    @michaeljburtАй бұрын

    Huh that's really interesting. I'll have to explore that some more. Based on my understanding of 3D rendering, unless multiple materials are baked to one texture set, it has to be multiple draw calls. But maybe there's some Vulkan magic happening in the background? And thanks for the kind words!!

  • @igdmarandici4946
    @igdmarandici4946Ай бұрын

    Nice!!! 👉More C++ tutorials👈

  • @michaeljburt
    @michaeljburtАй бұрын

    I've got a couple ideas for more C++ vids. I'm going to try to gauge the interest in "roll your own" engines, using vcpkg, cmake, and libs like SDL2, bgfx, etc.

  • @Lynchpin656
    @Lynchpin656Ай бұрын

    i am looking for the plugin version of this function

  • @Lynchpin656
    @Lynchpin656Ай бұрын

    can you add this function into your edge groups addon?

  • @michaeljburt
    @michaeljburtАй бұрын

    It's not possible within the architecture of Blender to add the function into a plugin. This is because this bevel feature requires changing the modifier code itself.

  • @Lynchpin656
    @Lynchpin656Ай бұрын

    ok thanks