Jump to content
Greenfist

DEFORMER - terrain height map editing in 3DEN

Recommended Posts

DEFORMER

dlSq7qS.jpg
Features

  • Edit terrain's heightmap directly in the 3DEN editor.
  • Raise, lower, smooth or flatten the ground.
  • Works on any map.
  • Convert static map objects into editor props so they can be easily adjusted to fit the new terrain.
  • Edits are saved in the scenario file and applied automatically at mission start.
  • SP and MP compatible (mostly). In multiplayer, only the server needs to have the mod.
     

Brief demo: (from older version)

 

How to:

  • Press SHIFT+Y in the editor to open the Deformer toolbar.
  • More detailed instructions are found on the toolbar help button under settings menu.
  • Save the mission before playtesting it!


Download at Steam Workshop:
https://steamcommunity.com/sharedfiles/filedetails/?id=2822758266

 

Important:
Converting static terrain objects requires that they are available in 3den. You might need additional mods to gain access to them.

Very large edited areas may lead to unforeseen consequences; low performance, instability.

This mod is very alpha, and might break at any time. I can't guarantee that everything you make with it will work in future versions.

 

Possible features in the future:

  • performance optimization
  • make missions standalone so they can be played entirely without the mod
  • More deformation methods 
  • Export as SQF and/or other formats
  • Like 13
  • Thanks 7

Share this post


Link to post
Share on other sites

Many a time building FOB's I kept thinking, "Man, if only this spot was nice and flat, I could have built here" and now.....after years of wishing, I can. Looking forward to this for sure. Thanks for putting it together for the community to check out! 🙂

  • Like 5

Share this post


Link to post
Share on other sites

Curious could you make it so that instead of it deforming up and down it rather flips the axis to go side to side? Not sure if this would in a sense push out land along the X axis (if thats even correct) or instead "hides" the land allowing people to make tunnels and bunkers in game without the whole make a comp out in the water and using teleporter tunnels to "enter" an underground area.Curious to see how well this goes because it can completely change map making for A3. Terrain making makes my head hurt looking at the process of it.

Share this post


Link to post
Share on other sites
2 hours ago, Outbreak-81d3b86bd2f51776 said:

Curious could you make it so that instead of it deforming up and down it rather flips the axis to go side to side? Not sure if this would in a sense push out land along the X axis (if thats even correct) or instead "hides" the land allowing people to make tunnels and bunkers in game without the whole make a comp out in the water and using teleporter tunnels to "enter" an underground area.Curious to see how well this goes because it can completely change map making for A3. Terrain making makes my head hurt looking at the process of it.

That's not possible in Arma. Each 2D map position can have only one height, so the ground can't fold over itself to create tunnels.

  • Like 1

Share this post


Link to post
Share on other sites

UPDATE September 25th 2022
 

KNOWN ISSUES
- objects set to "Local only" in the editor are still in wrong positions in multiplayer 😞
 

NEW
- IMPORTANT! Erasing edits (ctrl+6 previously) and object conversion tool (ctrl+5) are moved into separate editing modes. These modes are activated with the two new mode buttons on the toolbar.
- The height map data is compressed when saved. Mission file is smaller and supports more edits, but in turn, saving edits can cause worse stutters.
- Added new "Tools & settings" menu to toolbar.
- Experimental perlin noise generation tool. Hold ALT+3 (opposite of smooth). Noise pattern is (semi-)randomized on each key press. Adjust noise pattern's size in the Tools menu.
- Dark brush mode in the Tools menu. More visible in bright environments.
- Tons of structural changes under the hood. Please report if mod catches fire.
 

IMPROVED
- height limit feature tweaked when using raise/lower
- optimized some large area deformations.
- resetting all the edits at once was too slow.
- the grid overlay is now smaller on smaller brush sizes
- adaptive raise/lower is now much smoother.
- also smoothing is more smoother.


FIXED
- mission broke when there were too many edits. Maximum number of possible deformations is increased and player is notified if the limit is close. Old broken missions should now work and will be automatically converted to the new format.
- some height points at the same height as the default terrain were unnecessarily saved in the Deformer data.
- failing to convert terrain objects didn't mark the missing objects

  • Like 5
  • Thanks 1

Share this post


Link to post
Share on other sites
22 hours ago, Greenfist said:

KNOWN ISSUES
- objects set to "Local only" in the editor are still in wrong positions in multiplayer

 

Bummer, I hope you have a chance to sort this out.

 

I was thinking of making a mission with a tunnel and I did check the box for local only on many objects. Have not tested it yet though.

Share this post


Link to post
Share on other sites
3 hours ago, major-stiffy said:

 

Bummer, I hope you have a chance to sort this out.

 

I was thinking of making a mission with a tunnel and I did check the box for local only on many objects. Have not tested it yet though.

I think I know the reason why locals don't work but I'm not sure how to fix it yet. It should be possible, one way or another though.

MP scripting is still pretty new stuff to me, so it will need some figuring out.

Share this post


Link to post
Share on other sites
2 hours ago, Greenfist said:

I think I know the reason why locals don't work but I'm not sure how to fix it yet. It should be possible, one way or another though.

MP scripting is still pretty new stuff to me, so it will need some figuring out.

 

I'm taking a look out of curiosity, and I suspect that a few of the scripts & functions you use need to run where objects are local, with the help of remoteExec.

For instance, using 'hideObjectGlobal' from the server on local only objects will only affect them on the server, and they remain visible on clients (the solution here would be to run 'hideObject' locally, on all clients).

The problem with remoteExec is that it won't return the data you want to the server, so that would mean restructuring your code in order to have one "remote" function to handle everything client side (hiding, replacing, updating) when necessary.

 

 

It's late here and I haven't tested any of this - so take it with a grain of salt. 😉 

Share this post


Link to post
Share on other sites

Is there any chance to grab the .asc format of the terrain height coordinates?

Share this post


Link to post
Share on other sites
On 9/27/2022 at 12:23 AM, haleks said:

 

I'm taking a look out of curiosity, and I suspect that a few of the scripts & functions you use need to run where objects are local, with the help of remoteExec.

For instance, using 'hideObjectGlobal' from the server on local only objects will only affect them on the server, and they remain visible on clients (the solution here would be to run 'hideObject' locally, on all clients).

The problem with remoteExec is that it won't return the data you want to the server, so that would mean restructuring your code in order to have one "remote" function to handle everything client side (hiding, replacing, updating) when necessary.

 

 

It's late here and I haven't tested any of this - so take it with a grain of salt. 😉 

Yeah, I assume the problem is that the locals are created on the client before the setterrainheight comes through from JIP,  causing their altitude to shift along with the terrain. I'll have to find a way to recognize those local objects from the server side, know their intended positions and then adjust them on the client... somehow...and gracefully.

 

On 9/27/2022 at 1:47 AM, icebreakr said:

Is there any chance to grab the .asc format of the terrain height coordinates?

I made a rudimentary function for this some time ago, but while it produced a legit looking output, at least Terrain Builder didn't seem to import it correctly. I may have been using TB wrong though, not an expert on it. (I think this stub of a function is still buried in the public version of the mod.)
I will definitely get back to it after the more pressing issues are sorted.

  • Like 2

Share this post


Link to post
Share on other sites

You could,as a reply to the issue you can`t make things to go underground:  Do this instead,  Go to Raise  Ground---Make a raised item.  Make new Layer--Name Layer  ( ----)  ,Make Surface Layer,  Insert a Cave part with a door (from an other mod)  and put it in a ditch and put a floor on a defined part above ground and ,floor and roof and add a copy of the ground ,the same as when you could get rid of the grass.

  • Like 1

Share this post


Link to post
Share on other sites

UPDATE October 23th 2022
FIXED

- objects with "Local Only" or "Simple Object" attribute in the editor should be at correct height in multiplayer.
- edits at map edges would cause the entire height map to fail. Such old broken missions will now work again.
- auto leveling objects failed on some occasions.
- some debugging was accidentally active and spammed logs at mission start.

----------------------------

 

The fix for the annoying local objects is somewhat brute duct tape and prayer kind of fix, but it seems to be solid enough for the time being.
If you experience any new catastrophic errors, the previous version can be downloaded here: https://steamcommunity.com/sharedfiles/filedetails/?id=2879056157

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

(NB looking a gift unicorn in the mouth)

 

Is there a way of "exporting" the deformations as script commands, so that server is not required to run the mod?

Share this post


Link to post
Share on other sites
9 hours ago, Melody_Mike said:

(NB looking a gift unicorn in the mouth)

 

Is there a way of "exporting" the deformations as script commands, so that server is not required to run the mod?

Not right now, but that has been in the works a bit already. Should be very much doable, since the deformations and object handling in mission don't really require any special modded things. I'm just not sure yet what's the best way to deliver them; for example where to store the data and scripts, have them run reliably at the right time, be user somewhat friendly etc.
 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Is there something I am doing that cause the Trees, Rocks and Bushes to come back when using "Hide Terrain" in Multiplier but not there in EDEN?

Share this post


Link to post
Share on other sites
On 10/27/2022 at 12:48 AM, Greenfist said:

Not right now, but that has been in the works a bit already. Should be very much doable, since the deformations and object handling in mission don't really require any special modded things. I'm just not sure yet what's the best way to deliver them; for example where to store the data and scripts, have them run reliably at the right time, be user somewhat friendly etc.
 

This is awesome.

 

Would be nice if there was a way to plop down and resize/reshape similar to triggers, maybe use the z axis to adjust height, and still be able to retain all the same options (harshness, etc). This would make uploading base compositions super easy. Would also make loading in comps on varied terrain a lot easier as well, at least in my minds eye, since the deformation would be part of the comp.

 

Thanks for this.

Share this post


Link to post
Share on other sites

I may be a bit daft but what does
 

Quote

Edits are saved in the scenario file and applied automatically at mission start.


exactly mean? I tried running a mission after deforming the terrain and saving and when I loaded the mission, the deformations were not visible. Any more. Deformer does not seem to create a dependency which is great, but it also does not seem to save the changes in the mission? Or maybe I am misunderstanding what it means.

Share this post


Link to post
Share on other sites
On 2/26/2023 at 4:32 AM, lukio said:

I may be a bit daft but what does
 


exactly mean? I tried running a mission after deforming the terrain and saving and when I loaded the mission, the deformations were not visible. Any more. Deformer does not seem to create a dependency which is great, but it also does not seem to save the changes in the mission? Or maybe I am misunderstanding what it means.

You need to save the mission in the editor before starting the mission, not after you're in-game. 

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

×