Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
boris

GZDB plugin: 3D floor mode

Recommended Posts

Warning
This is an early releasae of the plugin and not finished. While I fixed all crashes I found there might very well be bugs that will make it crash and make you lose work. So keep that in mind when planning to use this plugin in a productive environment.

What is this?
It's a plugin for GZDoomBuilder. It lets you edit 3D floors without having to manually handle the control sectors. This can speed up development a lot if you want to create compled 3D floor environments. See the videos below to see what it can do. Thread on ZDoom forum is here: http://forum.zdoom.org/viewtopic.php?f=3&t=45195

Download/Installation
Compiled: https://github.com/biwa/3dfloormode/releases
Source: https://github.com/biwa/3dfloormode

Just copy ThreeDFloorMode.dll to the plugins directory of your GZDB installation.

Entering 3D floor mode
There are several ways to enter the 3D floor mode:

  • pressing the button on the toolbar
  • go to Mode -> 3D floor editing mode
  • assign a hotkey in Tools -> Preferences -> Controls (look under the Modes section).
Configuring the control sector area
When entering the 3D floor mode you'll see the green control sector area (CSA):

That's where the control sectors for the 3D floors will be placed in. By default it's a 512x512 area, with its bottom left corner at 0,0 map coordinates. You'll notice the hole in the CSA. Ideally your whole map is placed inside that hole. Right now that's not really necessary, but will be required once sloped 3D floors are supported.

Because the 64x64 default hole is pretty small for a good map, you can resize the CSA. It pretty much works like moving lines in lines mode, i.e. Just move the mouse close to a border (it will be highlighted) and drag it around with the right mouse button. You can only move the borders horizontally or vertically, so the CSA will always be a square.

The result should look something like this:


You can also configure the tag range used for the 3D floors:

To open the configuration dialog just move the mouse into the CSA (the whole CSA will be highlighted) and press the right mouse button.

The settings for the CSA are stored in the .dbs file that gets created by GZDB for each edited WAD. So if you want to give your WAD to someone else to edit and want to retain the CSA info, make sure to pass the .dbs file over, too. It's of course not needed to just play the WAD.

The docker
While being in 3D floor mode you'll have a docker (those things that are by default at the right, like the undo/redo docker). Thise docker will show you the 3D floors assinged to the currently highlighted sector. You'll have to press the pin button of the docker panel to constantly show the docker.


Editing 3D floors
Besides the CSA the 3D floor mode pretty much looks and works the same (like selecting sectors) as sectors mode. However, when pressing the right mouse button it will not open the sector properties, but the 3D floor editing dialog.
This dialog will show all 3D floors that are associated to the selected sectors:

Most of it should be pretty self-explanatory. Newly added 3D floors will have a green background. Checking "Show shared 3D floors only" will only display 3D floors, that are assigned to all selected sectors.

You can set textures and 3D floor properties, just like you can when manually editin the sectors and line specials for 3D floors. The sectors list contains all currently selected sectors, checking or unchecking them will apply or remove the 3D floor to those sectors.
At the right side there are some buttons for your convenience:
  • Duplicate: will create a new 3D floor with exactly the same settings as the 3D floor duplicated from.
  • Split: will create a new 3D floor for each selected sector with exactly the same setting as the 3D floor split from.
  • Check all/Uncheck all: checks/unchecks all sectors.
Videos
Here are two videos from earlier versions of the plugin.

Share this post


Link to post

Incredible. GZDoombuilder never fails to surprise me with it's seemingly endless stream of game-changing editing features. The 3d floor mode, had it been available when I was working on my last map, would have saved me hours and hours of time spent on control sector management. This really put GZDoom editing over the top.

How is the angle of the slope decided? By line draw direction?

Share this post


Link to post

Right now it just takes the two most distant lines, so it seems rather random (although it's in fact deterministic). That it always seems to work the way I want in the video is because I made those slopes a dozen times while testing, and I just know what I have to enter as the heights to make it work correctly ;)

If you look closely you'll see that the first slopes down, the second up and the last down again. You'll also see those arrow lines on the sloped sectors. The idea is that you'll be able to drag those lines around to determine in what direction the slope will go, and through its length also the z-angle (in combination with the two entered heights).

Share this post


Link to post

Hey, just a small suggestion (don't know if you've already done it):

Can you add 3D sector's brightness level? I always forget to use "restrict light inside" flag to keep light level same in the area, but there are some parts where I have several 3D areas with various light levels.

Share this post


Link to post

It's not in there right now, but eventually I want to add a button to edit all the control sector's properties (i.e. open the edit sector dialog).

Share this post


Link to post

I finally managed to work a bit more on the plugin. Modifying sloped 3D floors works pretty good now.

Share this post


Link to post

Yes, this version uses the plane equation method that was added to (G)ZDoom some time ago. The slope vertices you draw are just points on the plane (if you only put down two slope vertices the third one is implied to be on a line perpendicular to the line between the first two).

For most cases two slope vertices will be enough, but using all three will come in handy in certain cases, like shown in the previous video a couple posts earlier (the one with the huge sloped 3D pipe).

Share this post


Link to post

Holy shit, that's fantastic! Being able to build sloped 3D floors without having to manually line up dummy sectors miles away in the void ought to allow for some massive new usability for them.

Share this post


Link to post

YAY. Now it is possible to cleanly make 3D void maps without the need of a Quake editor and converter. The result is also much easier to manipulate! Thanks!

Share this post


Link to post

This looks so good that this plugin has a potential to cause more people make GZDoom-specific quality maps. I hope it will actually happen, because such maps are infrequent nowadays. Thanks!

Share this post


Link to post

I'm having problems creating 3D slopes, maybe the GZDB version causes the problem, I don't know.
In this video:
https://www.youtube.com/watch?t=420&v=QH-k7h03elA

I've seen that when you create slopes for 3D floors, the dummy sector doesn't move to the same axis as the original sector, as 3D slopes are intended to work.
In my case, the plugin doesn't adjust the position of the dummy sector, and the slope bugs, cause It's not on the same axis, but in this video I can't see any of these happening. It's not that I wouldn't adjust them on my own, but I'm curious.

Share this post


Link to post
FractalXX said:

I've seen that when you create slopes for 3D floors, the dummy sector doesn't move to the same axis as the original sector, as 3D slopes are intended to work.
In my case, the plugin doesn't adjust the position of the dummy sector, and the slope bugs, cause It's not on the same axis, but in this video I can't see any of these happening. It's not that I wouldn't adjust them on my own, but I'm curious.

That the control sectors have to be somehow aligned to the sector where you want the 3D floor to appear is not true and a common misconception. They just have to be on the same plane. Of course, when created by a human it boils down to the control sector being aligned to the referenced sector, since it's way too hard to handle the offsets manually.

In what way is the result not what you expected? If it's not sloped at all make sure that your version of (G)ZDoom is new enough. It also only works in UDMF, and that feature was added to (G)ZDoom only recently.

Share this post


Link to post
boris said:

That the control sectors have to be somehow aligned to the sector where you want the 3D floor to appear is not true and a common misconception. They just have to be on the same plane. Of course, when created by a human it boils down to the control sector being aligned to the referenced sector, since it's way too hard to handle the offsets manually.

In what way is the result not what you expected? If it's not sloped at all make sure that your version of (G)ZDoom is new enough. It also only works in UDMF, and that feature was added to (G)ZDoom only recently.


I meant that the slope acts like when It's not on the same plane (as you've said). I'm also using UDMF, and always the newest GZDoom, GZDB.
I just thought the plugin does the adjustment itself.

Share this post


Link to post

I downloaded GZDooom builder because I thought it had this feature. As soon as I realized I had misinterpreted the meaning of "3D Floors support", I thought i was silly to think such a feature was possible. Now you have made it real. Thank you.

Share this post


Link to post

I know that this is really late, but I have some issues with this plugin.

Whenever I turn on 3D editing mode, I just get a green box without a hole. I haven't even been able to make one. Also, I have no idea how to open the menu to actually add the 3D floors. Whenever I right-click on the green box, I just get the menu to set the tag range.

Share this post


Link to post

The hole isn't needed anymore. You add a 3D floor by right-clicking the sector you want to create the 3D floor in.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×