Blender 4.1 Fracture Guiding

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] okay and welcome to today's live stream where I plan on doing some fracture stuff but not procedural fracturing in blender uh we don't really have a good way of doing that just yet my plan is to make a bunch of basically a guided fracturing okay wait wait let me rephrase that we'll have a ton of fractured Parts that'll be from the fracture add-on that comes with blender by default and then we will move those using a physics base B object like either a plane that has some Physics deformations or something that just has manual deformations uh I was recently looking at some Houdini based uh stuff for some movies and I saw something along those lines and I was like you know what I think that could be done in blender so that's the plan I'm going to try doing it in blender so yeah so the basic concept is that we're going to fracture this uh box a whole time and then we'll have the deformable version of it which will be this plane which I'll just put in some basic subdivisions yeah let's subdivide it again and then whenever I move this guide plane the fracture objects which will be spawned from there will move along with it which actually the topology doesn't have to be the same and I don't plan on it being the same but just so that the fracture is okay we'll do that so I'll use the cell fracture add-on which comes natively in blender we'll do that maybe throw on one level of recursion let's give that a go let's see uh I don't think we have enough in there so I'm going to subdivide this again I haven't used this in a in a fair bit so I forget if you actually need to subdivide it to get more points in there I don't think you need to but that's why I found works okay uh I don't think recursion is needed let's put the source limit at 300 300 yeah that hopefully that'll be okay okay wow that was not well that'll be good for testing we'll just go and chuck all of these into a collection and we'll go and hide our source Cube so that we can edit it later on now it's time for the geometry node parts so we need to do a few things we need to store a rest position for our plane here so that we can get the differences in location and rotation so that we can then apply them to our group of cells okay let's see if we can uh if we can get this to work so let's store our named attribute which will be rest position rest position set it to be a vector let me move it over to here and it's just going to be the position nothing nothing fancy there let's go and move this over and then after that we'll have our deorations so in this case I think I might just transform the mesh do a very simple transform so that I can get the cells following that mesh we'll see if it works I think it will but we'll we'll try that out so a simple transform no deorations just yet because uh we'll well we'll see how it goes it should work just fine though okay let me go outside of edit mode and give this a bit of a rotation so I just want to make it so that the offsets will work well let's bring in our collection let's have it be cells separate children reset uh no we don't want reset we just want them to be separated let's set this to be relative let's see um okay so now that we have that we need to store well we have the rest position but we need to get the current rotation uh on our plane so the rotation difference to where it is to where it is uh originally and then secondarily so that will be interesting to get the offset in position that's the easy part that's the part that's just just pure so easy because you just go oh the current position minus the rest position or you flip that around but to get the rotation you basically need to take the normal of the previous uh the the rest position and then the moved position and also the tangent which is either derived from uh getting a random like offset from one verticy to another or the UV tangent which I have a node for that but I don't want to rely on that because it needs a UV map and I don't want to rely on UV maps for this so let's get started on those things let's see if I can uh get this to work okay now it's time for the research and development portion so first of all to store the normal well H yeah let's store the normal in its default place so actually do I want to store yeah let's get the normal and the tangent working so normal and then let's get the tangent of this mesh so to do that I'll need some of the topology nodes I think so these topology nodes let's see corners of vertex corners of vertex and then I need to offset the corner in face offset corner and face let's see if this works and Corner index then to uh corner to let's see um vertex of corner okay we offset that by one then this might work is this the right way of doing it I for forget how did I do this before or do we select an edge and then a vertex of that edge sorry everyone I need to remember how to get a mesh tangent because unfortunately we don't have a easy way of doing that in here edges of corner corners of Edge Let's see we do have no but that wouldn't work or would it we do have the uh vertices of edges or no um Edge vertices yeah Edge vertices you can tell which one was made later these ones are more technical I think this one was in there quite a bit earlier because it has the position inputs but if we get the difference between these two oh yeah no this will be I hope this will be better if we get the difference between those two then that'll be our tangents tangents so if we take a look at this what I'm worried about is okay that seems to be mostly okay that should be fine I might need to redo that but it should be fine at this time then I just need to normalize it so hopefully we can get a good tangent method in the future but for now we have to make it ourselves like a UV tangent would be the most logical thing for here but one I had to make my own node for that because even though blender dev's version in Sprite fright was a janky it had a couple bugs I had to go and fix it up find a new algorithm to get the UV tangent and all it was uh it was something else but hopefully one day I think there was a plan to make a node like that but it wasn't realized so now that we have those two we have those on the rest position so I could go and turn this into a rotation before and then a h actually actually would that work I think that would work okay so we might not have to store both of these we could just store one value which is a rotation and then that might be good but I'm not entirely sure okay that might be good I'll H let's try to do this the the correct way instead of having to go back again and again and again so let me just label this rest POS position so we have the normal and the tangent and we can turn that into a rotation using two align Oiler to Vector nodes this in the like months from now years well in the future it's planned to have one version of this setup that I'm going to do so let's just have that right here so we could plug in our normal and our tangents in order to turn it into a rotation eventually again it'll be one node which will hopefully be a lot easier to do but this is the current rotation of the polygon so if we can get the rotation before and after we can apply that to the cells which should be good I hope rotation oop rotation so I'm going to store that I could just plug it into there directly which would probably be better but I'm going to do it this way and then I can optimize it so tangent okay I should probably label these as normal and tangent old but it should be fine or rest which probably would be better so this will be rest rotation since I do kind of plan on removing the normal from there it should be fine fingers crossed but uh we'll do that or actually I'll label it rotation rest so that that we can have both of the rotation attributes uh close together in the alphabetical list so let's do this just to make it better let me read the chats real quick am I the only person that doesn't like the grid snap and Geon notes the flickering bugs me um I don't know I can't I can't really function All Too Well without it on just because it's so I don't know it's the grid keeps everything organized and as you can see here where I label everything put everything into frames I need to be organized because otherwise it becomes way too exploded with other programs I've been trying they have snapping on by default but they have like a I think we have this in here like you can align it here and there which actually that's not the worst idea not XY so you can go well this one oh this is janky that's yeah that's a little janky but if you constrain it to one axis like this could be good but I find the best version is just to snap it to the grid like the snapping it's just like ah it's locked in place like a Lego brick it's perfect okay so now that we have that we need to go and basically redo what we did here but after the rotation and then we need to transfer that to our instant which maybe I should get moving on now but we'll we'll see about that this again is very experimental I'm trying to figure it out but once I figure it out I can go and clean it all up okay so now that we do this we can do the same in post and then with the differences in rotation and location and such we can just transfer that to our instances and actually I could make this a node group any anyway I think I'll put them in frames for now because I do plan again on just chopping out that part and that part but I want to make sure this is working first so this will be rotation currents there we go and now we are going to transfer it to our instances so we're going to use a sample index or no a sample nearest node or sample nearest oh yeah we're going to need the sample nearest surface node we're going to set it to be a vector and I should probably also oh dang yeah I didn't I didn't think this through all too much uh we might need to store H I need to think about this we might need to oh wait wait wait wait wait wait my brain is my brain's wheels are turning we might be able to make this a lot simpler but know [Music] that the interpolation between all this stuff might be a bit of a pain okay okay okay okay I need to store the difference between the rest position and the current one so this will be our offset our position offset so offset let me just get rid of this part right here we'll we'll go and figure that out later so I need to find the difference between those which fortunately is simple I'm tripping over myself I'm going way too fast so we do this and subtract it from the current position we can now have that working and we can store that right there and it should be good so now we can trans let's try transferring that to our instances I shouldn't have started with the rotation but anyway anyway anyway anyway let's put this over to here so we need to when we sample the nearest surface we need the rest position for the sample position and then the value we want it to be the offset so actually no we don't want that hooked into there oh almost made a big mistake so we want that there we want to transfer it from our original geometry and then put it onto our instances so if we do that and then store that do we store the offset on here or do we just do it I think we could just do it set position so let's give this a go so we have those and then if we apply our offset we can see that it is not working why is it not H we rotate this oh we can see that something is oh that's why because the rest position that's referencing is from our instances not with the yeah the thing being oh that's that's a little bit annoying or no wait no that should be fine then why is that what oh well well I'm just going to do I'm going to stupid proof this I'm just going to make it so that this has to be at the rest position so it is like this we're going to reset it there so that when the transfer happens it should be accurate it does look like this is going negative which is not good so I need to flip this around apparently so now we should see okay that's good I came at this from the wrong angle but as we can see it is deforming on the position space now we need to get the rotation space working okay okay okay so this will be reset position reset POS I spelled that very very wrong position there we go okay we're back we are back so first we're going to set the rotation of the instances or uh rotate instances so a few things about this which are a little bit annoying we need to turn off local space and then we need to set the pivot point to be the instance position so just like that and I'm going to put that above because I still need to transfer the rotation difference to there which I'm still not sure if I need to transfer the old old rotation and the new rotation together we will see and I might need to get the UV tangent I'm not sure because I didn't take into account the interpolation with all that but again we'll see what what's going to happen actually maybe I should store the rest position now let's keep it all in a node group I don't want to do anything uh nonprocedural just yet but we'll figure it out we always do okay so now we need to transfer the rotation difference so we have the old rotation right here the rotation rest so if I were to just go and plug that into there we should see that those now rotate a little bit but that's because I'm applying the rotation which is not what we want we want to get the difference because well if this if the plane rotates by like 30° on one of the faces on some of the axes we want to just transfer that Global rotation to the instances so to do that I need to let's see I could do this the dumb method which I think I will have to do so I will have to go and have the normal and tangent do their thing uh after the deformation which I should label this deoration so deoration but the good news the potential good news is that I think I could just go and chop out these nodes and then connect them directly so I'm going to do that I'm going to try to do this with as few loose ends shall we say so that we can just have a few named attributes rather than hundreds so if we do this it should be fine now we have our rotation attributes and such there we go oh another thing in 4.1 that someone was mentioning is that they might fix the frame movement issue where if you move a frame and it's snapped then you move that it won't be correct will'll be off by just this uh tiniest amounts uh actually wait yeah I could eliminate both of those and just go there we go that's a bit better okay so now that we have that we can now do it after the deformation so it got a bit skinnier I can make it even skinnier but now it should be fine I should make it a node group but for now I'm okay with the current version okay let's do it uh rotation current so I'm going to sample both of those so rotation rest rotation current uh man why is that not right next to each other that is odd okay so if we do this now let's try to get the difference in rotations so for here we'll need to use the rotate Oiler node we need to switch this to be yeah that should be fine I need think about this we need to take our current rotation and then undo by the Yeah okay this might work well let's see if it does so we undo the rotation current by the rotation rest and that should give us the difference in rotations we can see that that is not working by a long shot okay I might need to go which one do I invert ooh oh wait no I okay I think it might be working almost perfectly I just need where is the gosh darn deformation there it is so we can see that's rotating mostly correctly but I'm worried that the tangent is not doing well there is a way that I can check for that and that's by using a sample index and Sample nearest and Sample index node on both of them so let me try that sample near sample index so this will give us a non-interpolated method of that which I'm still annoyed that this node got split I know why they did it but it's still annoying not having everything just in nice one nice node okay so now this will be just a simple debug I know it's becoming spaghetti but R&D R&D so that and then that so let's see how that looks as I rotate our plane we should see it's still messed up H dang it I could always go and just yeah I might need to do that this is becoming more and more pain the longer I do it okay so we can do an invert rotation node and plug that into there and then rotate it by the current whoops yeah this is becoming way too out of hand H so we Undo It by that and then we do it by the other one H so the other method seemed to oh wait that's why okay so that gives us the inverted rotation so if we just go like that and that it should be okay but we can see right there yep at the end everything starts to freak out so maybe I could just transfer the old normal and the new normal and then get a tangent and all that but um yeah that might be a pain in the butt like stuff like that should not be occurring like look at that that is not good but as we can see if we do scale it then it is good no it is not it very much is not so that basically shows that yeah the um the tangent a big problem here so if I do go and just chop that out of both we should see a much more consistent result until it flips over so let's try this we do that we can see that wow that's pretty Rock Solid if we do that it's pretty Rock Solid but then when uh we do that it's not solid so yeah that confirms my little theory in my brain okay so let's set this up with the rotate Oiler node which this is basically rotate rotation but we don't have a proper rotate rotation node just yet so it's uh it's good enough for now so let's try this again and see if it works that is it doesn't feel quite right oh and I also might need the rotate part oh yeah I might need to do that I may need the the rotate position to be um the distance to the position of the map currently so let me try that just just to see so if we get the current position there hopefully this can just be one node that can be pasted once it's created but we will see TM so if we do that that is okay now that's still a problem with the rotation node still being a little bit messed up if we do this we should see that that moves accordingly that part moves okay I am seeing a little bit of trouble but I'm going to assume that's because the tangent is messed up I don't want to do this but I think I might just get the UV tangent note that I made just because it'll be easier and hopefully well maybe not faster but it'll we'll get it won't be a point of it messing up big time we'll we'll see about that the tangent is the problem okay so if I do connect to this again like the tangents can't be crisscrossing which is what they're currently doing I'm assuming so if we do this we can see they're mostly in the same direction except for right there which is not good so let's see can I do with the I don't want to use the other stuff but I might have to vertex of corner edges of corner I don't want to use any of those H yeah I might all right we're getting we're okay please stand by as I go and get uh my shape key blender file load it up and I'm just going to go and yoink the tangent from there uh shape key let's hope okay it is in there yep I'm just going to go and bring that over into here please stand by so now I'm going to bring it into the main file let's just go and paste that into there okay so this node I very much should release on gumroad because it is a better yeah this is the this is the internals you can see why I'm hoping that an actual node for this comes around but it's just you put in a UV map you get the tangent by tangent in the normal so everything that we need for a rotation but yeah it's we should really have that node in blender um okay okay let's get the oh let me full screen once more let's bring that group into the mix UV tangent so I just need the UV map the normal is the same so yeah I'm just going to or wait do I need the by tangent as well now it should be fine but if I plug that in here and in the previous one please work okay we should see it's inverted okay okay there are glitches please tell me that's not a problem with the node group cuz I spent a long time like we can see that part's working that part's working but that rotation is inverted that is not great ah this is a just a little bit of a pain in the butt like I could just say hey just plug in the rotation into there and it should be fine but I don't want to do that because this needs to work with a deforming mesh so I need a good tangent a working tangent that does not reely on the edge vertices because that's on the wrong domain and that's not good so I do as much as I don't wish to do that looks like I'll have to so we have that uh let's just check in on the rotations as I rotate this shoot I really hope that's just a problem with uh either the normal I really hope it's not a problem with um this node because I have tested that so much let's hope it's not I'm going to set this to Y and then use the by tangent because that can derive the normal oh so that part's seems to be okay okay no glitching there huh no glitching besides that which I'm not sure why that would be happening maybe oh maybe that's because of the rotate Oiler node if it's zero it might freak out a little bit okay well let's just use what we semi know works so I'll just plug in this to here and there okay and I'll plug it into here and there I'll just use the tangent and the B tangent apologies that this is a custom node group group I'll show it off once again it was a pain to set up I had to compare multiple different methods of games making tangents to uh the blender devs making tangents and other blender creators making tangents I tried to mix them all into something that would work in most cases and this seems to work in the most amount of cases but again it's still painful yeah I'm just going to go and show that for a little bit maybe I'll put some reroutes here oh no that doesn't make it any easier but yeah if you do want to replicate it you can but I wouldn't really recommend it okay um so I think the one error here is that this is a little bit messed up when it goes close to zero let's also do this oh did I mess something up or is it inverted once more I think it may be inverted once more see I just need to get it to work please wait a minute did I accidentally plug [Music] in here let's make that X and then y x y and then Z on there so that should be working let's take a look at the data looks like I'm going to need to Absolute in order to see it okay that one's red and it's very consistent that is good that is a good sign that's green which means that's facing that way so those two are both looking good uh and then let's compare this to the after those are still green yeah no still actually wait we compare that to there and that's blue that is good that's how it should be the colors are looking as they should blue means it's pointing up and then green means that it should be pointing that way I would assume actually I could showcase this in a slightly different way like if we use an extrude mesh node and then we use the vertices and then we plug in here here we can see where the lines are going they're going up so the tangent is working the B tangent as we can see is also working so those two it's good it's good data now let's compare that to the data that's gotten there good data and also good data okay so we don't need to worry about any of those it's working as intended did so that that part's good I'm not like the normals seem to have messed up but I think that should be fine like here we have the normal there if we compare it to it being rotated oh uh I forgot there we go if we do this we should see yeah the normal's just fine okay so that's not an issue yeah normal is not the issue if we just do that it's all good so any of those would be fine it just seems that the rotation nodes over here are having a field day with it okay I do wish that I could just get the difference in rotation beforehand so that that I don't need all these duplicate nodes and just feed in that difference to there but the problem is the interpolation between rotations isn't great and as far as I know I can in theory you can mix squat Tans but I don't want to risk that we'll see so let's flip this around and try to make it so that it works or [Music] maybe I could just try to access angle it and then it could be actually no that would work if I just access angle it it would two values but it would be just fine [Music] h no that could be dumb I would probably implement it in a very dumb way okay uh which one is this rotation current okay we want the old rotation to be like that and that seems here let's just go and pack it to where it should be okay that is definitely not working wait a minute why is it showing up as nothing here we have rotation current and rotation rest okay that should be good so we plug in the rotation like that nothing happens because yeah that kind of makes sense there's no rotation happening then if we do that why is it like that why is it just gone whoop that that is not [Music] good I had it so how did I lose it that and that that and that ah this is getting just a little bit annoying rotation to axis angle rotation to axis angle like I could just rotate it by an axis and an angle and it might work but I'm not sure how would I do that I would take the offset compared to the tangential offsets or the normal offset cross product those two then get the angle from the difference between the normals no that wouldn't work I if you can't tell I dislike rotations ah yeah let me read the chat again because I am evidently my brain is having a hard time with this and I knew I would have a hard time but I thought I would have figured it out by now we're already at 37 minutes let's see um big fan of your work cartisan I'm still starting to learn Geo nodes any tips tip one uh don't follow my at least little live stream so that do not have thumbnails those are the very experimental ones so those ones I'm trying to figure stuff out like this one um so don't follow start with the basics right now I'm trying to do complicated stuff with quad well technically not qu well this node kind of does querian math but it's kind of under the hood so it's a little bit weird but rotations are difficult because of Oilers querian and all that good stuff but start with the basics start with my tutorials my actual tutorials I made like over a year ago two years ago actually my first one was made 2 years ago most of those are still good there might be a few notes that have changed since then uh but should be fine start with the basics and work your way up just know that everything named attributes are everything so you have like with the video I have on um my YouTube homepage geometry nodes is all about getting data manipulating data and setting data so these kinds of units are your bread and butter you're getting the data you're doing some stuff to it and then you're setting it so that you can use it either in the Shader editor or other places so yeah um okay so what do I do next like what I'm doing right here I want to do something bigger than I've done before like making something where I can have like a plane go and warp with physics and then have like concrete cracks follow that deformation that's a big that's a big ask and unfortunately I can do rigid body physics cuz we don't have that in blender yet but yeah um us will allow you to flip the inputs of nodes not sure that requires a node Wrangler I think that might have kind of been changed a little bit with like node Wrangler and blender devs doing stuff but I I think it was a node Wrangler thing which I do have node Wrangler installed but uh i' never I've never really used that feature which is a little odd do I just store the tangent and the normal like I I could sore either the tangent by tangent or normal I only need two of those I can store either one and then I just reference those in post and then deal with it but I do wish I could just get the difference in rotations cuz that would be much better dodging quaternion all day every day oh yeah I do not want to touch those it uses imaginary numbers if they're so imaginary why are they so difficult but yeah um querian are difficult so I'm going to just attempt at uh doing the rotation stuff beforehand and then just transferring that difference over into there and then it'll be good we pray so we can plug this into the rotation and then we can set this to be Oiler like technically I should do Oiler to rotation which I'm I really don't know why it's called Oiler to rotation instead of Oiler to quater but maybe it's just because rotation is like a thing that blender likes to call querian under the hood even though the named like I still don't understand it like you can set something as a querian but the data type just turns into oh the purple rotation value so the naming convention is very weird I will say that and then I can change this back into the oiler so Oiler rotation to Oiler like if I have to set that to local I will be a little upset like if that was all I needed to do setting it to that H so it should be like the way that I think I got it working before that that and that like it looks like it should be working but it's not let me attempt let me try to connect the normal again and see if that's the issue but I really don't think it is if I said that's both x and x yeah no that's not it like I should have just the normal and the tangents like that's the better way of doing it so I will keep it like that because it's much easier to deal with normal changes rather than tangential changes so how do I do this properly if I set to local that does not work like I should just be able to invert the rotation normal or wait nope that's not it I'm just going to keep connecting these until it works no why why why why it's not in local space the position is being derived from the other thing let me go and put this no that that doesn't make too much of a difference okay let's ignore that well no we need both of those both of them will work as intended okay we check this yeah no still not working let's reset this to be zero and see where it goes wrong so if we do that we can see oh that is not great so why is it bad why would it be rotating like on on the side like if we just plug that into the output there then just take a look at it huh that's rotation current yeah oh no I put rest into there okay so if we do that we can see that happens then if it goes to zero we can see it starts to freak out more and more which is not great that seems solid but why is it so okay do I just store as a querian like do I just say hey you're a querian now and then we just invert the stuff based off that I feel like I should at this point let me let me take a look under the hood like if I had the axes to rotation note it would be easier but these nodes should do the same thing oh and that's a by tangent no we want that to be tangents okay okay okay okay let me also rearrange these for the billionth time so that we can see this a bit better okay so that part is clear tangent yeah okay that should be fine I hate rotations like if we do have this just be a quadan and plug that into there have this be uh to rotation Oiler to rotation can see that that does not change intriguing H and unfortunately there still isn't a um rotate rotation node with the actual rotation stuff which is unfortunate so we have we kind of have to use the rotate Oiler node ah this is this is annoying but I'll figure it out I I need to I need to do this like if the Matrix data type is planned on coming around and I think this would make this a whole ton easier but we'll um you know let's not be in fantasy land VI layer attributes aren't even like object and view layer attributes there isn't really a plan in those coming around so that yeah well wait why did I say that um we're still trying to get the basics like UV tangents we don't have those they were planned and then they're those are dormant there are a lot of things like it's UVS in general curve to mesh UVS there's still not a good way of getting those UV tangents you have to build it yourself by referencing actual coding but I digress yeah this stream probably won't be saved I'm just uh trying to Brute Force this even though we had a version that like semi- worked with even with the old tangents so if we do that like that should not affect the rotation at all okay why huh invert [Music] rotation huh what the Pivot Point seems to be an issue but that can be fixed I don't know it's looking solid besides the Pivot Point issue H I am surprised also do I do do I offset the position and then the rotation oh no no wait I can't do that because of yeah yeah order of operations so if I set the pivot point to be just the instance position we can see that that works fairly well okay so we do technically have that part working I might not need that invert rotation node which is might mean I just need to flip those around but that does work okay so I'm going to take a mental screenshot of that okay okay so let's try to get this to work without the invert rotation no let's try to simplify this doing that and that okay that does okay crisis averted now do I even need [Music] the shoot or actually no that that does make sense it's still it yeah no that's yeah yeah yeah that that's all right I'll just keep this here just in case just in case invert rotation cuz I want again the rest position to not meddle with anything actually is the offset like has to be anything other than why would that I really don't want to store the tangent in the normal but it feels like I might have to feels like I might have to cuz apparently Oilers are just evidently not cutting it whatsoever has to be something just other than zero H or maybe it's just because no has to be because of that like it would be nice just to take the tangent offsets between the two and then just transfer those and the normal offsets transfer those and then turn it into a rotation and post but finding the difference between those two might be a pain I love these live streams I have learned a lot thank you um I don't recommend using these tutorials for reference just because they're um not great for learning material I should say oh no wait that other one was correct because I physically moved it up so we have that scaling as we can see works as intended so again the goal is to make it so that um all that just works straight up we can deform it using say an Armature or a Sim then it will just function correctly which in hindsight I should go and put this into another node like have our start information in another node then I could put like an Armature thing in there and then it should be fine or I could do another semi smart thing and just have one version of the mesh that is still still and then have a version oh yeah no I could do that and it'll be just fine so this will be um deform mesh still uh deform mesh still and I'm going to have one that's active so these will just need to have the same topology I can rotate it deform it all that good stuff and I'll just go and reference the moved position the form mesh moved and it won't be that it yeah we won't need to change too much I just need to use a set position node then a sample index node set it to be Vector position in x no IND okay okay you want to be like that okay index here we go very nice plug that into there and we should see that now that will follow follow the moved deform mesh so we should see those two should match they do actually mesh moved and then mesh still yeah that that's better or mesh deformed there we go so now if we do that that'll work just fine and the deformation I'll just go and plug that into there and I can just go and squash this into something smaller there we go yeah okay we're almost at an hour and I should call it when we get there but oh well so again the goal is so that I can have our moved mesh then it just follows along even though it looks like that rotation there is not moving it's moving a little bit which I'm not entirely sure why oh well well um let's throw in a deform a simple deform modifier so again let's switch this to be wire bounds cuz that might look there okay and that plane has just been sitting there for a while being like hey uh could you actually use me getting kind of lonely here so that's the goal so that we can have something where the parts what the hell what is going on with that one and if there oh that's why okay so if there's absolutely no deoration it's just like I'm going to break so if I just have this be anything other than zero oh wait it's not that no it is that I just didn't make it there we go so it just has to be just a little off just a little bit of inaccuracy and then it's like I'm good now ah lovely okay but that does mean that we could in theory get rid of those nodes but or no just that node but I don't think that'll be necessary okay so we stored the rotation there then we have this right here so I will keep that rotation Uh current yeah rotation rest okay so that's okay now I should probably label this position rest but I like having yeah how how should I name this like I like having the Chang name be first but so that they line up in the list uh should be fine okay let's make the naming convention right let's make this rest rotation because it's like okay that's that and then R oh rotation okay good and then this will be C current yeah that's better for context like even though we can't see rotation in there we can assume current current rotation so let's put that in there current rotation and then uh rest rotation there we go is that better I don't know probably not but oh well oh well then I'll just do Oiler to rotation I hm I'm still unsure yeah let's just have this be a vector and I can plug that into there let let's see if that if it still works it still works even with an Oiler uh and I'm still unsure I still feel like I need to buy tangent in there in the mix it's yeah I feel like we need it so I'm going to just try that I go back and forth so often in this that I'm intriguing you can see that that does not function okay okay okay um what was I doing again yeah that should be fine okay so if I set this to zero we can see that works well let's switch this to bend the bend node actually worked oh no no it still didn't really work the bend node the the simple deform Bend options don't do what you would expect okay we can see that the offset is still a little bit janky and yeah I'm going to assume that that's just result of the rotation and I could rotate the offset but I really don't want to actually wait a second oh wait that changed the Pivot Point actually no it should be fine I need to rotate the offset to the plane and then add that to the offset that's right there so this will be interesting maybe I could use a geometry proximity node but no this will work just as well so I need to do that and then rotate Vector fortunately I'm going to switch this back into a quadan just so that's okay still so if we do this and then plug that o shoot shoot shoot shoot oh wait and then I need to add it into there let's see if that works looks like that is a little bit inverted it's trying its best oh god um it looks like it should be working like seeing that it's like oh yeah that that's working that's working as intended if we just do that and then we feed that into the offset that's does that Which is less than ideal H I need to think about this one is if we have the current position be there as the pivot point and we should see that that happens as you would expect like those rotate and then I should just be able to scoot them over and they should be fine so this should work perfectly and it's not ah classic Geon notes you think it's going to work perfectly but then it's like no on the plus side the orientations do seem to be good just not good enough by my standards let's let's put in a here's a good example where where's wave there's wave okay I should probably make the mesh bigger but then again I can't do that because the thing oh dang it cuz I well no I could do it I would just need to go and like scale it up by two and then subdivide it which I could very much do S2 W subdivide which means that for the mesh still I need a scale to subdivide so if I set the actually here let me just go and yeah let's not let's subdivide it but not um scale it so we have that here we go we can see that the instances are rotating and they they seem like they seem like they're working we doing a little hop skiing a jump but let's see um fall off let's make that just uh H 3 m is it so we have something like that and if I turn off outlines which I probably should have turned off the margin on those yeah okay okay this could this could work we have a version that mostly works let me label all this rotation uh offset uh position uh pos position there we go oh wait a minute oh wait I think I know what's going on when the Pivot Point changes that might mean that the position of the the instance moves as well that is less than ideal okay so that might be a problem so I may need to store on the instance domain like it would be best for me to store the data and then do that but I could just store our position just to test if anything changes then oh no wait uh that needs to be position okay and anything changes here let me turn off the uh fall off there we go so if we do that we plug this into nothing changed something changed okay now we're seeing that that's and then okay so I only need it on the offset one that is good to know like I need to set the actual position last or do I I think I do we don't need that yeah no I so I don't need it on there or there I just need it on here this this is a head scratcher Big Time rest and this is Currents it is a big shame that the rotate Oiler node I'm assuming it's an Oiler problem where it's like wait I don't know what to do with things are just zero and zero so I'm just going to freak out a lovely so we should see that that is working like it's following the mesh so much better now okay so uh what if we were to just uh scale this up by good amounts we can see that if we do scale it up that the uh deformations are working so the rotations are doing their thing and the things do look pretty solidly connected which is good and then if we do that that does that that's good so let's um let's expand upon our current uh system what's this one again oh it's the source Cube okay scale that by two let's go in up the anti a bit subdivide subdivide here we go cell fracture let's go up to 600 okay now now that it works we're doing good it's been an hour which means that that's not the worst time for figuring out a new technique but it's not the best time like with the amount amount of times that I've done rotation stuff before I never really enjoy it but that's understandable no one likes no one likes rotations let's go and hide both of those and then we'll just swap out the moved collection so if we do that we can see that that does the the parts still feel too big in my opinion but it seems to be all right let me turn on uh cavity both uh no I just want World in this case there we go rotations are working if we look underneath here we should see yeah they they're working they are working and then let's say let's throw a simple deform on there simple deform so we could do that and then it's just like whoa look at that like you don't want it to move too much it would be nice to have it solid but the real power with this node which I could just make this a node now like just package it up say you're good it's just like okay oh wait a second I just I just remembered I made a node oh no it doesn't do exactly this so I'm in the clear I'm I'm still in the clear uh okay yeah it's still good so yeah I just need the r position to be put in there which is good so need some cleanup but it's all in all not too bad it does need a rest position attribute which I could I could rearrange I don't know which is better to have a rest position attributes or for it to reference a rest mesh for it to be like okay that's where it is where it's not moved so that when this does move I'm still in the clear I'm not sure I could still subdivide this and since this is mostly procedural we're still good needs to reference a UV map which I did want to avoid but all in all I think it I think it was necessary tangents need to be flowing in one way especially if the mesh is deforming so I think it should be fine it should be fine okay um anything else anything else I do want to look in here again I forgot that I I forgot to delete that from the name uh from the main one you do have offset Corner in face and it does OP that all that oh yeah I forgot that this doesn't exactly work on the vertex domain but it should be fine cuz UVS aren't technically on the vertex domain they're on the face Corner domain oh well yeah I think this one it should be fine like it's not should I get the rotation on the faces and then it transfers it from no cuz I want it to be interpolated I could do it though I could do it where I just put it on the face or face Corner domain like we can see there's a difference but the interpolated version would probably be better oh shoot that yeah no that would cause inaccuracies cuz any interpolation actually no it should be fine because I convert it into a querian before the interpolation happens so we're in the clear I think it should should be fine should be and maybe I should store the rotation offset as a named attribute before I put it through we'll see about that let's see could do this lot of interesting things it is funny that the main input here is just like that and then the rest is just one big node group where you won't need to change basically any of the settings so it should be fine like these could be node groups but keeping them exposed is the less node groups you have in the file it means that this thing isn't super huge like here it's only two because we need that UV tangent node so it should be fine that's the one thing there needs to be a bit more organization in this drop down because just having like once you start playing with a lot of node groups with a lot of assets it just becomes huge and the good thing is now in 4.0 and 4.1 you can search for the ones that you want which is really really good so you could just avoid that group entire the group searching entire but you know okay and we can also just scoot it over and that's good so now we can deform essentially any instance it should be fine so if I were to say put let's put the monkey becoming a little out of breath I've been talking for too long doing too much math but there we go so here we can see ah and since that was on let's switch that back to point there we go so here we should see that yeah we can see the difference between the real monkey and the deformed monkey and that the rotations are smooth oh that's working as intended so let's just have this be on the surface I guess that would be at like 0 0 so when that hits that should be fine so now if I disable that we should see that is following very well if I were to take yeah this has many applications besides just the one that I'm doing right now it's also funny that this middle one right here it's so incredibly centered that's not moving whatsoever it's just picking that and it's like okay no movement I'm good H okay so possible improvements could be to get the bounding box well no I would need a 4 Loop for that I would need a 4 Loop actually yeah oh if I had a four each Loop this would be so much easier because I could just get the bounding box of each of the cells and then deform those and then it would give me a more accurate representation of all this it would be more expensive but I think it would be fine either way like this is just getting one point points per instance and then doing it so it be like the surface that's on it's not a plane it's just one super duper small points so yeah this is this was a good learning experience painful as we can see by that uh this will be rotation offset oh and I spelled that wrong there we go okay good yeah cuz how else would you deform a object on a Surface like the downside is you basically have to clone a collection for it to be affected but it works the same now if we do that we'll see that yeah it just goes to zero that's pretty funny we go to original is original fine no we want it to be relative yeah so we just have that that's really funny okay so that's good I also want to try this with a different kind of object so I'm going to go and move this into another collection so here I'm just going to go and uh how do wait let me throw on an edge split split okay oh wait that edge split needs to be zero and then I'm just going to extrude it down by a bit wait I'll I'll yeah I'm going to throw a solidify uh solidify there we go yeah should be good I'm also going to change this to be uh textur let me move this into to collection 4 contrl a now I'm going to hide everything else because I'm going to go and separate by loose Parts origin to Geometry origin to oh way I'm still in edit mode to Geometry we go and oh I don't have the origins there there we go that's much better isn't that nicer so now I can use I can deform this all those cubes based on the other thing so let's go and plug that into our system collection 4 okay as we can see it's not it's not accurate because it's referring to the absolute middle of the face which I wait a minute I could just get the face rotation and it would be easier oh wait yeah but then it wouldn't be interpolated so wait I need it to be interpolated but I can interpolate from the faces wait should I do this on the faces should I do on the faces cuz I wouldn't even need that UV tangent setup well H shoot shoot I oh dang oh dang dang wait huh or I could just do that and it might just work as well but the other there we go if we switch it to the face domain we can see that it's now falling pretty accurately again in situations like this where one verticy goes up over the other it won't work interesting that's why we need the enum socket type so that the user could switch between the point and face or face Corner domains like I'll keep that on face because um when the thing when blender is going through all the lists of data for every face there are four face corners or if it's a quad which means that if I were to select face Corner blender would have to go through four times the amount of data the amount of numbers which isn't the best so that's the the best compromise I would say but yeah we can see that that works pretty gosh darn well okay let's set the fall off to be 4 M yeah we can see that that works and the reason I didn't just go and make a rid of instances and then have it just work the other way is because I want this to work on you just have a collection of cells you have the deformation object with like a rig or something like that and then it just works in the famous famous words of Todd Howard it just works so in the spirit of that uh let's go and turn this into a nice easy to use asset yeah let's do that let's see that's when user controls become more and more of a pain okay like I guess the only real user control that I could just put in with no guilt whatsoever is the collection that's currently being moved and such so I just put this into there and then I'm like okay wait why is that labeled ID that's weird is that just because it's the type of in interesting but if I do that now I can have multiple collections doing the thing so I can set it so that I have both being deformed at once as we can see looks funky but looks cool but then I don't know like the object that's on how should we um how should we do this like all these should reference the uh the rest position but it doesn't really need to just because of the order of operations and such I'm going to reorder these just so that the lines are more organized oh oh wait okay there you there you go so we have that that and that I should put this into a frame it is a shame that um yeah it's a bit of a shame that um the rotation was such a pain in the butt cuz ah this could have been so easy it would have just been send it through but hey better late than never better late than never okay this will be uh collection and maybe I shouldn't have actually is the delete attribute here do we have the attributes let me take a look attribute oh we oh yeah we can now remove named attributes wonder if that was a 4.0 thing but now we can just scan a ton of data which is really really good so now I I can use named attributes without worrying about them okay let's see do you read the chat well if you were here for the previous 30 minutes you would see that yes not to throw too much shade but yeah I do read it it's just pretty interpers because I'm so deep into the math but yeah no worries though um yeah I should probably catch up on it let's see I have recreated about 10 of your projects it's it's been difficult and enjoyable well if they're from the live streams then yes they will be difficult because I'm going at speed this is when I'm like okay let's figure this out let's just go do all you know the uh the mistakes and such it'll work but you know let's see there's also the index switch which is very nice and we we'll probably also be getting the uh en switch which means that we might be getting the enum socket type at least for the uh index switch which we'll see uh about that going forward like for implementations just me being a UI designer with absolutely no credentials whatsoever um like on the actual nodes it could be like oh um show enum socket so you can enable oh I can pull that into there and it will be fine rather than having just so many inputs or maybe just like a phantom like a very dark like gray out socket where you could just connect and then it's good or just have it so that you could connect an inum socket to here and then it just works having a visual icon is better but not necessarily necessary um okay would love if you did live streams when doing research for some of the more advanced projects this is one of them but like with some of the more advanced projects like the rigid body physics and such I'm constantly referencing outside material that you all would not be able to see because I'm not sharing both my screens at the same time and YouTube uh videos and such I reference a lot of stuff trying to figure out the math because again I didn't go to school for coding engineering uh querian or anything like that so I'm very much figuring it out as you go I did not have a stellar math education whatsoever so I'm very much getting up to speed in a very practical way I learn what I need when I need it well I I guess I should specify not necessarily when I need it but when I'm curious about how something's done I'm like okay let's research that and as you can see it uh it manifests in interesting ways okay so yeah let let's do another let's do another version of um this thing like I do want to make it so that just like the deform mesh that is a simplest way to use it so the the form uh there we go the deform mesh I'll make a external thing so the deform mesh and the then the formed collection so or should I yeah how should I do this now it makes more sense oh wait yeah it makes more sense for us to be able to reference yeah no it it makes sense it needs a little bit of Insider knowledge for it to work and then there's also the UV map that I need to reference like if this was on the face domain it would be like I wouldn't even well interpolations I keep forgetting about the interpolations but it should be fine let's see um yeah next we're going to start generating planets populated by empties I could do that um and then this will be i y y okay okay deform mesh and then this will be um UV for tangent that's basically all I need I will put a default value in there for that okay like as you can see here if I hide the offsets there are no parameters that the user needs to move around so this is just a completely solid um thing so uh rest or I'll label this original positions original position yeah should be fine just need to put that in there I know I'm just differentiating that from the rest position that's used in there it should be fine but yeah now the user would never have to look inside of this node again except uh to flip it between face and points like I could use the index switch no well no we don't have enes yet I could switch between different modes like I could just have two versions of this one's on point one's on face and then just switch between the two I would even yeah I wouldn't even need the index switch so I could just do if I wanted because we don't have the en socket type we could just switch from that to there oh wait no just a regular switch there we go I could just do that and then the user would never have to look underneath the hood ever again which is you know good good design I would just need to make sure those two are in sync uh because this is the only data that is more accurate on the face Corner domain in the face domain because of the normal the normal is derived from the face the tangent is derived off the face Corners technically but yeah it's another bit of pain and clunkiness but you know what I'm not going to worry about it right now and that's okay points and points and that's okay it'll be like this where you know if the collection isn't quite aligned it's perfectly you know it'll look a little bit weird with squares where their Origins are at the middle of the face but that's okay that just means that when when you have your input mesh you should make it you know like like this or wait a second um wait what oh right yeah yeah yeah yeah yeah yeah okay yep I didn't move the original yeah okay yeah I would need to move this one so if I do that we should see there we go we should see here that the rotations are a little bit better not much though huh that would be a little bit better maybe I should store on the other domains like it would cause a snapping it would cause a snapping that that is wow quite the quote it would cause a snapping effect whenever you would go from one face to another um H where does your understanding of geometry nodes come from experience or some other background I would say mostly experience at this point I've done this for 3 years now two well two years technically because geometry know they had to redo it because the old system was kind of not great so two years uh I've gotten used to it but if you know the Shader editor the if you know the workflow like the vector math nodes and stuff you can bring that into here because in my head I'm just seeing colors as I kind of showed much earlier in the Stream it's like oh this part's blue that means it's going up the tangents the tangents look like that okay that's good and here we can actually see it being on the uh face Corner domains on there if we uh look at it when it's originally there we can see it's black but that's technically in the negative which is kind of a downside of um that but we can see the normal is blue which means it's facing in the Z Direction and so on okay like another funny thing about the location XYZ another programs Z is forward oh that's really freaking weird but that does make sense why I would do that um what was I saying like um Houdini is uh y up and then Z forward which means that it's like okay uh if I were to move this it's like oh we go this way we go this way and then that's up but then that means and then like Z is rotating around the Z axis and all that good stuff but then would be like okay this is on that plane this goes up and then the bottom one goes forward and it I get why blender did like I understand both Fields like both ways of understanding like XY like on a regular math plane it's X and Y and then they just see Z as the third dimension like this but I think in 3D space you know you could always see it as okay you're doing your equations on the floor I guess or on a piece of paper and then you do that and then it becomes 3D so yeah I do like that piece of paper analogy I don't think that was original for me but doing math on a piece of paper and then in 3D it's like it's in the real world yeah it's fun importing models from other programs and the rotated oh you have no idea my job one of my jobs consists of me doing importing exporting objects from other programs into blender out of blender everything like if you've ever had a cad model that's scaled by 100 times and rotate the wrong way and all the origins are at zero for every single in 3D everything's held together with duct tape everything is that that's what it feels like when it comes to other programs talking to each other like formats and standards it feels like it's held together with duct tape like it's just barely holding it together if one thing's wrong like if the one of the bones in an animation is scaled to zero it just like sorry we we can't import it one the bones is scaled to zero which I have a theory on why that works in unreal but I'm not sure and if I'm correct that is so hilarious basically when you scale something to zero you can't scale it from zero back to something you know divide by zero multiply by zero it'll you know errors and all that good stuff but that must mean that if a scale goes to zero it'll try to go from zero up which I guess can make sense with interpolation kind of but still a little bit funny that's like using real real scale Google Earth segments I did that once but that does that that makes sense in a in a way like you really forget that the default cube is taller than a human you forget that this thing is 2 m tall like you assume that it would be 1 M but the with the way the default cube is set up they say oh the radius of the cube is one same as the circles and such rather than the diameter so this this is a Minecraft block this is over half a human's height but then the regular default cube is taller than a human the monkey like if you if if you were to place this in real life this would be taller than a human like just think about that take yourself stand up and then say Oh the monkey in blender is taller than me at least standing up as it is right now blender scale just feels very weird because the reference objects are not real world scale which is why I think there should be like even the um where's the teapot extras the teapot like this teapot is bigger than your Curr in than the room you're currently in I'm assuming if you live in a standard room or no well it's bigger than well okay it's almost the size of a car like you would think oh teapot like that that could just fit on my desk no it's as big as a car because actually wait I I could bring a human in here but I'll just leave it be like here let's make this the proportions of a human humans are usually a bit shorter than usually a bit shorter than 2 m so I'll just do that like that's a human that's the teapot that's a really big teapot yeah and that's technically with the extra objects add on which I have enabled but yeah things in blender are scaled way too big by default like if you bring a real teapot in here it would just be like this big it would just be like that that big okay uh I do want to do one actual good context example of the setup I have here so yeah let's go and do that before the stream is up okay um yeah yeah yeah okay so I'm still a little bit annoyed that has to reference another mesh but it's okay then the deformed collection isn't another thing that's necessary okay but now fortunately we don't have to look in the geometry node Editor to do the rest of this so let me go and copy this or no not that one um let's have a new collection for everything so we have all the old collections let's go and hide all those we don't need you I should probably make it so that there's no collection in there like um it'll just default to the original mesh that would be you know good UI so I'm not going to do it right now but let's have this let's oh not we don't want to extrude Let's subdivide is that enough subdivisions I think that's enough so that's the still version of the mesh we need the deform this will be uh deform deform there we go and then we need uh let's turn off the thing on there this needs to reference why did it reference itself okay deform there we go so if we do that okay that'll be good and then we just need our collection of a ton and I mean a ton of cells let's have another collection for that hide everything else just go and subdivide this a lot so that has to have a lot of selves uh cell fracture let's bump this up to be 1,000 why not let's throw a little bit of recursion let's just throw everything at it right now let's wait for it to cook oh yeah that's a much better amount of oh wait I forgot to do something Escape oh wait I forgot to set the margin to zero or was it zero well we'll check on that after does its thing all right I also wanted to put in physics to make this work but we're oh yeah we're over time we are way over time let's see I've used blender quite a lot with VR and yes things are definitely bigger than you think oh yeah I've used blender and VR uh a few times which it's actually interesting that the default uh blender VR thing even though it's just a viewer like you can't edit in it it's actually okay it's actually pretty good but I used it to do look at some medical scans where uh it was semi volumetric using a system I built actually how is the H nope those margins are way too big for my liking so let's go over here cell fracture margins yeah let's make that a lot uh apply split Edge no uh offset material interior view group yeah that that'll be good just just in case I can always set the materials to be something else okay let's run it again I should have picked a different seed but it's okay okay why do they choose meter by default because if you well one blender is made in Amsterdam in Europe so they use meters but every single well most math programs use meters because meters are good uh the imperial system is not good going from 12 like okay 12 in to a foot 3 feet to a yard and then however many yards to a uh mile and then actually no yeah miles uh yeah but with metric you go from centimeter to decimeter to meter to kilometer to is there a thing bigger than kilometer I would assume yes but I don't know the name for it but everything's in multitudes of 10 which makes it really good for 3D programs and humans because if you want to change the scale of something you just move the decimal place instead of doing okay this is in inches let's make it real life size so let me multiply it by 12 then by three then by that and so on or yeah maybe I want to to change a Google Earth think it's something small enough to be 3D printed instead of going from okay let's divide it by 1,760 things to put into yards then divide by three then divide by 12 you just go okay divided by 100 oh there we go good but yeah metric is better than the imperial system in pretty much every way I wish America ran on Metric but uh that's what we call Legacy code uh America has had the imperial system for so long we cannot function we can't trans it would take like half a lifetime to fully transition and that's just a theory let's go and plug in our sixth collection into there so now we should see we move our deform collection yeah like the only only part where I kind of like the imperial system a bit more is with um temperature oh that looks so good like that is what I was going for just being able to go like that and it actually tangents I'm going to assume that that's where the tangents are freaking out H that's a bummer but that's actually making me realize that [Music] um I should store it on [Music] the oh yeah this is this is interesting yeah that's probably a tangent like since that's a corner and then I have the tangent on the that man yeah okay let's uh let's do a little edit it's so close to working it just needs to go a little bit further here let's do that like that's what I meant to do you could just pull it apart and it'll do the thing okay let's do just a tiny edit should be fine so I just need to do that and then evaluate the normal on the point domain um evaluate on domain yeah this should be fine let's make that a vector okay should I just copy it for both like another thing that I could is I could just go and put the references um like I could just go and do that because the references are technically the yeah I'm going to do that just so that I don't have to change it both times I'll just have it reference the same data I'm a genius part-time parttime I'm such a genius that well yeah there we go I'm such a genius that I did something completely unnecessary there we go so we have that this will be um rotation so we just reference it before and after the thing and it should be good there we go like that's a lot simpler that that's the best way to do it interesting bug with that though the frames have been having interesting bugs uh recently there we go so yeah like that's how it should have been from the get-go like look how much smaller that is like look at that that's not bad uh just figuring out like the tangents are actually wait I could just if I want to make this even simpler on myself I could just do that there we go so now it's only referencing the UV tangent and I could easily replace the tangents that's good I'm happy with that okay this should have been a lot easier for me to do but it's all right we got there in the end oh shoot uh face do I just put this face yeah I guess we'll have to put in the face Corner because the face Corner kind of yeah there we go uhoh looks like we had a little oopsie why maybe that's just it going to zero again I yeah I'm just going to assume that that little error is when the little error compensator that I have here goes to zero like I could convert this into an axis angle thing but unfortunately I don't know how to do that properly so yeah let's see o yeah no no we don't want to do that uh let's let's go back to here okay we got there in the end so yeah and we can see that over here since the normal is is being interpolated we can see that that part's happening which is planned but it still feels a bit iffy okay I I was saying something before all right the the only thing that I I like about the imperial system is that the temperature range is a lot more varied compared to Celsius but then again temperatures are all kind of relative to something uh and also by the way metric is based on the speed of light in terms of distance right or no wait a meter is physically based on how far light moves in a vacuum over a period of time so it's mathematically defined well with the imperial system at least for the longest time it was not based on any universal principle I like being a nerd okay it is nowadays that that would make sense it would make sense and it would be fairly easy to do you just say hey however much light moves in the vacuum divided by this amount Imperial is based on Metric oh oh dang that's a big oof Imperial is now based on Metric o that's a big oof your uh your measurement system is so bad it has to rely on another measurement system the mirror was changed slightly in the 80s to match the speed of light that makes sense because you could always the light light is always going to be a constant we hope like the only inaccuracies would be from like gravitational lensing but that should be very very little anything else like we can see that this is working like I could just have it so that it's like I put like rebar in there and it looks like the rebar is stretching and stuff and also I could in theory make it so that the parts will the instances will stretch as well in the right orientation potentially but that is for another time like one idea I had was to make a character made out of a ton of rocks and then have the Rocks all to form you know kind of like U Thor Ragnarok not the not the other Thor movie that one doesn't exist that movie could have been good it had good elements but they just failed to bring it together two movies were mashed into one but yeah Thor Ragnarok the good one um corg from that one I could do that just have a ton of instances that are pre-baked like generated so that they don't have to be recalculated every single frame and then they just get deformed by a deformation mesh I had a stroke spelling solar I see that that that's pretty fun hey no worries like you see my spelling that like that's mostly because in my room it's a little bit cold my I like keeping my room just a little bit colder but that does end up making my typing a little bit less uh not quite as good I noticed that in the summer my typing is way faster than in the winter which is very funny but yeah it's like when um I don't know like your like base impulses like your muscle memory gets a little bit more funky when it's a little colder out it's only like a difference of like I don't know like I don't know what the temperature is in here at the moment it's not that cold it's just a little bit yeah um okay so yeah that part Works should I deform this by an Armature should I deform this using Geon nodes I could try a few things to make that work like I think I think an Armature would be good in both situations H let me think about that one cuz I could just have it we're almost at 2 hours I need to cut back on the streams by a bit um but yeah having like rebar inside of the concrete that'll look good like this is just like and maybe having like I could put more instances in there and that would look even better like this could probably hold up to like how many instances like this is just hundreds I can do thousands tens of thousands and it would still work okay could I do that in theory let me let me go into here where is that uh yeah we have this which actually that one was also being deformed I'm surprised that didn't show up in the other one but I could just go have new new Geo node where I just instance a ton of the rocks in there those should work just fine or no wait no instance hierarchies don't work the same yeah yeah that's fine I could just Implement them into the Geo node set up but I didn't want to edit that oh well like I could just go into here make a lot more instances scale them rotate them all that actually I'll do that simple enough I'll use a transform node and scale the like I'll rotate by 90° scale uh scale the instances down so that they're you know quite a bit smaller maybe a random well should be fine then I just join them into the fold there we go so now we should see more particles in there I can just do that again and again and again using the repeat zone or no way uh duplicate element duplicate elements I could do that and then just give each of them a random offset uh yeah not all too necessary but I can no that's a really dumb way of doing it I could just instance on points and then make the point field whatever I want so ton of points points there we go set this to be random I'll just decide where they are an instance a collection we go so if we do that we we should see that this is a bit better we go this will be oh and then reset only that one and this one oh that's pretty interesting it's always filling the volume uh this will be negative 1 by 1 and then it'll be2 there we go so we could do that SC scale them down then maybe move them inside the bounds a little bit actually I should just multip apply that cuz it's an even bound even bounding box just do that make it so that's enough on all the sides so that they're just not poking through there we go so I could do that so that looks a little bit better put a few rebar pipes in there and then there we go like there's no like I could add in internal vertices and that would add in a little more structure to it but yeah like there the point is to make it look as good as it can be so that when it deforms it looks proper and cool uh okay so speaking of deform let's go and move this back down to there that is not accurate oo I messed it up okay no that's fine let's see it's a oh it's only okay I'm going to stop before um um 2 hours so thank you all for watching I hope this was at least a little bit educational like look at that there we go with that um that float Point Precision error I'm assuming hopefully when the new nodes come out or when I figure out how to uh get a difference in rotation working with an axis angle thing that could just be done to replace this node because Oilers apparently are not that great when uh when doing that like if I do that let let's just see uh what if it still glitches oh that doesn't glitch that's nope still glitches okay okay just a little float Point Precision error oh well I'll I'll figure out a way around that let's see let's see okay that's good um like having a system that can do that is really good because say if you have again if you want to go and shatter like a car window like you want those sh like you know how car windows at least the front windshield has layer plastic and then the shattered bits you can now deform the shattered bits after that happens which could be good yeah there are quite a few ways where this could be useful I do want to try this on like big buildings where it's like oh the building at least part of it is crumbling a little bit so I could do that okay thank you all for watching this project was a success I still need to do uh a few things making a good practical example of it but we can see that it's pretty good let's do a stretch oh there we go a stretch node so boom and then boom and then I could just go and scale it like that so yeah thank you all for watching and I will see you all next time have a good one
Info
Channel: Cartesian Caramel
Views: 1,971
Rating: undefined out of 5
Keywords:
Id: 2eOBImKbWN4
Channel Id: undefined
Length: 119min 45sec (7185 seconds)
Published: Fri Dec 15 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.