Jump to content
NeoArmageddon

Map Builder - Ingame 3D-Editor for terrain creation

Recommended Posts

mapbuilder_logo.png
Project Website (map-builder.info)

Heyho,

today I want to present a little project I had laying around for quite some time but finally finished a working alpha. The project is called "Map Builder" and it is an ingame 3D-editor with the purpose of help in placing objects, compositions and vegetation when creating new terrains (kind of an improved Buldozer).

 

Description

 

Map Builder is an ingame 3D editor for the game ArmA3 from Bohemia Interactive. Map Builders aim is to assist in the creation of object compositions for terrain creation (export to Terrain Builder), but it can be used for the creation of mission templates (SQM) and object compositions in the form of executable SQF-scripts. Map Builder is not a mission editor. It's sole purpose is the placement and manipulation of static objects. Map Builder is in Alpha state. That means it is not feature complete and definitly not bug free. But I try to polish every release, so Map Builder can be used in a productive environment.

 

Project Status

This project is neither featurecomplete nor fully tested/bugfree. I am releasing a first unfinished version to collect feedback, ideas and bug reports. I want this project to be as open to the community as possible.

 

User manual

 

You can also checkout the Wiki for information on how to use Map Builder.

There is also a manual for version 0.8, but it is depreciated: http://www.map-builder.info/manual/MB_Manual_0.8.pdf

 

Features
 

 
  • Editor View.
  • A complete objectlist from read config.
  • Objectmanipulation (Pos,Pitch,Bank,Yaw,....).
  • Selections (Movement of groups of objects).
  • Copy & Paste.
  • Project saving, loading and merging.
  • Simple export for Terrain Builder (via own FileIO).
  • Export to SQF-script  and mission.sqm (calling it will rebuild the export).
  • Works in Multiplayer.
  • Fence-Mode (Draw a line of snapping fences).
  • Brush mode (Draw objects and compositions)
  • Much more

 

Planned Features
 

 
  • Everything you wish and I am able to script.




License
I release this alpha under ARMA PUBLIC LICENSE SHARE ALIKE (APL-SA)
APL-SA.png
With this license you are free to adapt (i.e. modify, rework or update) and share (i.e. copy, distribute or transmit) the material under the following conditions:

  • Attribution - You must attribute the material in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the material).
  • Noncommercial - You may not use this material for any commercial purposes.
  • Arma Only - You may not convert or adapt this material to be used in other games than Arma.
  • Share Alike - If you adapt, or build upon this material, you may distribute the resulting material only under the same license.

 

The author's name and credits of this projects must stay in all adapted works (in scripts and readme-files).

 

 

Download

 

Version 0.9.1 (with 64bit support)

wiki.map-builder.info/w/Downloads

 

 

Changelogs

 


Older Changelog

 

Version 0.8

 

  • Added some brusher functions (not ready yet).
  • Removed unused XML functions.
  • Fixed object selection when list has null objects.
  • Some adjustments in viewport/selection/objects in preparation for brusher.
  • Added null check and scaling.
  • Added (yet unused) info popup.
  • Moved used window a little bit.
  • Added favorites.
  • Implemented new project filetype for advanced saving capabilities.
  • Added favorites to project file.
  • Added fallback for old project files.
  • Changed 3D preview to real objects instead of dialog objects and added RTT window.
  • Increased versionnumber.
  • Fixed a bug in counting objects for mission.sqm-export (resulting in faulty exports).
  • Fixed a switched if case in check for project backwarts compability.
  • Removed uncommon addon reference.
  • Removed recursive backup duplication.
  • Added middle mouse button work around.
  • Freelook is now in middle mouse button.
  • Added zoom to mousewheel.
  • Removed unused/broken icons.
  • Removed some redundant stuff from A3 upgrade.
  • Added new A3 upgrades that makes all scope=1 A3 objects accessible.
  • Added new mapbuilder_library and mapbuilder_displayname to all CfgVehicleClasses.
  • Preview arrow should now disappear in most cases.
  • Preventing MB from starting on dedicated server (breaks server).
  • Readded function for exact position and changed position data source to obj variables.
  • Made all exports exact again.
  • Added boolean sync parameters to selfupdating functions to prevent feedbackloops in multiplayer (Thanks to ItsDonJon for helping with testing).
  • Renamed mapbuilder_filter to mapbuilder_library and added fallback.
  • Added mapbuilder_displayname (configvalue) to have different names for 2D editor and MapBuilder e.g. "MB A3 Rocks" in Editor and "A3 -> Rocks" in MapBuilder.
  • Added mapbuilder_objEval (configvalue). This expression is parsed for every object before getting written to a library. This prevents for example A2 Rocks to be listet in A3 -> Rocks (they have the same vehicleclass as AiA overwrites them).
  • When inspecting (only) the inspected objects is selected.
  • Improved selection and deselection with faster array commands.
  • Removed some debug output.
  • Added more playable characters and made them CIV.
  • Added first iteration of documentation.
  • Added missing DIK defines.
  • Library is now sorted.
  • Library is open from the start.
  • Readded seperate pitch and bank control.
  • Added check for missing scale in presets.
  • Added scale to preset.
  • Increased version to 0.8.
  • Restructured addons.
  • Made selection of objects underwater possible. Moving objects when the cam is underwater is not possible yet.


Version 0.7.2 Alpha

  • Fixed: Missing Itemcount in SQM export.


    • Version 0.7.1 Alpha
      • Added: New Event/Callback system.
      • Reworked UI (Grid system, moveable windows, etc).
      • Merged object manipulation to new callbacks and viewport.
      • Added: New Viewport mouse handling.
      • Fixed: Orientationreset is now applied instantly.
      • Readded terrain aligment.
      • Added: Terrain aligment in fencer.
      • Updated DLLs.
      • Added: First iteration of object inspector.
      • Added: Select all used object of a specific type in inspector.
      • Fixed: An object can only be selected once at a time.
      • Fixed: Rotation in 3D preview.
      • Added version checking.
      • Added: New UI functions in Fencer.
      • Added: Fast move and freelook (spacebar).
      • Added: 3 different Fencer height placement modes.
      • Moved Heightadjustment to Ctrl (was Shift).
      • Fixed: Bug in Rectangular selection, when drag ended outside the viewport.

 

Version 0.7 Alpha Preview/RC2
 

 

  • Fixed a typo preventing the exportmenu to be opened.
  • Versionnumber increased.
  • Added: A2 object definitions (AiA) by courtesy of MemphisBelle.
  • Renamed A3 editor defines to distinguish between A3 and A2 packs (and later A1).
  • Changed how library reads objects and their classes (only classes with objects are stored).
  • Moved mapbuilder_filter to cfgVehicleClasses (makes more sense).
  • Fixed: Exact height gets corrupted at low values (e-factor).
  • Fixed: Exact height is unreliable when negative.
  • Fixed: Quotes in SQF export.
  • Added: A1 Objects.
  • Disabled autosave temporary.
  • Changed: General object handling (more stable and versatile).
  • Added: Custom MP synchronisation.
  • Added: "Used objects"-library.
  • Changed: MB-action menu is now waiting for the initialization.
  • Fixed: Selection is now cleared on deselect.
  • Changed: Object movement is now handled on a relative, per-loop system (like other movements too) (experimental).
  • Fixed: Gimbal-locks and rotation.
  • Added: MB is now Scruffy-hardened (I hope so).
  • Added: Classname behind all library objects.
  • Added: Objects without displayname are now skipped.
  • Added: A3 LoadingScreen to accelerate load/save time.
  • Added: 3D preview of Library-objects.
  • Changed minimal scope to 2 for objects to get listed.
  • Objects must have a model to be listed.
  • Camera is now updated before config access to prevent a jump in the camera.
  • Project window can now be toggled by Project-Button.
  • Cleanup of dialog functions.
  • Added: General defines for ControlGroups.
  • Added: Function to calculate DirAndUpVector without applying vector to an actual object.
  • Added: Presets.

 

Hotfix 0.6.1 Alpha
 

 

  • Changed: Floats are converted to string to increase decimal precision to 8 digits at every coordinate. Fixes missaligned objects on large terrains.

 

Version 0.6 Alpha

 

  • Fixed: Broken relative position and rotation with copied selections (Copy and Paste).
  • Fixed: Keypresses are resettet if the mouse leaves the main view. Prevents stuck movement keys.
  • Added: Map dialog with fast travel (single leftclick).
  • Added: Experimental SQM export.
  • Added: All A3 objects are nor placeable thanks to CypeRevenge. They have the "(MB)"-Suffix in the list of objects.

 

Version 0.5 Alpha
 

 

  • Changed: Objects have now simulation disabled again.
  • Added: Project managment (Save/Load/Merge).
  • Added: Exports can now be named.
  • Added: SQF-Script export (this is for the mission makers).
  • Added: Editorupgrade by CypeRevenge. Plants and Rocks out of the box!

 

Version 0.4 Alpha
 

 

  • Added: ModFolder @MapBuilder
  • Added: FileIO-Extension for reading and writing files.
  • Added: Export now saves into a file (@MapBuilder\exports\TBexport.txt).
  • Changed: Blue is now more blue (Thanks M1lkm8n)
  • Added: Loadingscreen Banner and MB-Icon
  • Fixed: Objects are created exactly where you clicked (Thanks M1lkm8n)

 

 

 

Version 0.3 Alpha
 

 

 

 

  • Changed: Simulation is enabled for all objects now (better MP performance of non-local objects).

 

 

 

Version 0.2 Alpha
 

 

 

 

  • Added: Numpad camera control (thanks Nigel)
  • Added: synchronization for layers (MP: You can select other players objects).
  • Known bug: Non-local objects are not updated properly (engine "feature"?).
  • Changed: Boundingboxes and selections are now blue (better visibility).
  • Added: Credits and titles to description.ext

 

Version 0.1 Alpha

 

  • Initial release


Installation

See http://wiki.map-builder.info/w/Installation


Project managment:

Click the "Save/Load Project"-button. Select a project from the list to load or import it. Write a new new in the textinput and click "Save" to save it.
Clicking a project from the list and saving will override the existing project.
Loading a project will delete all currently placed objects. Save your work before you load a project!
Import will merge a project into the currently loaded project.

Projects are saved in @MapBuilder/projects
Project file fromat may change in the future. Export your objects as often as possible!


Export
Exporting multiple files with the same name will overwrite the last export!

Press the export button, enter a file name and click the export specific button. TerrainBuilder, SQM and SQF is supported at the moment.
TerrainBuilder-exports can be reimport into Terrain Builder by drag&drop the created file directly into the Terrain Builder window.
The objecttemplates must be in your objectlibrary before you import the list!

SQF exports can be loaded into a mission by copying the export to the mission folder and executing

nul = [] execVM "exportname.sqf";

while the mission runs.

All A3 objects and ArmA2/ArmA1 support

Since 0.5 an editorupgrade by CypeRevenge is bundled with terrainbuilder!

Through the "Config" node it is possible to place every object with a proper config on the map. But there are also AddOns that add prior non available objects to the editor and Map Builder.

You can find some of this AddOns at the Map Builder Download page.

 

There are also AddOns that come with Map Builder support out of the box, like Poolpunks Beach Objects and CUP Terrain Pack.

Missionmakers: Remember that using a editorupgrade creates an dependency between your mission and the upgrade-addon!

Known Bugs
Sometimes ArmA3 doesn't pass mouse input to Map Builder. Closing and reopening of the MB interfaces fixes the problem.


Videos & Screenshots
http://cloud-4.steamusercontent.com/ugc/45374916601994592/5D4B94B4DD02D9B5567E4BEC5A4A864AF9CB1A4B/

 

 

 

 

http://wiki.map-builder.info/images/b/bd/BrusherForest1.jpg

http://wiki.map-builder.info/images/c/ca/MapbuilderVR.jpeg

http://wiki.map-builder.info/images/2/2e/Fencer5.jpg

Credits
CypeRevenge - A3/JBAD Editor upgrade included in MapBuilder.
Giallustio - JBAD config.
ItsDonJon - MP testing and feedback.
ZeroG - A2 editor upgrade.
Scruffy - Testing and config stuff.
MemphisBelle - Testing and config stuff.
Mondkalb - Showing me how to create dialogs back in the good old times, precisionfix.
cyrokrypto - Helping with some UI issues.
Maikeks - Proofreading every single sentence - twice!
Bushlurker, Jakerod, M1lkm8n, NigelS, badbenson, Giallustio and all the guys from the map maker skypegroup for discussions, feedback and help. I am doing this for you guys!

Skype
Map Builder now has an own Skypegroup. Everyone is invited to join the group to ask questions, get support, request features, give feedback or just discuss your awesome project you are building with MapBuilder:
MB Skypegroup

We switched from Skype to Discord. See below.

 

Discord

You can join the official MapBuilder Discord Channel here: https://discord.gg/0kV3JvVEhmllyCK9

 

Help
I want to cleanup the scripts and then I want to upload the project on bitbucket/github so everyone can fork this project and send me patches or features.


Feedback and Suggestions

YES! That is the reason I post this project this early! I need feedback, ideas, complains, wishes, suggestions, bugreports and more! Just reply in this thread, write me a PM, add me in skype or steam or write me a mail!

  • Like 4

Share this post


Link to post
Share on other sites

*drools*

WANT! :yay:

I'll just wait until you re-add the selecting of other player's stuff in MP but it looks awesome :) I'll be forking your repo once it's up and see if I can be of any use.

Share this post


Link to post
Share on other sites

Awesome, will definitely help a lot if buldozer doesn't want to work anymore.

Share this post


Link to post
Share on other sites
Guest

Thanks for informing us about the release :cool:

Release frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means soon you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites
wow thats very nice, so i can use this instead of buldozer in future, right ?

In regards of object creation and placement: Yes, definitly. That is my whole intention. Make object placement more comfortable and provide handy features for in buldozer tedious tasks. But most of this is not in yet.

Share this post


Link to post
Share on other sites

wow! looks very nice indeed.... are there plans to add the ability to actually modify the terrain itself with this in realtime?

Share this post


Link to post
Share on other sites
wow! looks very nice indeed.... are there plans to add the ability to actually modify the terrain itself with this in realtime?

Probably not. The only way to do this, is to create a fake grid of some helper objects and modify them instead of the terrain, then export a xyz-file and reimport it to TB. Homer Johnsons Roadpainter did this for smoothing roads but I am afraid it is not very usable for directly editig terrain.

But I am working on other very handy features.

Edited by NeoArmageddon

Share this post


Link to post
Share on other sites

Amazing stuff, every terrain maker's dream come true. Keep up the great work, Neo!

Share this post


Link to post
Share on other sites

Looks pretty decent so far Neo :) Keep up!

I guess it lets one also appreciate a lot more how much effort Silola has put into 3DE/X-Cam.

In any case every tool to helps to reduce the effort involved is a big step forward!

Share this post


Link to post
Share on other sites

To keep you guys updated:

Already implemented for the next update:

-Bounding boxes are blue (better visibility)

Planned (thanks to all of the feedback):

- Reenable MP editing of other players objects (I totally missed that, sorry)

- ArmA-style-numpad-control (Thanks Nigel... seems like I totally missed that too)

- A map for quick movement around the terrain (Thanks AustinAtSt for the idea)

- Direct save to file via extension

I hope to finish most of this this evening. I am also planning to record a multiplayer session of me and my squad creating a base or a city in MP.

Keep the feedback and ideas coming!

Share this post


Link to post
Share on other sites

Awesome work friend! It's a Saviour for me.

I havent been able to get Buldozer to work in almost a year, no matter what I tried.

Now I can move foward with my Island.

Share this post


Link to post
Share on other sites

So just to be sure

when this gets updated to allow saving to .sqf, that means we'll simply be able to place objects on the map before making an actual mission? Like if I want a furnished building for my mission, I can create it with this tool and then open the sqf in the editor and make the actual mission, correct?

Share this post


Link to post
Share on other sites
So just to be sure

when this gets updated to allow saving to .sqf, that means we'll simply be able to place objects on the map before making an actual mission? Like if I want a furnished building for my mission, I can create it with this tool and then open the sqf in the editor and make the actual mission, correct?

The sqf must be called to recreate the objects. You can add [] execVM "mySavedFile.sqf" to a unit, init or trigger and the exported objects will be recreated. I think you mean sqm (a real mission file, not a script). But that is also possible further down the road (but not top priority).

Share this post


Link to post
Share on other sites

I just took it for a spin and I'm blown away. This will be in my toolbox from now on, you can count on that. If I run into any issues other than the gimbal lock I'll report back :)

Share this post


Link to post
Share on other sites

Heyho,

I uploaded two little updates (see first post).

The boundingbox have better visibility, I added NumPad-cam control (like the freelook-movement) and reenabled editing of remote objects.

Please not that non-local objects (objects created by other MP players) behave very sluggish due to ArmA's network broadcasting of static objects. I am working on this (creating local instances of all objects).

Next up:

Direct file storage

Improved UI

Better MP

Share this post


Link to post
Share on other sites
Guest

New version frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means soon you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites
The sqf must be called to recreate the objects. You can add [] execVM "mySavedFile.sqf" to a unit, init or trigger and the exported objects will be recreated. I think you mean sqm (a real mission file, not a script). But that is also possible further down the road (but not top priority).

oops, I was confused. that's even better actually, thanks so much

Share this post


Link to post
Share on other sites

Hi! Very necessary and useful script! Please explain to me in more detail on how to keep me The created project.

Share this post


Link to post
Share on other sites
Hi! Very necessary and useful script! Please explain to me in more detail on how to keep me The created project.

You can save the mission from thr escape menu and load it later.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×