[FREE] Block Constructor Plugin

&stc=1

**

This plugin original goal was to test out Unreal Engine Plugin capabilities, to work with InstancedStaticMeshComponent and threads.

[SIZE=5]
[/SIZE]
[SIZE=5]I have [SIZE=6]never played Minecraft.[/SIZE][/SIZE]****

[COLOR=#ff0000][SIZE=4]Block Constructor Plugin - YouTube
[/SIZE][/COLOR]

BlockLayer

  • (Child of InstancedStaticMeshComponent) Component corresponding to specific ID and Material Instance, contains the block data and Instances.
    **[SIZE=3]
    LevelBlockConstructor
  • Holds array BlockLayers corresponding to blocks withing the area of constructor.
    **
    WorldGenerator
  • Class that generates endless terrain(LevelBlockConstructors) using Perlin Noise.

BlockMaterialIDTable
-Table that holds ** material Instance **[SIZE=3]corresponding to **[/SIZE]**MaterialID .

There are tons of configurations available starting from the mesh, possible material instances, terrain build speed and amount, terrain size and height, rendering distance, perlin noise and many more.

[/SIZE]**Generated Maps data:

GitHub:
https://github.com/vagenv/BlockConstructor

How to Install:

  1. Copy BlockConstructorPlugin into /Plugin/ folder in root of your project folder.
  2. Copy BlockConstructorPlugin/Content/ into /Content/ folder in root of your project.
  3. Download Generated Map Data and extract it into D:/ ( Optional - Contains save data of Maps)

If there are any problems or issue please do not hesitate to contact me.


Known Issue:

Error UE-13213 caused by Non-uniform scale of Instances in InstantStatiMeshComponent

[SIZE=4]_____________________________________________________________________________________

Future goals:

  • Asynchronous data saving and loading.
  • Improved method of adding and destroying Instances in BlockLayer.

[SIZE=4]_____________________________________________________________________________________

[/SIZE]
Good Luck

Generated from heightmaps[/SIZE][SIZE=6] (Australia and Britain)[/SIZE][SIZE=6].

[/SIZE]

&stc=1

&stc=1

&stc=1

&stc=1

&stc=1

&stc=1

World Generator (Using Perlin Noise)

&stc=1

&stc=1

&stc=1

&stc=1

&stc=1

Nice work, this looks interesting! Keep making content, I just saw your “Rade Dynamic Shooter Template” too.

~ Patrick.

Added several screenshots.

The screenshots make it look so cool!! I can’t wait to see what people do with this.

Just found out about this today -

Giving it a download and will give you feedback :slight_smile:

What version of the engine is this plugin compatible with @Vagen?

I have tried running this with 4.10.4 and 4.11.2. Both of them were not compatible with the plugin and did not work.
I have logged the issues on github.

Sigh

I had the same issue with all my projects.

I don’t know why but UE system believes that I have some custom version of the same version and requires full recompile of the projects.

I thought that if it would be plugin there would be no such issue.

The project is compiled under 4.11.2

&stc=1

Just recompile it. You would need C++ source of engine.

I am really sorry. If anyone can help with this issue I would be really grateful.

With Best Regards

Hey Vagen,
I think I figured out why the plugin wont run under 4.11.2

You possibly uploaded an older version of the plugin. The version I have is for engine version 4.2.0

I am not sure if it will solve the problem. But I changed the version and rebuilt the plugin.

If you have any other problems please do not hesitate to contact me.

Good Luck.

@Vagen - I got it working!

There was an Out of date DLL that was not supposed to be there. I assume ofc.

For some reason, the Plugin will not generate anything, even within the maps you made.
No idea what is wrong, since there is no Error in the Logfile.

Maybe the best way to share the plugin is to directly rebuild it with the engine and put it on git. (if that is allowed/possible)

And: That looks great, i “need” to play around with it >.<

I am currently rebuilding whole engine.

But I think your problem lies with the heightmap itself. Please open one of heightmaps provided and look at the settings.

Mipmaps Setting = [NoMipmaps]
Compression Setting = VectorDisplacement (RGBA8)
sRGB= false

After that press reimport and your heightmap should work.

Press [Generate Bit Data from Texture]
after that [Horizontal/Vertical Optimization]
As soon as you see log that optimization if finished press [Build Blocks]

Good Luck.

First of all: Thank you for your effort to help us :smiley: (By “us” i mean everyone who runs into Issues)

The Heightmaps are fine, but i get the following Error when i try to optimize: (In your “Britain” map - UE 4.11.2)

BlockPlugin:Warning: Can’t optimize. Data or Layers Empty.

This literally means that there is no data to optimize.
The plugin is not saving BitData as it takes too much space in ram and harddisk.
But bit data is automatically generated when you load data from some file ( press [Load Data] )
Here are the save files.[It was in description. Download and Extract into (D:) ]

You could also regenerate the whole map if you want. Look at the youtube video.

Also please check every value when creating/adding new LevelBlockConstructor. LevelSize, LevelHeight, BlockMesh, BlockMaterial etc.]

You can create a Blueprint prefab with those value and drag and drop them into level.

Good Luck.


I also recompiled the whole engine and plugin as Engine Plugin.


Nice work!
This looks so good I need give a try to this.

This doesn’t seem to be working with packaged projects, nothing is generated. Unless I’m doing something wrong, but it works in the editor. I’ve also tried setting your world map as the default, with the same result. Other than that very nice and thanks for sharing! :slight_smile:

In UE 4.11.2 Constant Error when starting: “Missing or incompatible modules in BlockConstructionPlugin plugin …”
There is no any directory “Content” in dir “BlockConstructorPlugin” in your BlockConstructor-master.zip, so how accurate is this tutorial at all?

Sure there is; BlockConstructor-master.zip\BlockConstructor-master\Content

Also, you’ll want to read this guys’s comment;

“BlockConstructor-master.zip\BlockConstructor-master\Content” is not equal to “BlockConstructor-master.zip\BlockConstructorPlugin\Content” (there are complete different, don’t ask me why)
2.
I made C++ blank project; delete all files in "f:\UnrealEngine Projects emp2\Plugins\BlockConstructorPlugin\Binaries\Win64";
When start compiling in VS2013 =>There are the errors:
a)
Error 1 error C2661: ‘stat::stat’ : no overloaded function takes 2 arguments f:\unrealengine projects emp2\plugins\blockconstructorplugin\source\blockconstructorplugin\System\LevelBlockConstructor.h 306 1 temp2
b)
Error 2 error C2661: ‘stat::stat’ : no overloaded function takes 2 arguments F:\UnrealEngine Projects emp2\Plugins\BlockConstructorPlugin\Source\BlockConstructorPlugin\System\LevelBlockConstructor.h 306 1 temp2
c)
Error 3 error : Failed to produce item: F:\UnrealEngine Projects emp2\Plugins\BlockConstructorPlugin\Binaries\Win64\UE4Editor-BlockConstructorPlugin.dll f:\UnrealEngine Projects emp2\Intermediate\ProjectFiles\ERROR temp2
d)
Error 4 error MSB3073: The command “F:\UnrealEngine\Engine\Build\BatchFiles\Build.bat temp2Editor Win64 Development “F:\UnrealEngine Projects emp2 emp2.uproject” -waitmutex” exited with code -1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets 38 5 temp2

Just for comparison, I start/compile without a problem BrickGameUE4.11.2

You might need Visual Studio 2015 I guess, it works just fine over here whether I make a C++ project or a BP project. I recorded a quick little video of how I set it up with a BP project;