Houdini Engine for Unity

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
welcome my name is Robert McGee and today I will be talking to you about Houdini and Houdini engine and how you can use them to create game art for your unity projects Dini is a procedural node-based solution and much like algorithmic substance designer is that you build textures using node networks Houdini does the same but focuses on 3d objects and effects Houdini engine lets you extend that procedural approach right into the Unity game editor to assist with the building of environments and game levels before I show you how this all works let's take a look at two games created by indie developers who have found success using Houdini and their unity projects here we have tsuki in the shadow claw a 3d adventure platformer being developed by Luis Garcia of feline arts in Mexico he's developing his game for PC and consoles using unity because he works independently Louise chose Houdini as procedural workflow to establish a more efficient pipeline for the creation of game assets and levels here you can see a procedural bridge that he uses to set up in his game you can see the controls that he has here for getting a unique result each time he places one of these and here you see that same bridge being set up and used in the unity editor next we have Ari and the secret of seasons a 3d action adventure puzzle game for PC and console it's developed by X in a Brussels based indie game team who chose to use Davina's procedural workflow to help them create a rich world with a wide variety of content this project includes characters procedural assets and effects later in the presentation we return to these two projects and take a closer look at how Houdini was used create the game art for now let's talk a bit about how Houdini works as already mentioned the key element is its procedural node-based workflow as you work interactively in Houdini's 3d scene view everything you do creates a node these nodes are connected to build networks in each of these networks defines a recipe or flow of data these recipes can be used over and over again and then easy to share them with your colleagues now the traditional way to share your work would be disabled to a common interchange format you could render or bake out to TIF or Targa or export to an FBX or Alembic file the issue is that this is no longer procedural and the flow of data in the nodes will be flattened of course this approach can be good for some workflows such as creating real-time effects generating high-res meshes or exporting character rigs but if you want to retain the procedural nature of the network then we need a different approach for Houdini artists this means collapsing your network into a Houdini digital asset now all the original nodes and networks exist inside the asset and then you can promote parameters from these nodes to create a high-level interface for artists work with and you can add other elements to the asset such as inputs outputs embedded geometry and more once these are part of the asset it gets stored on disk for sharing the asset can then be referenced into other Houdini sessions where the new node is treated like any other node Houdini even those written by our developers you can work with its handles and parameters to leverage its internal network and access its procedural nature but what if you want to have the same kind of control in another application such as the unity editor this is where the remaini engine comes in all you plug leading the engine into unity you can now load Houdini did July sets and the engine will cook the node networks using the Houdini libraries then deliver the results to the host application within unity you will have access to those high-level controls we built earlier and once you tweak any of the parms the engine will again cook the nodes and update the results in the host you can see that Houdini is working under the hood to allow these procedural assets to work in the unity editor when you build the game a baked out version of the asset will be used during gameplay the acid is still in the editor to allow for future edits and tweaks but it's procedural nature does not carry over the Dini engine is not runtime solution but rather a content creation engine for your editor the Houdini engine for und plugin was first announced in 2013 along with a similar plugin for autodesk maya 3d studio max plugin is in the work for 2018 for last year side effects has rebuilt the plugin from the ground up you can now access the 2.0 plug-in with recent production builds of adeney 16.5 the new features include a deeper integration into the unity interface this includes proper support for prefabs a new painting workflow and a better presentation of the asset bits and pieces within unity support for patch primitives which are used in who do you need to set up instance II a new curve editor which is often used as an input mechanism for assets and support for Houdini's height field-based terrain tools I'd like to now take you through the creation of a digital asset that we will then load up into unity along the way I will show you how to install the plugin into the unity project and also how to interact with the asset inside the editor here we have a pipe setup using new Dinis node based workflow let's look at how it works before we save it out as an asset here we have a curve that's being swept along to get the pipe then we break down the pieces to get the flanges and merge all the results together you can see that by manipulating any of the parameters on the nodes we can update the whole system and the flow of data is maintained throughout so now that we have a system like this that allows us to even move the original input curve like this we now want to make it something that we can share and we could just give the scene file to someone but if we take this and wrap it up in an asset it works even better we're going to take that and make new digital asset we're going to call it pipes to save that into the same location as the scene file and we press accept now this offers us a chance to build an interface for this asset we can just simply by dragging and dropping notice we don't have to write any code for this we're literally dragging and dropping attributes from the parameters below and if we want we give them new names artist friendly we can also take one of these notes let's take the original curb note we're gonna make that an editable note and we'll see the advantage of that later when we get into unity as you can see here's the top-level parameters the radius flange inset and we want to be able to do this inside unity so here we are in unity now the first thing we have to do when we have a new project is import the engine package and this will not only import everything but also add a menu item at the top called Houdini engine unity we can take that and say load moodini I said bring the pipe asset in and here we go so this is the same asset we had in Houdini you can see we can move the points on that curve that we made editable you can even add points that occurred to extend the pipe and make it bigger we can change the flange inset you can change the radius and all of that is updated now what's happening like we talked about before is under the surface to be the engine is used in the gene libraries to make these updates and deliver them to the host and this gives us you know our first experience using Houdini engine while the pipe asset used a curve to control the shape of the resulting geometry you can also set up your assets take advantage of a painting interface let's take a look at another asset which uses this approach to set the scale of barrels scattered over a surface so here we have an asset which has lets us control the number of barrels or the relaxation of the iterations the noise height here and this is made with a network similar to what we've seen before it's currently locked because the asset is logged so what we're going to do is we're going to make one of those nodes the paint node in editable node and this will help us both in Houdini and in unity now we say save that let's save the asset again and what you'll see is everything is locked now except for that paint node we select that paint node we can now paint the peace scale of those points to get the result that we wanted and we can increase or decrease number of barrels on that if we load these asset into unity here we have exactly the same asset you notice the parameters we had before we can set iterations we can change the size of this if we want all the other controls we had before now the question is how do we do the painting so we open up asset options click on enable editable node tools now we get this interface where we can go and say let's set the paint value to two and the opacity to 0.1 and now we brush and we start to get the scaling of those points here inside unity now in addition we can use this other option this edit option and this will allow us to specifically pick points in the scene can we grab a bunch of points we set the value let's say three and they will automatically change so we can use the paint interface or we can just grab things directly other than that we just go in and paint a way to get the result that we want so in addition to using curves as inputs you use other geometries inputs you can also use this painting interface to get interactivity in the Unity environment next we're going to explore this guard tower scene which been built using procedural assets created in Houdini this scene was created by Kenny lammles who has created a set of tutorials available on side effects calm where you can learn how to build these assets from scratch so the first asset in this collection is a stacker asset which allows you to bring in an object in this case the barrel object and then it is going to get copied to points within within the asset and set up for stacking so you have at the bottom just a grid that then it's got some noise set on it just sort of date they aren't stuck to evenly and then a whole bunch of notes that will process this information create the stack merge everything together and create the result of we're looking for so here we have the nodes inside the asset so the procedural flow of data and then up above we have the this is the asset this is the this is what we're gonna see in unity you can see we can control the rows and columns of that you can also point to a different object if you want to point to that's a crane or something else the stacker asset would actually work with that as well so when you've got a digital asset you can use that many many many different times and here is an example of that we have one stacker already used in the corner and now we're going to work with the second one reset number of rows and columns and notice how each time the acid is used they don't have to have the same values they can be put in different places in the scene use different values but at the core there all referencing the same asset down below so here we're adding even another one in so this one we're going to go in now by default it doesn't reference the barrel because you have to pick the object now we're gonna pick the same barrel but we could have picked a different barrel or a different object stack those instead so again we get that in we then get some controlling size and so on there we go now once you have that we can also do something called bake a prefab so let's say that you wanted to use your procedure I said that you wanted to deliver the results to the game level without the engine present a prefab would allow you to share this with other level designers and they would be able to work with that and it would not have the procedural controls MRV flattened out but it would also take advantage of the of the Institut capabilities of prefab so it would be efficient from a pipeline point of view but independent from the engine of course you don't need to set bake out prefabs or bake out anything you can just use the the assets in your scene as long as everyone on your team has an including engine license available so here's some other assets can he used for his start our scene so you can see you know there's networks and nodes that involved with coloring it's shaping it again we're using a curve interfaced to position it get this to work the way we want here we have some sandbags also created using the same interface drawing a curve and getting the result that we want here's a ladder to curl the number of rungs with everything procedural gives your level designers a lot of flexibility and make the decisions they want here's a guard tower how tall do we want everything play the game a little bit when we need it to be a little taller we want to see it from the distance all of that control when you're working with procedural assets if you have several guard towers in the scene they don't all have to look exactly the same it can be based on the same structure but still look independent and give a little more visual richness to your to your level earlier we looked at two indie games that made use of procedural assets to streamline the creation of game art now that you're more familiar with how digital assets and hudie engine work let's take a closer look so here we have Sukeena shadow claw so Louise in creating his assets he had assets he actually originally built in another application 3d studio max he brought them into Houdini to procedural eyes them so we wanted to create these bridges that he could use in his game and he set up a procedural network to create the bridge then when he got into unity he was able to set up a bridge simply by and controlling this curves and later what he's shown before now the event of this is he might be creating many many many of these bridges within a game like and they can all be done quickly using this workflow at the same time they also have the advantage that if he makes a change the asset on disk all the bridges would benefit from any changes that he made there here's another example of a fence again built using this procedural approach here he is creating a unique fence for this particular platform done using a procedural asset now what's important to note is things like the rungs and the and the posts on the fence they would be done using instancing so there is a lot of efficiencies built into each of these assets so he gets exactly what he wants in the game so in addition to speeding up the creation of a level designer there's some other advantages to going in procedural as well so here in this part of the game notice that the dragon goes through these tubes well one of the issues with the tubes is the character would only go through it if it was a certain radius and he's got 20 tubes in a game level or 50 games tubes in a game if they are all modeled individually there's a chance that somewhere somehow the dragon won't fit something to go wrong it isn't set up the way that you want when you're using a procedural asset those rules are set inside the asset and therefore he consistently gets what he needs to build the level the way that he wants so a lot more consistency surface normals are set up right you've either set up right collision junk you set up right and this gives you a lot of reassurance as you're working with your senior assets that your game arts trying to do what you wanted to do here we have exit of re in the secretive seasons so in their case they used when you need to create some procedural sets here's a staircase that they set up so they could actually control how long it is they can control how many steps third there are as well as do you want to bend that staircase or keep it straight so these are these are kinds of things to model by hand you know it's not impossible but it's a lot of work if you have a tool like this but you throw a staircase into a game quickly get it to the size you want and it's going to work and be ready for game ready for the game right away that's a huge benefit and these these developers have learned that have turned every need to help them achieve that in their work and here you see the character running through some of these levels something staircase is built using this procedural technique now most of the examples are have seen so far involved the use of procedural assets delivered to unity through the Houdini engine plugin now let's take a look at a special set of game development tools that are available with redeeming but offer alternative workflows that don't necessarily make use of engine the game development tool site is a collection of high level tools aimed to speed up game related workflows in Houdini there are a growing number of game tools being developed at range from you beam to generating motion vectors from simulations these tools are being created by game TV's working at side-effects who are posting all their work on github to share with the community but the tools can also be accessed from within Houdini itself by opening up the game development tool set shelf and clicking on the update tool set button here we're going to look at a high res mesh pipeline that uses several these nodes and a tool for turning Peyer effects into texture sheets the high res mesh pipeline we're going to explore takes us from ZBrush through to baked out textures along the way in beanies poly reduced node and game dev tools for sending up movies will be used so here we have a highly detailed model created in ZBrush oh so it's made up a bunch of different individual little bits and pieces and those bits and pieces all have a lot of great detail that we want to be able to bring over into the game while still maintaining a decent poly count so the first step of that is using the gozi mesh work play and that will allow us to bring the model in and load it up as a BGA file that's on file format Rubini lines now once we have that we can start to do things to it like for instance let's probably reduce this get a slightly more efficient model to work with once we have that we're going to put a tool from the game development shelf code block so mesh which is going to go in and start to take a little kit of parts that we have in the model and turn it into a unified mesh we're still going to have several pieces but the main pieces will all become a unified unified piece of geometry this will make it easier for us to poly reduce it for gaming news and also texture UV it once we have this we can crank up the box so mesh to get as much detail as we would eat then we will run that through a poly reduction again to get something a little more appropriate for a game play and we can push it a little further in terms of the reduction because of course we can do baking to get the detail from the original model back into these pieces now we can also use some auto UV which will not only cut automatically figure out seams on your model but then flatten out the UVs on that and we're running these just like we did with the box of mesh in a for each loop so we can hit all the different parts so there's one part with the jubie's and then we can run through the different parts as well and here's all of them so we put a UV layout to just flatten that all out and this you know it can be done fairly quickly and then from there bake it out so our normal Maps get baked out and that we can build texture maps and so on on a low res mesh we use our game and here that same model is inside unity and all the different tools that we used allow us to bring this FBX file in and get this highly detailed low res mesh indoor game and ready for gameplay next we are going to learn how to take this fireball simulating DV I was a texture sheet for use of unity kini is often used great blockbuster effects using the game dev tools you will be able to use them in your game so here's a pyro effects simulation created new D and it's got a very focused camera on it that we're going to use to build our texture sheet the game to have tool is a output node where you can assign the camera assign the specific simulation node set a start and an end then you can set it to render out very specific things like normals and emissions and so on render it out using the compositing section of Houdini you bring that back and have it built up as a texture sheet that's all built into the tool that were working with and then you can see there's a whole bunch of different information it's all available to be used when you bring this over into unity now to get this over into unity we are supplying through the github a special shader and so the first thing you do is bring over that texture sheet shader and you can take that and begin to assign the various maps that were exported by that tool into here the ramp texture could be done by hand so there's their fireball using the texture sheet and then we can go in and start to do things like play around the fire emission scale this gives us a much more realistic look to the fireball so some pretty exciting opportunities is you can take these collision effects from the the environment and bring them into unity now that you have a good idea of what is possible one of the first questions you must have is how can I get started lucky there's a great collection of learning material available on side effects calm side effects is a free apprentice learning dition you can download and use develop skills to make you more comfortable with going procedure with Medini there's also a free PDF of the Houdini foundation's book which will get you up and running quickly the book is also available at a print on demand for small fee there are also learning paths and tutorial collections that will help take you to the next level these include Kenny Landers guard tower lessons and lots of lessons covering the game development tool site you can also join the side effects calm forums or the think procedural discord channel where you can learn from other Houdini artists and TVs once you've decided to add Dini to your pipeline there are several options to choose from our commercial products include Houdini core which has tools for a wide range of environment level building tasks required in game development Houdini effects has all of these tools then add simulation tools such as PI R effects bullet rigid bodies and fluids both of these products can be used to run the Houdini engine plugin in unity or you can get a separate convenient engine license for other artists in your pipeline that only need to load the assets you create into the unity editor side effects also offers tools for Indies making less than $100,000 USD this product has most of the same features as any effects except for a few restrictions such as a different file format that can't be shared with commercial customers to learn more visit side effects comm slash games where we have posted a number of customer stories showing how triple-a and indie game devs are using Houdini thank you very much for your time and I hope you now have a clear understanding how Houdini and the Dini engine can help you as a unity developer create more dynamic art for your games
Info
Channel: Houdini
Views: 16,471
Rating: undefined out of 5
Keywords: houdini, houdini engine, engine, unity, game engine, unity3d, unity game engine, gamedev, game dev, game development, 3d, game, games, gaming, gamer, gamers, art, 3d art, sidefx, side fx, software, vfx, modeling, model, game art, tech art, procedural
Id: 0AwO3SAV0iM
Channel Id: undefined
Length: 24min 6sec (1446 seconds)
Published: Wed Sep 19 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.