Way to automate Baking multiple version of a Digitial Asset
7942 16 1- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
Lets say I have a digital asset for a wall for unreal. I have a few parameters available for changing the size and stuff.
If I know I need to generate 100 different variations of those parameters for a modular system, is there a way to script baking all of them with one button click. So if I have to change my base asset I do not have to create all my variations one by one in the editor?
Are there existing methods to deal with this type of workflow?
Thanks.
If I know I need to generate 100 different variations of those parameters for a modular system, is there a way to script baking all of them with one button click. So if I have to change my base asset I do not have to create all my variations one by one in the editor?
Are there existing methods to deal with this type of workflow?
Thanks.
- MightyKaziu
- Member
- 17 posts
- Joined: 1月 2017
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
- chrisgreb
- Member
- 603 posts
- Joined: 9月 2016
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
chrisgreb
You could put your asset inside a foreach loop in houdini and have iteration-based expressions on the asset parms. Then you pack so you end up with 100 packed geos. This will show up in unreal as separate meshes.
Would it be possible to see a simple example of this in an hda file? Or is there a good tutorial out there that shows how to accomplish this?
Thanks.
- chrisgreb
- Member
- 603 posts
- Joined: 9月 2016
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
Aladin Sanechrisgreb
You could put your asset inside a foreach loop in houdini and have iteration-based expressions on the asset parms. Then you pack so you end up with 100 packed geos. This will show up in unreal as separate meshes.
Would it be possible to see a simple example of this in an hda file? Or is there a good tutorial out there that shows how to accomplish this?
Thanks.
ok I have figured out a way to do this. I am attaching a simple project in case anyone else is interested.
It includes a simple manual node tree which works, but it also has a foreach loop with an attribute wrangle to setup all the output values.
- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
chrisgreb
Here you go. You end up with 10 different messed-up looking meshes, the mountain time parm is an expressiondetail("../foreach_count1/","iteration",0)
thanks Chris. I will explore that and see if it better than what I have come up with. I have posted my attempt in my previous post.
Thanks again. I appreciate the help.
Edited by Aladin Sane - 2018年1月11日 18:50:22
- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
chrisgreb
Here you go. You end up with 10 different messed-up looking meshes, the mountain time parm is an expressiondetail("../foreach_count1/","iteration",0)
I have been messing with this some more. It does not seem to honor my collision groups or socket creation. Also UVs are empty and the second lightmaps are not created.
I have tried it with and without the unreal_split_instances.
It is giving me seperate geometry but it is not useable if I cannot get socket and collisions working.
I also tried transfer attributes and transfer groups on the pack node and it did not seem to make any difference.
Any ideas?
I have posted an example that shows the problems with sockets and collision. If someone can point out what I am doing wrong or confirm that there is a problem generating sockets and collision this way?
Thanks.
Edited by Aladin Sane - 2018年1月11日 21:34:46
- chrisgreb
- Member
- 603 posts
- Joined: 9月 2016
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
You know what might be an easy way to accomplish this.
If you updated your Hda asset to take a datatable. We could then create a datatable with the properties we want to to set in each row and the name of the output. Then you add a Bake Datatable button. Then your hda can just loop through the datatable change the properties and output the file with the correct name.
To develop a functional workflow for developing game assets I need a way to rebake all my assets in one shot when I change something in my hda file.
It is a bit silly that I gain all these procedural benefits from using houdini and then if I fix an asset that has 100+ output variations I have to burn an hour or so manually setting parameters and baking each one.
I need a solution where I can tell the HDA what variations to output with a single click.
thanks.
If you updated your Hda asset to take a datatable. We could then create a datatable with the properties we want to to set in each row and the name of the output. Then you add a Bake Datatable button. Then your hda can just loop through the datatable change the properties and output the file with the correct name.
To develop a functional workflow for developing game assets I need a way to rebake all my assets in one shot when I change something in my hda file.
It is a bit silly that I gain all these procedural benefits from using houdini and then if I fix an asset that has 100+ output variations I have to burn an hour or so manually setting parameters and baking each one.
I need a solution where I can tell the HDA what variations to output with a single click.
thanks.
- chrisgreb
- Member
- 603 posts
- Joined: 9月 2016
- Offline
No news on the packed prim/group bug yet.
other workarounds:
- You could just create a wrapper hda which instantiates your asset hda once for each variation, then you should get a separate mesh for each.
- It's possible to grind out variations like that using the Wedge and FBX ROPs (but then you only have fbx files)
other workarounds:
- You could just create a wrapper hda which instantiates your asset hda once for each variation, then you should get a separate mesh for each.
- It's possible to grind out variations like that using the Wedge and FBX ROPs (but then you only have fbx files)
- Aladin Sane
- Member
- 67 posts
- Joined: 1月 2016
- Offline
chrisgreb
No news on the packed prim/group bug yet.
other workarounds:
- You could just create a wrapper hda which instantiates your asset hda once for each variation, then you should get a separate mesh for each.
- It's possible to grind out variations like that using the Wedge and FBX ROPs (but then you only have fbx files)
I am willing to try the wrapper idea. Could you provide an idea of what this would look like? What nodes would I use to do it this way? Or maybe I will just grab the plugin from github and add my datatable idea to it. Do you accept outside pull requests for stuff like this?
Thanks!
Edited by Aladin Sane - 2018年1月31日 11:56:14
- dpernuit
- スタッフ
- 553 posts
- Joined: 9月 2016
- Offline
-
- Quick Links