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

No more infinity tall polyobjects?


Just a quick question.

Is there any sort of fix yet for infinity tall polyobjects?

Or is there another way yet to achieve a polyobject besides the normal way of using void sectors?



Share this post

Link to post

3 answers to this question

Recommended Posts

  • 0
Posted (edited)

There's the polyobj explicit line special.


It can be used as a finitely-tall polyobject, but its lines must be set up in a dummy sector (or possibly in the map itself, but I prefer to use dummy sectors).

Also, whatever properties its lines hold will be applied to an infinite height, so it's not a perfect fix.


Also, each line of the object must have this special, and according to the ZDoom wiki, the 3D middle texture flag will create a finitely tall texture "structure."



Creating advanced polyobjects

While the simple polyobjects explained above are enough in most cases, sometimes they are not enough. What if you want a see-through polyobject, for example? You will then need to use two-sided linedefs. However, the engine cannot create the polyobject automatically in these cases, so you need to use Polyobj_ExplicitLine on each line of the polyobject.

Build your polyobject in a holding sector as before, but make them into a self-referencing sector (both sides of the polyobject will belong to the holding sector).

Each line of the polyobject is marked with Polyobj_ExplicitLine. For rendering order, you can use the value 1 on all of them, since this parameter is a leftover from Hexen's original implementation.

If you want some of the lines of the polyobject to be active, you need to give them a lineid. In Hexen format, this is done with one of the Polyobj_ExplicitLine parameters; in UDMF it is one of the linedef properties. You will then need to have an ACSOPEN script calling SetLineSpecial) on the chosen lineid to give it a different special.

Since the polyobject is now two-sided, make sure it actually has a middle texture!

The holding sector should have the same floor and ceiling heights as the destination sector; not because the engine requires it, but because it will make it much easier for the modder to set the vertical offsets of the polyobject textures. Use the "lower unpegged" flag if you want the polyobject to appear on the ground.

Give the polyobject lines the "3D middle texture" flag to give it finite vertical collision box. Note that the polyobject's holding sector will be used as a reference for checking if there is room above or below it, not the sector it is actually in!


Share this post

Link to post
  • 0
Posted (edited)

Alright, thanks for the info guys! 🙂


In this case we must be able to walk on top of the object, so my conclusion is either maybe using a model, or script a movable 3dfloor in.





Edited by Mr.Rocket

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