Make 3D floor side move with floor

Ask about mapping, UDMF, using DoomBuilder/editor of choice, etc, here!

Moderator: GZDoom Developers

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.
Post Reply
User avatar
Enjay
 
 
Posts: 26534
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Make 3D floor side move with floor

Post by Enjay »

Clumsy title is clumsy.

I'm hoping that someone can help me out with this setup. Consider the following screenshot and example file:

Brick.zip
The brick "tower" is not actually a tower - it is made from a 3D floor (its upper surface is 32 units below the ceiling of the room). When the switch is used, the floor of the control sector for the 3D floor rises by 384 units. This makes the bottom of the tower rise - making the 3D structure much smaller by the end of the move.

All that works fine. However, I want the brick textures on the sides of the 3D floor to move up with the floor. At present, they don't move. I have tried as many pegged/unpegged combinations as I can think of for both the lines around the tower in the play area and the control sector. I have also tried setting the 3D floor control line so that the tower uses upper or lower textures from the play-area sector. Nothing I have tried works.

Can anyone suggest something that might? Please feel free to download the simple test file and have a mess around with it to see if you can get anything working. It is very simple but represents a structure that I am trying to make in a real map (where the texture moving style that I am looking for would make more sense).

Thanks
User avatar
Kappes Buur
 
 
Posts: 4122
Joined: Thu Jul 17, 2003 12:19 am
Graphics Processor: nVidia (Legacy GZDoom)
Location: British Columbia, Canada
Contact:

Re: Make 3D floor side move with floor

Post by Kappes Buur »

Using action special 96 will raise both floor and ceiling, but keep the texture 'stationary'.
FloorAndCeiling_RaiseByValue ( 2, 8, 384);

But you also want the 3D sector ceiling to be 32 mu below the game sector ceiling, which
presents another bit of a dilemma.

The best I can come up with is this:

Code: Select all

#include "zcommon.acs"

script 1 (void)
{
    FloorAndCeiling_RaiseByValue ( 2, 8, 384);
    Tagwait ( 2);
    Ceiling_LowerInstant ( 2, 0, 48);
}
 
Example pwad:
Attachments
2Brick.wad
(4.84 KiB) Downloaded 39 times
Last edited by Kappes Buur on Mon Jul 27, 2020 12:31 am, edited 3 times in total.
User avatar
Rachael
Posts: 13571
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Make 3D floor side move with floor

Post by Rachael »

This is the best I can do. I tried everything I could think of, but ended up linking the floor and ceiling together. I don't know if it's ideal for your use case, but it does work.
Attachments
Brick.wad
(4.73 KiB) Downloaded 45 times
User avatar
ZomBieMan Alpha
Posts: 19
Joined: Sun Jan 03, 2010 4:30 am
Location: Argentina

Re: Make 3D floor side move with floor

Post by ZomBieMan Alpha »

hey i think this is what you want! is a bit hacky but it see fine
https://www.dropbox.com/s/eg58ceb9w0abc ... k.wad?dl=0
User avatar
Enjay
 
 
Posts: 26534
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Re: Make 3D floor side move with floor

Post by Enjay »

Thanks for the suggestions and demos. Obviously all of them get the textures moving but the two that also move the top of the 3D floor wouldn't suit the situation in the actual map because the top of the floor can be seen pretty easily by the player and it needs not to move. I should have been clearer about that in my initial post.

However, hacky or not, ZombieMan Alpha's idea of scrolling the textures at the same rate as the movement while the floor is moving does seem to give exactly the effect that I'm looking for. So, if it can't be done with the textures "naturally" following the movement of the floor, forcing it like this may well be the answer. [edit] and it works very nicely in the real map too.[/edit]

Thank you all once again. :yup:
Guest

Re: Make 3D floor side move with floor

Post by Guest »

One more solution. No acs required, just one more tag and one new action line inside the 3d dummy sector. On Enjay's map:

- Move the vertex #8 32 units to the point (-32, 416)
- Give the linedef #8 the action type 222: Scroll texture model, give it some free Line Tag number and set it's Options bit to displacement.
- For linedef #10, the 160: Sector 3D sector line, give the tag number as it's line Identification Tag.

If it's a problem that decals, bullet holes etc. won't scroll with the raising brick object, the decals can be disabled from appearing on that wall by setting some scroll texture line action with zero movement on all 3d sector walls. For example 100: Scroll texture left and 0 as it's scroll speed. Not sure if that's a legal usage of that though...
Post Reply

Return to “Mapping”