simlu / voxelshop

This is the official repositiory for VoxelShop
https://blackflux.com/node/11
Apache License 2.0
350 stars 66 forks source link

Procedural creation #178

Open MrTopom opened 7 years ago

MrTopom commented 7 years ago

As I need it for my current project, I just initiate an issue related to this aspect.

I have to create different geometric objects of different sizes AND have some meta information extracted from the generation (Bounding box, surface perimeter...).

Sample ideas:

Description

box sx:10, sy:10, sz:20, id: base meta-data src:base data:top-face

VoxelShop Activity

load-desc base.desc save models/base.vsd export target-dir/base.dae save-meta target-dir/base.meta.txt

would create a base.vsd file, the corresponding dae file and also the meta-information. Directly in the Unity directory.

MrTopom commented 7 years ago

The idea is to provide a set a simple command for usually thinks to do.

Sample 1: Provide some different roofs like here https://cdn-business.discourse.org/uploads/stonehearth/_optimized/1d7/9f2/1257bc33c63_690x417.png

Selecting the perimeter of your top face house you could then generate a roof from different roofs set.

Sample 2: Generate Castle or house with typical architecture aspect

Sample 3: Generate Some island/mountains/sea

Sample 4: In a model, define some water source and then add the voxels for the falling water.

simlu commented 7 years ago

So my initial idea is this: You select the shape tool and a "variation". You then drag an area and it fills the area according to the variation. Variations are math formulas as described here: https://github.com/simlu/voxelshop/issues/43#issuecomment-258135187

simlu commented 7 years ago

This will be implemented as part of https://github.com/simlu/voxelshop/issues/43

Once that is done we will revisit what still needs to be done.

simlu commented 7 years ago

There are actually two tasks in here. One is the procedural creation and the other is exporting.

MrTopom commented 7 years ago

Procedural is different from tools.

So there is development to create new tools, based on new behaviors and on the other side create a procedural format/tiny language to be able to use those behaviors.

simlu commented 7 years ago

Yes, but the shape tool will use the "tiny programs". And a "procedural generation" is just a tool flavor with a different "tiny program" (algorithm).