Houdini Crowds at MPC | Mikael Pettersén | Houdini HIVE Paris

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] so I'm going to talk about Krauts and at first I want to thank side-effects having me here and I'm gonna start a little bit about me I'm a lead crowd technical director at MPC and I used to be a generalist in commercials many years but then I decided to switch to film and it was just a coincidence that I happened to be in crowds and I didn't even know that you could be a crowd artist but then I really liked it so I stayed yeah then I just can't talk yes about MPC so embassy pretty big with 3,000 people and we are in London Vancouver Montreal Los Angeles and Bangalore and they also have embassy advertising and they have some boutiques in Shanghai and Amsterdam and New York and probably a few more places I don't remember right now and just if you never heard about us I just going to show you a little reel or we're doing [Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] so here are some our current movies and actually many more than this that I just pick somewhat random yes we do you know small indie movies yeah so Houdini cross at embassy Houdini is actually kind of a new thing at Embassy when I started and they're not even FX was using Houdini that much but then and now we're using it more and more so the first thing I'm going to talk about is why we switch to Dini in crowd because he actually had a really good propriety system in crowd so I'm gonna talk about that and then I'm gonna talk about our core crowd tool set that we developed and I'm also going to show a case study of the film that drove the whole process mm-hmm so and I also gonna get some credits when I started with this project and we actually had done one Houdini movie before and that was alien covenant so they created some Houdini tools for that one and they also created some Houdini tools for the pitch for Nutcracker which is the case study I'm going to talk about but when I started we decided to scrap most of those tools that were developed for that because they didn't really work how we wanted them to rest still need to give some pioneer credits to Adam Davis and feel rules there were creating the first tools there and then also Chris spending was helping with that and he's the reason why I'm here in the first place and he's head of department of crowd remember him he called me up I was working at I'll am at a time at ready player one and he called me up and said I have this crazy show and it gonna be this massive creature built out of mice we're gonna have a big battle and I just want to do it in Houdini and I want you to come over and you should be the lead and I want you to help me to develop this framework and obviously I was there immediately because that was super cool I thought so in the beginning was just me and Chris and I was doing all the tools then obviously we had like a lot of Houdini titties so they did other tools but for the core things there was us too and then later Sam came in and is our department software guy he's been really helpful with pipeline stuff and stuff it's stuff like that and then I want to give a special thanks to Felix and John and not only do they do a lot of cool stuff themself and cool tools but they're also very good with feedback so thanks to them everything looks like they do today and then I'm going to give an additional thanks to the whole Nutcracker team because they were really patient with me a completely broke they're seen so many times when I was updating the tools and some of them also did really cool tools themselves yeah right and so before Houdini we had our own crowd propriety system called Alice and it was actually pretty good as so here are some of the shows that we did in Alice to start with Troy and I remember where we're seeing was before my time but I remember when I saw the trailer for what were see it was completely blown away by the crowd there so yeah it was quite capable actually so while switching from a list then in the first place so the first thing you couldn't handle flying agents that well so a matter of fact when I came into MPC at the beginning it was just because they built this soft marsh system for flying agents and then I was a sophomore guy so I came in because of that and I wrote her on eclis enough that was also around that time that Autodesk cancelled Softimage so we were in this room with disgruntled soft marsh people which was intense and then another thing it's not very user friendly it was very generic errors they broke really easily and I remember just getting through the training in the beginning was kind of a pain and then obviously it was a small pool of artists not that many people knew Alice and it was also hard to keep people because should they invest all that time in this software that was only used at MPC yeah and then it was simulation only which sucks and then he had an old architecture so it was like part of it was based on Mel it has some C++ core and it was all these layers around it but the next question okay so we were changing software but why Houdini and we had a couple of reasons the first one was had an excellent crowd system out of the box point five and since I defects added a lot of features that we really wanted so one of them was for example locomotion if you don't know what locomotion is that is when you take an alien clip strip out the motion of the agent critter in a separate channel and then you drive the agent with that and I have this little video to show what that means so they are both playing the same clip but one of them just have a constant speed and the other one is using the locomotion channel and obviously when you have variable speed that is the way to go and then also we have a nice way of cutting up clips so here we have just one clip I'm just doing all this like sub clips from it so I have an idle to walk and I have an idol everything comes from the same clip and the good thing I'm doing thing like this they star you're going to merge and blend very well together and you can do that with it translation graph which was also another big point in Houdini is really nice how its handle the transitions so here you can see this little chart shows have transition between the different things here it's have an idle and I'll to walk and the walk and I know walk to idle and then back to an idle and the cool thing with a transition system in Houdini is that I don't have to travel first trigger the idle to walk and then a walk I can actually just go and say I just want to go through walk and you can see that here in the simulation I'm just doing an idle to walk and then it walks idle and then Houdini is clever enough so it looks is there a straight path if it's not a straight path then it's just gonna find a path to that state so here it's going to go through through the Seidel to walk States so it's really good and then you can easily do a thing like this so this is just like a 5-minute setup using one clip they get triggered by the box and then they this grid make some stop and obviously if you would do it for a show you would tweak it more and have more clips but I think still think just for using automatic transitions with some using here it still holds up pretty well close to the camera and then of course side effect listen to users and everyone knows that is weird that you can give them a feature request and then immediately in the build the day-after is there and I I don't know how that's possible and then one thing I think a lot of people misses when it comes to when you're comparing different cross-system is that you actually want to see on their agent definition and it's really good in Houdini so you can take almost anything can be a crowd agent and then you can go in and read anything from that crowd agent and change it so I've done this little example here and it's really lame example it's just because I can't show like or actual code for actual tools but so here for example at first I just want to add some offsets with disclaim playing this clip and I have a wrangle and I just want an officer to it said just take the clip time add an offset and then I Drive that from the control over here and so then I have an offset there and this of course is like a really a simple thing but then I can do more so I can go to this it set up this transformation group so I want to blend something with that group there on the left arm and I set up this pose here I want to blend it from said just didn't even get it and post him in like a weird way I want to just have the left arm from that and then it's really easy to set up in vex so then first I just take the left branch and the right branch read the transforms put them into two arrays I also take all the waste and put them into an array and then when I've done that I can just go to the next node I could have that in the same now just for make it clear I just loop through the race and then I do a blend based on their transform weights and also multiply that band with another blend I have on their controller so here I have this blend over here and then you can just blend the animation in here and obviously this is like it's super simple example very just to show that it's quite easy to build tools from the cross system so here I gonna show you this is like a real example of sting I'd know what I did for procedural bending so we have these mice and I want then wanted I'm just the tail to bend and I won't also want to do body to bend and then quite easily I could just build a tool for that which is quite which is cool and I don't know I did fly in mice yeah there they are and then here's another example I did we had problem because we had a lot of mice they were running and I wanted and the tails either got really straight that animation clips and you saw the duplication so this I just added this system to add a procedural motion on top of the animation so first I had just like an animated noise but you also had his position based noise I'm showing here and so now it's based on the position and it worked really well whenever it's running fast and then their third thing that was a bit tricky with this whole thing was that the tails tend to go through the environment because really and so then I wanted to have like a solution for that then I just made this very simple terrain project and things like this is quite easy if you just know a little bit of vector math you can do things very easily in Houdini so that was a strong point obviously and then another thing the fourth thing that people a lot of people don't know you may know it but is that a crowd is always loyal so even if you catch something you can keep working on it so this is from a master class I did a few weeks ago so I have this cash simulation here and then I want to add ragdolls to that but instead of redoing that simulation I just add another simulation on top of it so here I'm adding that's second simulation and now I have these guys falling over and it doesn't even end there I can add post tweaks and this is something we do a lot at Embassy so we used agent edits and then we just add like we keyframe things on top of the crowd so used to be that we have to promote everything to animation and what that means is that you you take your crowd agent and then you promote it or converted to rig that animation can use and then they animate on top of it but now just because we can do this way a lot of time we don't have to promote it and that animation have a go at it we can just keep frame it in crowd which is super powerful so yeah so I'm keyframe his head turner and i know obviously it's great for simulations and so you can combine different solvers is really fast as well like a thing like this you can be just do on your laptop and is stable as well a lot of system had problem because they're building up power and explodes that not in Houdini and then of course we've got a large pool of artists so you could recruit from so now I have all FX TVs as well and that's been really good for us we have lot of people and get knowledge into the department yeah and then one of my favorite thing is it's so easy to debug because it used to be I find with other software if I get an artist and it's broke for some reason they always have to tell me story because it's not that obvious like what has broken so that so then they have to say like oh I rotate the camera I push this button and then something happened and then I like Oh from my experience I know it probably this thing happened but in Houdini I can just look at the spreadsheet and then just go through it so don't know they don't have to tell me anything and that is it's very nice yeah so here's the summary of all that so now we had some goals when we want to do this the first goal was we wanted to be easy to use even on Houdini users but the same time we wanted to be flexible enough for senior artists because there's nothing worse than a black box and they are like they have to use the same workflow that they are not used to so you can override any part also as little simulation as possible simulation is always nice but for crowds a lot of times you just want to tweak a little thing and it a lot of crowd you don't need simulation so we want to add it we want to have that approach to it and also want it to be integrated with the pipeline it should be really easy to get assets and also release it to the pipeline and last of all I wanted to be a modular and easy to expand it's the first thing I'm gonna show here is how it's connected to pipeline and this was Chris baby he did all the user interface so here you can see you gotta gather in assets you just go to this agent gather and then these gather and then you choose whatever agent you won gather yeah and then you go to the Kipp browser let's connect the to our mock-up library and then and all these things by the way they just add the regular side effects notes but yeah it's just packages in this way so it should be easy to get started so now I'm gathering those clips here and then I need to assign them to an agent so take that one assign those and I can assign multiple clips at once and this will obviously create an alien clip note if you've done any cross before and so don't have them and then to create a crowd you create a gem you know that is our name for our crowds and then you have like our specific frameworks but now I'm just creating a doc framework and this is just a standard Houdini crowds you will see when I turn those off and go into this one right you can see it's just the standard crowd setup within your DNA and then when you're done with your crowd you can always then we have this release thing so you create a crowd package and that is the thing we released our pipeline so other departments can pick it up and it also takes care of naming because we have a certain sway rename different variations so this takes care of all that and then it's just and then you can just release it with this big release button down there and here's another example have this kid here and I want to use the same clips that I use for the adult and then I assign it my credit crowd obviously he's proportions are not the same as adult so if I create a crowd here not a dope network you can see now it's proportion or are not really right so then we have another thing we can do here and clip properties the clip properties is by the way another way we actually connected to lots of different nodes but then you can we just have it in like the same places connected to agent perhaps to the agent nodes to keep properties and stuff like that but then you can also right-click and you have all these operations you can do mirroring you can do retargeting and you can do Freetown see this case I just gonna add choose retarget and and just fighting nuts so now it's retargeted and this is actually just creating a no-tell node with a chopped networking and they really cool that we just can use chop stops is super useful and we use it to many things it's not only a rhetoric thing we use it for as well and another thing that Sam did he did is cute he made it possible so you can go and pick up the textures from the pipeline and then it will automatically create material style sheets for them so here you can see you just click this visualize button and then now suddenly you have the textures from the pipeline and then you take like the tools we were created yes the first thing I created when I got there was a clip layer and most big companies have a clip player and an agent edit is kind of like a simple clip player but then this basic just means that you can play a clip and place it around and it would be procedural yeah but we have like a different flavor to ours of course so here I'm just going to show you the workflow see you add some clips here so now it's just playing one clip and it's just paying it with no modifications but then you can select to loop this guy so I can set a loop range and this is driven by locomotion by the way as I set the loop range and now I have just a loop clip here and I can do a plan this can also be connected to keep properties it's know how this guy run there and then I also thought it would be cool if you could do blend between two loops within the same clips so you can also make a start loop and tell it to loop another thing a certain amount of time and then just blend out with loops so now he's starting an idle and then he goes over to that round loop later and and then of course this is not much of a crowd so you can connect like a pointer out and now you have all these agents here yeah and then you can can do all kinds of like the normal things you can do a random frame offsets you can do random speeds random size all that you can see it's still proceed roll is really quick and because it's using locomotion you won't have any foot sliding and you can also go into individual agents and select them and then just offset the frame so here I've started at 50 frames it's really useful if you have two agents and have the same post you get a note on that you can just select that agent and that our frame and then this is cool oh yeah you have another thing here we have mirroring so you can do mirroring to get some aeration and that is like I said before that is connected to it is chopped that do the mirroring for you and and then you can of course add all these kind of clips in here so I'm adding a few clips here like a few walks and then you randomly assign some and you can see one of the clips you say the guy at the back is falling down and kind of obvious and then of course you can use clip waiting so you have less of that guy like it so and all that it's cool you can of course change the orientation stuff like that but I also felt you had to have a way to control it even if you want to keep to drive it you will be able to like bend it a little bit so then I added this way of deforming locomotion with curves so have this by default it's just it's just randomly picks a curve and starts following that curve which is a bit confusing because it's because it's just like it's mess of guy running everywhere but then a better option is just pick the closest curve and then you can see that they are following each other and and then the next thing is that you yeah you can just do one agent per curve the only thing we had in our list a lot of people used it was they have this multiple curve setups that created a vector field so I thought I need to have a similar thing in here so then I created this way of creating vector fields here I visualize that same curves I visualize that you see all the hours here and then you see it's like the flow field and so then they started for that instead but it's still procedurals is still no simulation and also you have I should have sinned in here so you could see their feet but they are not sliding this because they are using locomotion and this was like one approach so this first approach oh wait I'm going to show you this as well so another thing we have we have a call it vignettes when we mock up things with two or more people and then we have support for that so this is actually mocap like Paris so then you can just use this children thing and this works with horse and riders and stuff like that as well so that was like one approach and that is that you're using the clip to drive the motion but then sometimes you want to have complete controls you just want to place the position at points exactly where you want them and then the clip playing should try to adapt to whatever you do with a with the points that would with your agents so then we did this other way of doing it and there was this motion path framework so so and you can override any part of this but if you use like every I mean out here you start by like just drawing a guide curve and then you drop down motion path note I'm going to do there and by the fold is kind of boring is just how like a lot of similar curves like following the guide curves but here you can of course you can sculpt it in different ways you can have this random overlaps and you can have add some noise to it and you can also have these different Grahams that drives different things and so here it's driving the rotation what I'm not showing here you can also have a can terrain projected part of it and then have a ramp that blends what part is train projected and then a thing I had to do which you understand your case study is I also needed to have it be able to deform to animation so here I just have this animated grid I have an animated Bend on this grid and then yeah then you can just have it and deform by that so you have your motion paths and so then the next step is that you need to have some movement on those paths so then you add this other thing I call move along path and we do move along path I'm just showing some basic things here is you can actually do quite a lot with it by default is just do this stream of agents so you just you can get is a continuous looping and the reason why this is working when you're rendering it because they had set these attributes so I hide the agents in the beginning and at the end in katana so then you don't get motion blur streaks but you can do all kinds of things in there you can turn off the looping you can have them going in two directions you can have them form have formations you can have them in certain they can go to certain frame and form a pattern on that frame they can have there's also setting size and orientation here even if you can't see it now so you can have the size be based on the speed and you can have banking and all kinds of stuff so when you have all that you just need to copy agents on it so then I have this NOAA call agent copy and so this takes all the data that you have set in the mode in this long path or if you want to wrangle your points yourself you just need to make sure that you set those data and then you can put that into the create a copy so here I'm just you can see I just duplicating some fish honest this is not even playing a clip right now but it takes all the days it takes all the size and it takes all the orientation from the move along path and then you can of course add a clip and by default it's just playing clips it's not really concerned about how fast the agents are moving so now I just like just make it move a little bit faster so now you can see that our swimming and in here you can also you can also make proxies if you have like a really dense crowd it's just instances and you can also add other agents you can have it how many clips you want you can also mix it up with others now I have this mice swimming with the fishes and then I yeah and I do like different scales and stuff but sometimes so this is cool but sometimes you actually care about how fast they're moving so you made this other thing in it's also the alien copy but here is if they just randomly assign a clip and randomly play it is sort of speed they just slide and it looks really silly so then I can't use the locomotion in the same way as I used a player I can like look in it and then say like it's kind of this speeds I try to scale the speed based on locomotion and in this case it's mocap said you don't have a constant speed you still have a little bit of sliding we should probably can get away if you add some flocking to it but if you have animation clip they have a constant speed then obviously it will be spot on but still even though you have a problem like the clip selection is still a problem so you have some other walking guys it just walked past the juggling guys and so then I thought okay I can do this procedural creep select as well so you can select clips based on their speed and then it analyzes whatever Clips you have added to the agent and then it's try to distribute them based on on the speed so now you can see like all the slower ones and walking clip and all the first one has the durian clip and then same thing with ragdolls we just wanted to be easy so this is a little bit like the thing I showed with a rag dolls example before a sweet the crowd is already done here I just wanted this sphere to trigger it on my ragdolls so you add a trigger and then you add a gradual Network and that's that you can also connect all the occlusion geometry in this one and they try to break them up and make them bullet friendly if you have like a concave surfaces so it's deforming it had like different things and then I also added a recovering system so you have this you can see these mice here and they're gonna recover if you add that on so now if you play it you're gonna see that they are gonna recover one day hit the ground so I'll be slowing on Jude so he fall down and then do you recover and run off so yeah okay and then the last thing we did we a lot of people always thinks that you need to do a lot of avoidance at route and sure sometimes we do avoidance but a lot of times it's better just to trim out intersections so we have this procedural tool for that so what that does is have it look through a whole frame range and see whoever are intersecting we have all these filters as well so you can say just remove intersect and within the camera frustum just remove them on a certain distance you can also do if they're behind an occlusion object don't remove those guys and so on I know he also tried to be clever so it's loops through all the agents and see how many insects is the do and then you start removing the guys that had made a lost like most of intersections and in that way he removes less agents I [Applause] [Applause] think we have time for maybe one or two questions if anyone has Hey I will I won't say to do or do a run there's a crowd of is it with mantra or provide you made it as a department yes well we quite big I think we're probably the biggest crowd partner we like 25 people now and that's also because we just have one global crowd apartment so then they we have different we do so many shows so then so in this we were like seven people on there this one oh sorry okay or do you spotted it is it primitive I could pretty oh no we have because we have our own pipeline so we export it as a skeleton cache and then we have like our propriety sauce things to skin them and then they are generating katana so yeah I would love to do it and thank ya I'm again I'm not very familiar with the agent and crude but I'm a fan of your blog thank you in the beginning of your presentation you're showing animation in her eyes and you know you're switching from animation you're blending them oh yeah and there is a tutorial site and I was wondering if it was the same thing you know you're storing animation in our a and is it some of your thing your own thing or is it inside the crowd agent package you mean how to read the transverse yeah yeah well it's just because it's you have all this prim intrinsics because you can just read if you use agent world transform so I did local transpose then you get an array from that okay and then you can just use it with set agent where local transforms alright and one just one are you using a lot of foam on the ice technology I mean the states for example yeah well I I mean it's hard to say because I'm so I think I'm using Houdini but obviously because I I used a lot of ice before the thing I learned math by doing ice so I have like certain way and probably someone would tell me that that's a really weird way of doing it who DD that I yeah I just yes sir when it comes to math I do it in the same way I didn't ice me okay thank you maybe one more question if anyone very bad hi a very nice presentation by the way thank you I just want to ask you penetration between the agents when you did all the miles on it so direct so I don't know how are you dealing with it yeah it was interesting because when we started they were from Montreal they really wanted us to do have like a collision system so we actually did a rigid body system then we just found that we use the buddy system you get very unnatural it doesn't look organic so what we ended up was actually the intersection thing I was showing you so yeah we just removed intersections and then we tweaked it a little bit and then yeah and then we have we had certain things to just place them in a convenient place there was a little bit that I was doing separations and stuff like that but most of it just removing intersections okay yeah okay thank you thanks Miguel [Applause]
Info
Channel: Houdini
Views: 36,801
Rating: 4.9409156 out of 5
Keywords: vfx, visual effects, visual effects software, vfx software, cg, cg software, fmx
Id: AZJFqBVCl6o
Channel Id: undefined
Length: 35min 8sec (2108 seconds)
Published: Wed Jul 03 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.