whitebird
There seems to be no C++ sdk tutorial for unreal.

I want to generate my own astroids/planet like field but I dont know how to start with. I know how to generate 3d values isometric values procedurally but i dont know how to get startet with Voxel Farm SDK?

Can you introduce the process? 
0 0
whitebird
Also all demos/examples working but the one C++ example project with character and blue sky gets frozen at this stage with no terrain?!
0 0
voxelfarmtorres
There is a known issue with UE4 that can cause this. This is not related to Voxel Farm but it happens with some of the assets found in the preview demo. Before pressing play, navigate to a mesh asset in the content browser. The bundle includes some trees from the unreal kite demo. You can open one of these, like a tree mesh, inside unreal by double clicking. Unreal will freeze again. Do not stop it. It is actually processing the asset. This could take hours. Once this finishes this will not happen the next time. Assets will load and play will get the full scene working.

More information in this thread:

https://forums.voxelfarm.com/post/voxel-farm-3-preview-unreal-demo-project-problem-8198543
0 0
whitebird
Thanks it worked now.

Can you tell me how to add another purely procedural voxel object in this example?
0 0
voxelfarmtorres
It is possible to add custom voxel layers in any Voxel Farm application. This requires you to create a C++ class that inherits from IVoxelLayer, which is an abstract interface, and for you to implement at least the getContourData() method in this class. This method is the one that outputs voxels for your layer. It is rather simple, the method will be called by the engine for every cell (or chunk) of the world that appears on the scene. Each chunk is 44x44x44 voxels. There are multiple implementations of IVoxelLayer in the SDK example. You can just search the SDK solution for "IVoxelLayer" and see the example classes. Your layer must set at least a material for the voxels it outputs, and also a "vector" in case you want smooth surfaces.

To add a custom IVoxelLayer in the Unreal integration, locate the VoxelFarmWorldImpl.cpp file and find the constructor object for the VoxelFarmWorldImpl class. In this constructor, you will have access to the "worldGenerator" object. This is where the multiple voxel layers (like terrain) are already inserted. You can insert your own layer there by calling the "addVoxelLayer()" method:

worldGenerator->addVoxelLayer(myVoxelLayer, false);

Where "myVoxelLayer" is an instance of your custom IVoxelLayer class.
1 0