Procedural Asset Creator

Hi great asset,

I’ve been playing with it and really see the benefits.

One nice feature that you maybe want to add is:

  • the ability to export all the generated meshes automatically to a folder.

Hi, I’m really glad that you find it useful.
I’ll see if that’s possible with current blueprint editor scripting utilities. P.A.C. is a pure Blueprint project, so I’m limited to that for now.

@Zorak4Now There is an Export Scene function that can export whole scene or selected actors only as .FBX to selected folder. It opens a system window to select folder & mesh name. This could be fired every time a new asset version is generated, but it needs to have the asset selected in the editor first, which would require selecting it and then clicking a button anyway. So it would not be faster than the current workflow (Save as Static Mesh —> Export as .obj/.fbx from the Content Browser).

If this gets runtime generation for the generation aspect of it, enabled off of the recipes (set up in editor), i’d pay double the price.

Yes, the recipe-based implementation is the thing that I’ll probably try soon. So the workflow would be something like that:

  • dev creates asset generator with current workflow, setting up all the parameters that will be available for players to use
  • recipe data can be saved to e.g. a data table
  • in game, you can load a recipe and it will have all the exposed parameters so players can modify them easily. Exposed parameters from selected recipe are loaded into “Asset Designer” UMG widget.
    … + I think it’s also possible to expose shape splines for players, since all the mesh generation in Procedural Asset Creator is based on spline shapes. I’d need to implement some kind of in-game spline manipulation sytem, it shouldn’t be too difficult.
  • the result is a runtime-generated Procedural Mesh Component.

Example use case: Players can forge custom swords in game, easily controlling shape, length and many other parameters with splines and scalar/bool parameters. Or, use an alchemy lab to design custom-shaped potion bottles, grow custom plants in their botanical lab, and so on…

… Now, there’s the last thing: Collision. Procedural Mesh Component can have an automatic per-poly collision, but that’s usually not that good performance wise. So ideally, it would need an additional system that automatically creates collision capsules/spheres/boxes based on asset bounds. Or maybe let the players control all the collision shapes manually - this should be easier to implement, also giving more control for players.

**Update: **New simple example asset generators are available for 4.24+. You can check them in the documentation, in the Included example generators section.
Also, PAC is now 33% off :slight_smile:

If you don’t need all the features and want some simple assets (e.g. flat shaded, low poly), check the Simple version here:

**Simple Procedural Asset Creator

Also, all the new generators from Simple PAC were added to the original P.A.C. as an update recently!**

Hi, is it still someone thing we can only use in editor or we can use it in a situation like a player open a chest and then in generate a item/weapon? Thanks btw this look very great

Hello, for now it’s designed for in-editor asset generation. I did some experiments and it’s likely that runtime asset generation (like the case with generating a randomized asset upon chest open, a player forging his sword with blade shape control using splines, etc.) will appear in a future update. This still needs some rework of the internal system (or rather add an additional independent system that uses it), so I don’t have an ETA yet.

Beautiful work! Thank you! Just writing to give a vote up for runtime functionality. Let me know if there’s anything I can do to help with this. Even something rudimentary would be great!
Cheers!

Thank you!
Good news, runtime generation already works and now I’m working on exposing parameters (via UMG widget) & shape spline controls (custom solution), so the end users can tweak the assets by hand in game. For now it works by saving the generators as ‘recipes’ into a Data Table, then loading these recipes at runtime.
As for the collision, it can be set by hand in the editor per-generator, using the basic sphere, capsule and box colliders.
Of course, I’ll post full info as soon as the update is done. There might be a slight delay due to the holiday season, but ~80% of the work is done.

Runtime generation support is here! Available now for versions 4.25+ :slight_smile:

@LumberingTroll @MagicBots @dadavid2009 @karmakat

Discord server is now up and running :slight_smile: