Mr.Rocket Posted May 9, 2018 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? Thanks 0 Quote Share this post Link to post
0 Aquila Chrysaetos Posted May 9, 2018 (edited) There's the polyobj explicit line special. https://zdoom.org/wiki/Polyobj_ExplicitLine 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." Quote 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! Edited May 9, 2018 by Aquila Chrysaetos Further specificity. 1 Quote Share this post Link to post
0 Jaxxoon R Posted May 10, 2018 You can actually use a normal polyobject start line instead of ExpliciteLine, interestingly enough. I guess the polyobject handling is way smarter these days. Anyways, there are two types of finite-height polyobjects that I'm aware of: midtexture-based, and sector-based. Here's a wad demonstrating each: https://drive.google.com/open?id=1V8ETdvEBJHNQ_nQ_3GIEnXnauk0Fyxpk 1 Quote Share this post Link to post
0 Mr.Rocket Posted May 10, 2018 (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 May 10, 2018 by Mr.Rocket 0 Quote Share this post Link to post
Question
Mr.Rocket
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?
Thanks
Share this post
Link to post
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.