RuntimeMapMaker 3D

A plugin for custom building maps during Unity runtime

"Runtime Map Maker 3D"is a plugin for custom building maps during Unity runtime. It allows your game to have the function of customizing the map at runtime, and helps players develop their inspiration in your game.

"Runtime Map Maker 3D" 是一个Unity运行时自定义建造地图的插件。它能让你的游戏具备运行时自定义地图的功能,帮助玩家在您的游戏中发挥自己的灵感。

The plug-in has a highly configurable plot size and construction prefabricated units. Through the RMM3D settings window, you can easily convert your prefab into RMM3D prefabricated units.

该插件具有高度可配置的地块大小和建造预制单元,通过RMM3D的设置窗口,您可以轻松的将您的预制体转换为RMM3D的预制单元。

Note that the script object of the plugin is currently managed by Zenject dependency injection. If you are not familiar with dependency injection, please refer to Zenject. Of course dependency injection does not affect the coding of your main game.

注意,目前,插件的脚本对象是由Zenject依赖注入管理的,如果您对依赖注入不了解,请查阅Zenject。当然依赖注入并不会影响您主体游戏的编码。

You can find the free version of this project on Github

Dependence:

Extenject Dependency Injection IOC

Features:

● Snapping from the 3D grid

● Brush placement

● Area Selection

● Move selected

● Brush Deletion

● Area Deletion

● Save/Load

● Undo/Redo all of actions

● Auto generate UnitBlock preview image

Nomenclature:

UnitBlock: The prefab units you edit/build in RMM3D at unity runtime.

SourcePrefab: The source prefab/FBX you want to convert to UnitBlock.

Simple start up:

1. Open "Tools/RuntimeMapMaker3D/UnitBlock creator window".

2. Build Asset bundle, at "modify unitBlock" tab.

3. Now, you can start the journey of RMM3D. (If you encounter any problems, please refer to the following section)

Convert source prefab to UnitBlock:

● Before conversion, make sure you have created SourcePrefabTreeAsset, it is used to distinguish your unitBlock type.(You can create it by right click in the project panel "Create/RMM3D/TreeAssets/Source Prefab Tree Asset")

● At "Convert Fbx" tab. You can see the SourcePrefabTreeAsset you created, drag and drop your source prefab to the treeview box on the left.

● Up on the treeview box, you can choose what type of unitblock to convert.

● After clicking the convert button, you can find the converted unitblock in the output directory.

● Of course, you can also change the output directory in the settings tab.

Modify UnitBlock:

● Before modifying, make sure you have created UnitBlockTreeAsset.(You can create it by right click in the project panel "Create/RMM3D/TreeAssets/UnitBlock Tree Asset")

● At "Modifty unitBlock" tab. You can see the UnitBlockTreeAsset you created, And drag and drop your converted unitBlock prefab(converted from sourcePrefab) to the treeview box on the left.

● In order for your unit blocks to be selected in the blocks selection panel, you need to create a preview image for them.

● RMM3D provides you with a simple solution, you can click the "Generate preview textures" button on the "Modify unitBlock" Tab to generate simple previews. By default, these generated images will be at ("Assets/RuntimeMapMaker3D/ArtWorks/Textures/UnitBlocksIcon/"), you can also change the output directory in the settings tab. Of course, it should be noted that these preview images also need to be packaged into assetbundle like simple start up does.

● After generated preview images, We need to generate data model for unitblocks and bind them to RMM3D. Click the following 3 buttons "Add to MakerSceneSetting", "Create UnitBlockModels", "Add unitBlock facade component".

● Build Asset bundle, at "modify unitBlock" tab.

● Now, you can start the journey of RMM3D.

On play mode:

● In the upper left corner of the Game window, this is the area where we can save, load, and reset the map you have created, And undo, redo your design operations.

● In the upper right corner of the Game window, You can choose different operation handlers, which can be used to Brush/Select/Delete/Move your unitBlock.

● At the bottom of the game window is the unitBlock selection panel, which will be placed in different tabs according to different types.

● On the left side of the game window, the vertical slider bar is used to change the map base when you operate the unitblock.