(WIP) Open World Kit

Started by
3 comments, last by Twofaced 7 years ago

Introducing you some work which I do for my current project. For the most part, the OWK relates to a procedurally generated world, editing the environment in real time, working with files, and 3D interface.

I’m going to make flexible and very simple system which based on sandbox model. All to create a tool for building a virtual universe. So the name is VR Constructor. Development is still at the stage of testing the hypotheses, functionality and architecture of the platform. I'm sure that almost all of you can handle gray cubes style. Anyways, most of the planned models on my machine could not even load)) Most of the code is written on BP, because the speed of code editing and visibility are priority in my case.

Can’t promise you tutorials (especially video), because I hate this format of information, but I will answer all the questions with pleasure and try to explain how I achieved any feature. As soon as the features are ready I’ll post them in this topic.

1) Procedural 3D UI.



With this, I started working on the Open World Kit. In general, it is supposed to be used with a VR headset and haptic gloves. But since I do not yet have the opportunity to test the work in this configuration, I did something universal. Buttons can be made as follows:
buttons.gif
(Leap Motion)

source.gif
(my UE4 realiazition)

A good designer would turn the rest of the menu into something cute, like a holographic interface from a sci-fi movie, but for the sake of functionality it’s enough.

2) Procedural thumbnails for spawning meshes.


To place objects, you first had to load them into the interface. But I was terribly lazy to create my own picture for each model, and the essence is not in the models. So I just generated thumbnails automatically based on the list of objects that are in the props folder.

Advertisement

3) Procedural mesh database.

[attachment=35340:2017-03-16_23-37-37.png]

Actually, the database consists of the main menu, for which you can specify pictures and names, and objects for placement. The longest I was busy with the creation of a procedural database for the Constructor, which differs from most open world solutions, in that the user should be able to import their meshes into the engine in the simplest possible way: by copying the fbx model into a special folder. The work is still far from complete, since fbxsdk, and the source code of the engine is still a swamp, but something works... In the near future I want to add more meshes and decompose them into categories depending on the mesh tags.?

4) Runtime Terrain Generator

There are already several similar implementations on our forum, and some of them with free access, but they are all so complex that it’s not so easy to understand the details of algorithm, and even more difficult change them for my purposes. Therefore, I decided that it would be easier to write my own vertex generator, calculate triangles and create a Runtime Mesh based on them. It turned out quite well. Lags and FPS dropping are more likely due to the recording program.

In the future, I want to implement the cherished feature of many developers: the procedural placement of pre-created areas in the middle of the random terrain.

5) Procedural Voxel Terrain.



Since everyone loves voxels so much, it's not so difficult to remake heightmap into the Minecraft-like world)

6) Building system.

giphy.gif

A core system of Open World Kit, allowing the user to place objects, both from database, and their own. Mesh pivot must be placed at the bottom to build correctly. I have not done the switching of the snapping and checking for the overlap yet, but this is a trivia compared to the rest of the algorithm. When placing an object, the mesh material dynamically changes.

This topic is closed to new replies.

Advertisement