How to deal with skirts in VRChat

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi everyone who's tried to make a skirt with physics into VR chat knows that skirts are kind of a pain to deal with so here in this video I want to show you my take on how I made this skirt work in VR chat I start off by making my own bones and rig and white paint if you already have a model that you're happy with the rig and with the weight paint you can skip to approximately 8 minutes into the video okay so how to make your own skirt bones and weight painting in a rather easy way first I'll go into the orthogonal view edit mode and duplicate the hip bone doesn't really matter where it's positioned I'll put it here to be easier to select I'll name it Roots skirt and parent it to the hip bone make sure to keep offset um from here I will hide every other bone just keep this here and extrude it will name this skirt one one uh and the bone properties make sure it's not connected and put it approximately where you want the skirt physics to start make it one bone from the very start to the very end make sure that it's also in the middle so X position is zero and now we can also hide the skirt root good now that we have this we can subdivide this bone subdivided two times so that we have three bones in this chain in the this setting here we should change the display as to envelope because we will use envelopes to do the weight painting for us how do we control that properly if we select the bone we have a radius from The Head and the radius from the tail here I will set the radius from the first bone to 0.01 then 0.02 and make it like a chain downwards 0.03 and here 0.04 and then the envelope size is basically telling us how big the envelope is or like how big the radius of the whole thing is when we apply the weights so I found it to work pretty well when we use a radius envelope radius of 0.03 you can just select all the other ones and then copy to select it and now we have one chain of bones for the skirt bone with proper envelopes so now we can switch back to octaville mode I liked it a lot more and now we can duplicate it go to top orthogonal view duplicate it and yeah depends on how many bones you want just duplicate it and put them where they're approximately should be make sure that they're somewhat spaced evenly now we can go to the other View and make sure that they are actually rotated properly where they're supposed to be okay you can probably make this a little bit prettier but for the moment I will be fine with this so now we will name them uh like this I will do skirt one two copy that skip one three then skirt two one L and so on we need that L at the end so that we can symmetrize it afterwards now that we've named them all we can go ahead select all of them go up here Armature symmetries and now we have proper skirt bones everywhere with good names and good envelopes now we can do the weight painting make sure to separate the skirt mesh um separated like this because otherwise for example my tail would get weight pinning to the skirt bones as well or this thing we don't want that we only want the skirt to be weight painted to these bones so I will hide the rest of the body and the easiest way to do is to go into pose mode first and select like hide everything else that only the skirt ones are still left in white paint mode it's a little bit harder to select that good go back to optic node and now weight paint mode I still have the tailbone here good now we have this we can go ahead select weights select all the bones weights and assign from bone envelopes and now we will have weight painting applied according to the Bone envelopes that is very harsh and not ideal it looks very um not smooth and you move it now so we select all the bones weights and smooth by default it will say active group here I need to change it to selected post bones that will do it for all of the selected bones and you want to increase the iterations to quite a bit you can mess around with it I'll put it on no effect or 0.5 let's do like six iterations Maybe this is usually also 0.5 um you can mess around with the values with what you like house move it looks like but I think this should be okay for now so now if we move that it looks a lot more smooth and the weight paint is all there now it might look a little weird at the top whoops because there's white painting here so if we move it up the skirt is kind of going inwards um so to combat that I use the gradient tool set the weight to zero and uh I just drag it down so that there's not that much weight at the top I just wing it here there's probably a way to make it smarter and more even but it doesn't matter too much okay great now we have that we can join that back to the main body and if we now go into pose mode we have our skirt bones and it's weight painted properly it's named properly and we do have a schedule that we can put the firstborn component on all right so this is what probably most of you people have if you've skipped here and on the model with skirt bones make sure to have a root skirt bone and now we need to do a couple more things in blender before we go into Unity with first bones we're going to edit mode and make sure that you only have the skirt bones visible makes it a lot easier and in these settings enable access that way you can see all the axes of the bones and in order to fully utilize the fist bones we need to roll the bones properly so maybe your model already has properly rolled bones you can check that if the z-axis is facing inwards for me I just created them they're all facing to the back so that's not helping us uh so I will make sure that everything is zero press alt R zero to make sure everything is properly go to top orthogonal view and change the transform orientation to normal and I'll also change this to individual Origins select the whole chain press Ctrl r and now you can roll the bones now you need to make sure that all the z-axis are facing into the middle so I select this chain and make sure that symmetrized this activate it then you only need to use it once Ctrl R and make sure that it's facing inside for this I will just press alt R again and then you can set the number here to 180. and then it's perfectly 180 degree turned to the inside so far so good now what I like to do is disable the axis again is create another bone on top of all of these that are responsible for rotation constraints because I will do everything with rotation constraints I will select the top row of these ones duplicate it and scale it on the y-axis so that's kind of facing upwards and now I also move it upwards on the y-axis a little bit because Unity can't handle zero length bones so then we have it approximately like this now we need to parent it properly so select these bones and parent it to the bones responsible for the rotation constraints make sure to have symmetrized activated so that you only need to do it on one side great so if we now go to pose mode and take one of these bones responsible for the constraint and move that everything should work just fine yep that means we're done with everything in blender and can head over to Unity okay so now we are in unity um I have a model here and we will start off with rotation constraints so for all of these skirt bones that we added I will add a rotation constraint I will add a source to all of them and for the ones in the middle and the front I will add the Second Source good now I will select all the left skirt bones and add the left leg as a source here now we go and select all the right skirt bones and add the right leg to it that means maybe activate all of them first the one in the front and back they will have both the left leg and the right leg added so now if we select all of them and activate them and we were to rotate the legs it rotates the skirt with it this will make sure that we don't have clipping without using any colliders at all but this looks quite stiff on 100 also there's some weird things happening in the back so what we do is we change the values of the weight so what I found to work pretty well is the one in the front has a weight of one then on the sides so let's get two will have 0.8 can actually select both at the same time and do it like this then these I will use 0.6 .4 these I will use 0.2 and for these maybe 0.1 weight the one in the very back will also be 0.1 so now if we rotate the lag the skirt bones in the front will move a lot with the lag and the ones in the back and on the side won't move as much so this will already make sure that you won't really have any clipping going on you can mess around with the values and see what you like more but these are values that I kind of like to use now that we have that done we need to add the physics of course let's go to the Scout root I already have the component here because of course I didn't want to mess around with the values in the tutorial um you can just add a fistband component I use simplified with these kind of values pull 0.3 with this kind of curve spring 0.6 with this kind of curve gravity004 Gravity Fall of one so that we don't have the gravity applied when we're standing only when I'm laying down or sitting or whatever and the mobile 0.2 now the important part comes with the limits because bones that have a rotation constraint applied behave a little weird when there's a Fizz bone so I locked these bones down with the limits you can see that here I'm using pull out too have a better control over how the bones can move but let's just go over it what it does let's recreate this um perf three delete that add a curve good so at the start I make a double click here and double click right next to it select all of these bones I won't control points and set it to Auto clamped now I can select these two hold shifts so that you just move it down and now we have this kind of curve I'll move it as close as I can great so when you go very close you can see that the bones here currently have a value assigned as well we can maybe make it bigger so that you can see it there now if I move this further and further to the right oops select both hold down shift and move it so here's the threshold if we go to 0.3 this circle disappears which means the rotation constraint Bones have a limit of zero they are not allowed to move in that direction all the other Bones have the limit applied as normally so we want that to be a curve I have it kind of like this if I remember correctly so that the further down ones can move more the further the ones up can't move without as much and put it back to our 11 and basically we do the same thing for the rotation the polar setting allows it allows the bones to move very far in that direction so if you spin yourself they can rotate around you but on the other side on the pitch it is very limited so when you walk forwards it won't clip into you and if you walk backwards it won't go really high up so it's very convenient I set the pitch to -5 so that everything is all the limits are going outwards so all of the skirt bones are able to move out quite a bit more than inside we don't want anything to clip so I found -5 to work really well now let's test it by going into play mode I will also lock the inspector on the schedule so I can select the hips and move it around while still seeing the values so everything is moving even if I move fast there's no clipping because of the angles and it looks pretty good in my opinion and even if I lift the lag rotate that it moves along with it can't move it backwards um and there's no clipping here either so when you have full body tracking or you sit down or anything the wind not be any flipping you can still have a look at what the values exactly are doing so if we change the pitch a little bit more like this you can see now they are constantly getting pushed outwards because of the pitch rotation limit um it can move a lot to the outside but not to the inside at all at -5 it can move slightly to the inside so if I go here and do this it can move towards your own body but not as much so it can't clip and same thing is for the pitch if I increase that I move this and move very fast it would be able to go very high up and I don't want that so I am good with 11. all right I don't think I have anything else to put down here it works pretty well without a single Collider um if you have any questions feel free to ask them in the comments and yeah have a good day
Info
Channel: Airbee
Views: 19,506
Rating: undefined out of 5
Keywords: Airbee
Id: kTYWWvWXJ4Q
Channel Id: undefined
Length: 19min 46sec (1186 seconds)
Published: Mon Oct 17 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.