Easy Voxels: Cubic

**Easy Voxel: Cubic

EasyVoxels: Cubic** provides a fast, multi-threaded and reliable way to generate Voxel Geometry using **Cubic **algorithm.

EasyVoxels: Cubic implements LOD System, greedy meshing and culling for interior cubes and back faces.

**EasyVoxels: Cubic **allows you to easily generate cubicterrain or cubic procedural geometry.

DemoProject 1:

**Requires Noise Plugin: **Get It Here](Noise Plugin (threadsafe) in Code Plugins - UE Marketplace)

**Download: **Chunked Cubic Terrain

Demo Project 2:

**Download: **Asteroid Demo

Unreal Engine Easy Voxels: Cubic - Interpolating Voxel Primitives - YouTube](Unreal Engine Easy Voxels: Cubic - Interpolating Voxel Primitives - YouTube)

Disclaimer: EasyVoxels: Cubic enables you to easily generate cubic geometry as opposed to EasyVoxels: Marching Cubes](Easy Voxels - Marching Cubes in Code Plugins - UE Marketplace) which enables smooth geometry using Dual Marching Cubes.

Features:

  • Actor Component with automatic Voxel rendering
  • Multi-threaded
  • Helper functions for chunked systems and Density Data retrieving
  • Fast & reliable
  • Build Density Data(value/color) using Blueprint Graphs
  • Ability to pass pre-generated Density Data(voxel edits)
  • Multiple customization features
  • Automatic LOD support
  • Ability to update AI Navigation data automatically or manually
  • Interior culling
  • Back face culling
  • Greedy meshing
  • LOD System

**Get it here: **https://www.unrealengine.com/marketplace/easy-voxels-cubic

Update 1.0.6 is Live!

  • Ability to disable/enable Greedy Meshing(for whatever reason you might have). The option is located in FCubicVoxelSettings and it’s enabled by default.

Hey, first of all thanks for acknowledging my skills. It really tickles my ego. :smiley:
Second of all. You’re right and not right at the same time. Sure, would be nice to invest time in some specific projects. But who would buy them? People on the marketplace are looking for affordable stuff because they’re indies or on a tight budget or even both.

Just so you know, dexyfex invested around 10 years in that project. So what would be his outcome selling it on the marketplace? Think about it.

Now, my plugin has nothing to do with terrain generation, or planet generation or universe creation. I aim to stick around “Geometry Generation” just because going into specific projects would take time and the outcome wouldn’t be neither in my favor nor in the buyer`s favor(if any). With Geometry Generation comes terrain, planets, shapes or whatever. You gotta figure it out what you want to use it for.

Buying a plugin like mine or Ali’s or so on, guarantees you that that section of your project is tested and you get support for it if problems occur. What goes beyond, is your project.

Anyways, i hope i made it clear to you with my point of view and why all these excellent devs you enumerated are sticking with demos(showcasing directions you could go with their plugins) and not final products.

There are certain things that have higher chance to do well, 3D assets, FX and such.

Voxels are kind of a niche theme. It’s not about having discounted assets for indies, because i don’t give a discount to it as of right now, it’s just the price i consider fair. Just because it doesn’t cost hundreds or thousands doesn’t mean it’s not premium asset.
With code plugins it’s more about sticking to solve the problem, in this case generate cubic geometry, and let the buyer do his project (terrain, noise data etc). This is one of the main reasons i keep Noise Plugin separate as a product. I can’t enforce additional cost on people when they might actually don’t need it. Although my Noise Plugin is the best here, there are customers that prefer to use free solutions, or they already purchased from somewhere else which is fine.

Thank you for your interest in my work.

Update 1.0.7 is Live!

  • Cancel all background work and executes **OnCancel **Branch in **DoGenerateVoxelData **automatically when game ends(PIE, Standalone, Packaged etc).

Update 1.0.8 is Live!

  • New **BuildCubeFace **Interface function that can be implemented to allow you to customize each face of a cube individually.
  • Ability to show/hide faces on the edge of the grid volume allowing you to enclose it.
  • Fixed UV orientation.
  • Various improvements to the cubic algorithm that should increase speed and readability
  • Updated the documentation to reflect the changes
  • Updated the example projects to reflect the changes
  • Directions labels have been changed (See 6. Directions in the documentation)

Update 1.1.0 is Live!

  • BuildCubeFace now allows you to set per-face UV. This can be used to allow you to store additional data that needs to be sent to Material. Use this only when you are using WorldAlignedTexture/Tri-Planar texturing inside your material as the UVs will most-likely be invalid. All Vertices that form the face will have the provided UV.
  • Minor code clean-up.

Update 1.1.2 is Live!

  • Fixed a bug where if Unit Z Size was different than Unit X Size or Unit Y Size would cause a crash (Tbjbu2)
  • Fixed a bug where Greedy Meshing would not clear already processed quads and would result in aditional overlapping quads (Divivor)
  • Removed **ChunkRadius **variable from **FCubicVoxelSettings **to avoid any confusion that is required to generate geometry.
  • Updated Demo projects to reflect the changes

Update 1.1.3 is Live!

  • New Function GetVoxelCoordinatesInRadius.
  • New Function **UpdateNavigationData **which allows you to update Navigation Data during runtime.
  • Updated Demo Projects to reflect changes

Update 1.1.4 is Live!

  • New Function GetVoxelCoordinatesinVectorRadius
  • Updated Documentation to reflect the changes.

Easy Voxels: Cubic 1.1.5 is Live!

  • Cubic Density Point (FCubicDensityPoint) now stores a boolean **bIsSolid **status instead of float value.
  • Easy Voxel: Cubic now uses the framework of MultiTask PRO 1.3.X for better stability
  • Previous DoGenerateVoxelData node is Deprecated and needs to be replaced with the updated node. It will be automatically marked in blueprints as Deprecated and it needs to be replaced with the updated node that is using same name.
  • Implemented a new function **GetVoxelCoordinatesAtLocation **which converts a World location to Voxel Coordinates
  • Implemented a new function **GetNeighbor **which returns the neighbor voxel coordinates in the given direction

Easy Voxels: Cubic 1.1.6 is Live!

  • Fixed a possible bug with GetChunkSlotFromLocation which would return wrong Chunk Slot in certain cases due to Ceiling instead of Flooring the Location.
  • GetVoxelCoordinatesAtLocation, GetVoxelCoordinatesInRadius and GetVoxelCoordinatesInVectorRadius now take as input the Transform of Geometry instead of Location. This allows to account for Geometry rotation.
  • Updated the demo projects to meet the above changes.

Easy Voxels: Cubic 2.0 is Live!

Easy Voxels: Cubic went through some dramatic changes this year which improves performance, scalability and makes it even easier to use.
This update changes how the plugin works which means it will break your previous blueprint logic if you choose to update.

With version 2.0 everything got easier. You just configure the settings and provide a valid Density Data Builder and the plugin will render everything automatically.
Truly “Easy”.

  • Easy Voxels: Cubic is now an Actor Component which inherits from Procedural Mesh Component.
  • Ability to automatically render voxels in editor (See Asteroid example)
  • Auto-LOD has been implemented. You can just set a maximum LOD and the component will simplify based on the distance between Player Pawn and geometry.
  • Auto-LOD can be disabled and handled manually.
  • Ability to automatically update AI Navigation Data.
  • Ability to setup an Update Interval which is used to control how often the Component is checking for LOD changes etc.
  • Removed Density Builder interface and replaced it with a Density Builder object for better stability
  • Removed “Do” async nodes.
  • New function VoxelCoordinatesToLinearIndex which allows 3D coordinates to be treated as 1D
  • New function LinearIndexToVoxelCoordinates which allows 1D coordinates to be treated as 3D
  • New function GetEditorCameraTransform which allows to retrieve Camera Transform in Simulation only.
  • Several improvements and optimizations with Cubic algorithm
  • 3 new delegates which allow to attach additional functionality: OnPreLODGenerate, OnLODGenerated, OnDensityObjectCreated
  • Documentation has been updated to reflect the changes.
  • Demo projects have been updated to reflect the changes.