Hello, : I’ve tested your solution, and I confirm that I see some very interesting features for my use case. I am very impressed by the results you achieved
Also, thank you for answering my previous question.
I have a few questions and feature request to submit, if you allow me :
- would it be possible to have a function to edit voxels and material in a not axis-aligned box, of arbitrary extent (a kind of brush) ? currently, the code expose a method for box (axis aligned), sphere, and projection.
- would it be possible to control the falloff of the sculpt and material functions ? If I am correct, we can defined strength, which control the “power” and the falloff. To control the sharpness of effects, we need something like a strength and a falloff radius/size, and maybe a choice in the falloff profile (sharp, smooth).
- the function to edit individual voxels uses indices to identify voxels. Would it be possible to provide a couple of function to convert world position to indices and back ?
- I have a question : how many textures can we used without texture_arrays, and without atlases ? I tested texture arrays, which are working well, by the way. I think that if you are able to provide a way to support at least 10 textures in your plugin, without custom build, you are almost on pare with the landscape component.
- I am a little confused with voxel painting (material). Am I correct to say : we can set 2 textures per voxel, with a blending factor to mix them; it’s up to the tool (editor), or the code responsible for building or modifying the world to set the correct textures and blending in order to achieve smooth transition between “textured zone”, or to achieve effects like “rock under grass” when we dig. Is that true ?
- it may be useful to have a convert-to-static mesh function, for thoses interrested by the in-editor side of things. I imagine that using the standard unreal landscape with your voxel-based world for specific part in editor, can allow for very interesting landscape (overhang, natural surface-to-caves transitions, etc). Turning them in mesh when the designer is happy, can leverage HLOD, static lightning etc… The tricky part may be UV coord generation.
As a side note : I understand the need for speed, concerning the density function, because you probably need to call it each time a lod is computed.
The concern I had behind my question was to be able to modify the terrain using some gameplay elements. Standard procedural generation usually fail at proposing a controllable “mission path”. I would like to try to combine some mission planning graph (like the one just implemented in dungeon architect) to modify, if not create, the terrain itself. My current experiment is using the Dungeon architect plugin to create a layout, which is used to sculpt your voxel terrain. Currently, there is no way of performing runtime landscape edition in unreal, so voxel-based solution are the only way to go. I know Ali worked on a project, landscape architect, which is on-hold, but it seems to me that you may have a some interest in getting in touch with him, about some kind of combined approach : voxel are tricky to edit to achieve clean level design, which is where graph-oriented approach are extremely powerfull to speed up creation. Voxel Farm provide some unique tools in their editor (Voxel Studio) : a very robust brush-based editing, L-system based structure generation, and a clever biome generator), but nothing like some user-controlled graph (like in Dungeon-architect), or user-controlled cellular automata (for caves); for gameplay, this is critical. Those tools, usable both in editor or at runtime, allows for serious production boost, or unique “runtime generated” content.
Regards,