Voxel Plugin

@FreemanCIT

  1. You can do that using C++, setting values directly.
  2. Add a curve parameter to SetValueProjection (#26) · Issues · Phyronnaz / VoxelPluginIssues · GitLab Add SetValueCurve() to softly add or remove a sphere shape with a custom curve input (pull request) (#20) · Issues · Phyronnaz / VoxelPluginIssues · GitLab :wink:
  3. GlobalToLocal and LocalToGlobal, as described here: https://voxel-plugin.readthedocs.io/en/latest/generalconcept.html#local-space-vs-global-space
  4. In the latest version of the plugin, I removed the ability to blend multiple materials (as it doesn’t makes much sense to have half-dirt/half-sand when not transitioning anyway). That way I can create different meshes for each material, and using some procedurally generated material I’m able to have automatic transitions between materials too. This means you can now use a real UE material for every voxel material (in practice it’s a material function returning a material but that’s the same), and having automatic smooth transitions between those at a very low shader cost. This also means you don’t need texture arrays anymore. This is still very experimental, but if you want to try it shoot me an email or join the discord (Voxel Plugin).
  5. ^
  6. Yep: Add a voxel world to static mesh converter (#64) · Issues · Phyronnaz / VoxelPluginIssues · GitLab . UVs would still be triplanar.
  7. I guess you are talking of
    Dungeon Architect: Procedural Mission Generator [WIP] - YouTube

This is definitely where I want to go. I’ve recently worked a bit more on the user content stuff by adding a voxel asset editor, that allows you to edit voxel assets create by importers. So for instance now you can create a voxel asset from a mesh, then edit it to remove glitches/paint it, and place it in your scene using voxel asset actors: voxel plugin™ editor tools - YouTube
I’ve also added perlin worms caves, and more generally added a framework to easily place custom items in the world in a really efficient way:



And when doing so, I immediately thought of that Ali video I linked above to procedurally generate caves systems with easy to define rules :slight_smile:
However, I probably won’t include that in this plugin, it would be an extension. The plugin is already complex enough as it is.

Thanks for your interest, and I highly recommend you to join the discord server, where it’s much easier to discuss with me and the other plugin users: Voxel Plugin

Hello,

Done, I started to browse discords channel.
Your new solution for material seems very promising. The textures related limitation was the last thing that hold me to buy your plugin.

You will probably count me among your clients for the next release !
Regards,

What about camera jitter and float problems in multiplayer ? And it has got doule precision inside code ?

how big a world can I create with this plugin, thinking about the map with size of Earth make sense?

Does it support cube worlds?

@Masakralny The voxels are using int coordinates, so no issues there. However you’re gonna be limited by UE precision. Earth size should be doable with some world offsets.

@S0rn0 There’s a cubic renderer is that’s the question (minecraft-like).

I just purchased this plugin and it is amazing as I expected haha. Is there any documentation on creating a spherical world using the graph editor, and also material setup? I see that the materials need indexes associated with them. How is that accomplished? Thanks again for this!

Hi there, I just want to start off by saying that this plugin is absolutely brilliant. I’ve been attempting to port to Mac the last couple days (which I don’t see why it wouldn’t work), but I’ve run into a bit of a snag. I’m using 4.19 on Mac, and I’m able to build from source fine, but then the editor crashes on launch citing a segfault referring to line 266 of VoxelVertexFactory.cpp which is the include line for the Unreal shader. Since UE4 uses a standardized shader format I’m confused why this would cause an issue. Have you been able to build successfully for OSX or do you have any ideas what the issue might be?

Video from A2K made possible by the latest plugin improvements:

Added a 3D preview to the graph & a curve node:

Added a Select node, fancy colors to the graph & raytraced heightmap shadows.

Complete graph:

Top noise node:

https://cdn.discordapp.com/attachments/379297529235243022/485635719654801458/unknown.png

Middle:

https://cdn.discordapp.com/attachments/379297529235243022/485635768476499969/unknown.png

Bottom (this is the mask):

https://cdn.discordapp.com/attachments/379297529235243022/485635843235512325/unknown.png

With EdgeFalloff = 0:

https://cdn.discordapp.com/attachments/379297529235243022/485636021812461581/unknown.png

With EdgeFalloff = 0.125:

https://cdn.discordapp.com/attachments/379297529235243022/485636102170869775/unknown.png

In game:

https://dl.dropboxusercontent.com/s/jkse5qorowbwx5b/UE4Editor_2018-09-02_05-09-31.jpg

https://dl.dropboxusercontent.com/s/iwi4saykfuxkaxf/UE4Editor_2018-09-02_05-10-44.jpg

The fast updating of the graph preview (< 1s) makes it very easy to quickly iterate on different graphs.

Hi, first of all awesome stuff! (is this available in 1.1.2? or is there a new version? )

Also I am experimenting with setting up multiplayer and I have a few questions:
In the documentation at the multiplayer section you mention calling the ConnectClient and StartServer functions manually (and enabling the Multiplayer option for the VoxelWorld); -from what I can tell those were replaced by CreateServer and CreateClient?

The way I’ve been trying to do it is by:

  1. spawning the world on the server (with the Multiplayer option enabled; also tried the VoxelTcpSocket class) -> using a run on server event
  2. calling CreateServer (on the server) for the VoxelWorld I’ve just created
  3. saving the world and calling CreateClient on every client who joins the level (for the saved world)

But so far, unless I’m also replicating the world it doesn’t show up for any of the clients; (if I do replicate it it shows up in the root level not in the streamed level where it was spawned initially (on the server).

Any help is appreciated,
thank you in advance!

When Is Your Release for Unreal 4.20 Due out :slight_smile: Joined the Discord where Can I find it there. I want to evaluate for a project I am working on :slight_smile:

@SoulSlesh Could you please join the discord to get support? Voxel Plugin
@frossdelaqrois It’s out, just not on gumroad/sellfy yet. If you want it now you can join the discord

Hi, in the first this plugin is so cool, good work !

Now to the my question. I have free version of your plugin and now i trying to create C++ World generator, but i dont know how to create it. I try follow steps in documentation, but nothing works. I am new in C++. Can any one write me detailted steps to create it, or post simple project with created class of simple worldgenerator which can I edit in Visual Studio please? Sorry for my bad english and thank you so much for any reply.

I’ve fixed the editor tools. You can also now use the voxel asset editor:

You can also edit the terrain directly:

https://pbs.twimg.com/media/DmxhQYaW0AACd4b.jpg:large

I’ve also made the creation of new tools easy, just need to make your BP inherit from the right class :slight_smile:

Working on some graph static analysis to improve perf a lot:

For now each node is computed for every XYZ position. Using static analysis I can determine which nodes depend on which axis, and use that to cache the values: for example, don’t recompute that perlin noise for every Z :slight_smile:

Hi. I have two questions:

  1. How does this compare feature-wise to this: Voxel Plugin in Code Plugins - UE Marketplace (which I currently own, but the creator doesn’t seem interested in answering support queries on the Marketplace page :frowning: )
  2. How does this compare feature-wise to this: https://www.voxelfarm.com (which I cannot really afford :frowning: )?

Optimization described above added, allowing to go from O(N^3) to O(N^2), O(N) or O(1) in many cases. In my tests the world generation was more than twice as fast.

@skunkiferous

  1. Mine is insanely better, even the free version has more features. He doesn’t have LODs, perf sucks etc
  2. Voxel farm is using a more precise algorithm, where you can have sharp features. If you don’t need that marching cubes (that I use) are just as good. My plugin is way more basic than VF, but IMO is far enough to achieve awesome stuff :slight_smile: What are you trying to do exactly?