User Tools

Site Tools


doors_and_elevators

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

doors_and_elevators [2026/04/06 23:29] – created frank_lee_smithdoors_and_elevators [2026/05/15 02:30] (current) frank_lee_smith
Line 1: Line 1:
-================Doors and Elevators================+================ Doors and Elevators ================
  
-This page will go over rotating doors, sliding doors, and elevators for your TTT map.+This page covers rotating doors, sliding doors, and path-based elevators for TTT maps.
  
-======Rotating Doors====== +TTT doors and movers are map logic components. They can be used directly by players, driven by buttons, or controlled through map IO inputs such as ''Open'', ''Close'', ''Toggle'', ''Lock'', ''Unlock'', ''GoTo'', and ''CallOrDepart''.
-A door that will need to rotate on a pivot to open.+
  
 +====== Rotating Doors ======
 +
 +Use ''TTT Rotating Door'' for doors, panels, shutters, or traps that rotate around a hinge.
  
 {{:f9x8q37.png?nolink&400|}} {{:f9x8q37.png?nolink&400|}}
  
 +===== Basic Setup =====
  
 +  - Create a GameObject for the door.
 +  - Add your door model with a ''Model Renderer''.
 +  - Add ''TTT Rotating Door''.
 +  - Set ''Target Rotation'' for how far the door should rotate from its closed position.
 +  - Set ''Open Duration'' and ''Close Duration'' if the default speed is not right.
 +  - Test the door in-game.
  
-To implement, create a new empty in the outliner and add the **Rotating Door** component. The model for your door will also need to be added to this gameobject via the Model Renderer component+{{:v0sqw0h.png?nolink&400|}}
  
-**Note: The Pivot for the door model you use must have the pivot set to the side the door will rotate on**+===== Pivot Setup =====
  
-{{:v0sqw0h.png?nolink&400|}}+If the model's origin is already on the hinge, the default pivot may be enough. If not, create a helper GameObject at the hinge and assign it as ''Pivot Target''. The door captures that helper's world position and uses it as the hinge.
  
 +You can also edit the fallback ''Pivot'' value directly in local space.
  
-By default, the door will be set to a straight 90 degree pivot. This can be modified in the object properties or dragging the pivot gizmo.+===== Useful Options =====
  
-======Sliding Doors======+^ Option ^ What it does ^ 
 +| ''Allow Direct Use'' | Allows players to press the door directly. | 
 +| ''Direct Use Mode'' | Controls whether direct use activates or toggles the door. | 
 +| ''Open Away From Activator'' | Opens away from the player or signal activator when possible. | 
 +| ''Starts Open'' | Starts open on round start or map reset. | 
 +| ''Starts Locked'' | Starts locked until it receives ''Unlock''. | 
 +| ''Auto Reset'' / ''Reset Time'' | Automatically closes after opening. | 
 +| ''Partner Object'' / ''Partner Name'' | Mirrors open, close, toggle, lock, and unlock actions to another rotating door. Useful for double doors. |
  
-A door that will open and close by moving back and forth in one direction.+====== Sliding Doors ====== 
 + 
 +Use ''TTT Linear Mover'' for sliding doors, lifts, trap panels, and other two-position movement.
  
 {{:w9kktdz.png?nolink&400|}} {{:w9kktdz.png?nolink&400|}}
  
-To implement, create a new empty in the outliner and add the Linear Mover component. The model for your door will also need to be added to this gameobject via the Model Renderer component. The pivot does not matter for this type of door. +===== Basic Setup =====
- +
-The **Move Delta** variable determines how far the door moves when activated+
  
 +  - Create a GameObject for the moving object.
 +  - Add a ''Model Renderer''.
 +  - Add ''TTT Linear Mover''.
 +  - Set ''Move Delta'' to the local-space offset from closed to open.
 +  - Set ''Open Duration'' and ''Close Duration'' if needed.
  
 {{:9jqr4sp.png?nolink&400|}} {{:9jqr4sp.png?nolink&400|}}
  
-======Elevator======+''Move Delta'' is evaluated in the mover's local space. The model's pivot does not need to be on an edge like a rotating door.
  
-An elevator needs multiple gameobjects to function. +===== Useful Options =====
  
-Currently, support is in for two stop elevators only.+^ Option ^ What it does ^ 
 +| ''Allow Direct Use'' | Allows players to press the mover directly. | 
 +| ''Direct Use Mode'' | Controls whether direct use activates or toggles the mover. | 
 +| ''Starts Open'' | Starts in the moved/open position on round start or map reset. | 
 +| ''Starts Locked'' | Starts locked until it receives ''Unlock''. | 
 +| ''Auto Reset'' / ''Reset Time'' | Automatically closes after opening. | 
 +| ''Partner Object'' / ''Partner Name'' | Mirrors open, close, toggle, lock, and unlock actions to another linear mover. Useful for paired sliding doors|
  
-====Path Track====+====== Elevators and Path Movers ======
  
-The first thing you will need is a **Path Track**. Create an empty gameobject and add the **Path Track** component. This can be placed anywhere, but you need to give it a unique name.+Use ''TTT Path Mover'', ''TTT Path Track'', and ''TTT Path Point'' for elevators, trains, multi-stop platforms, and any movement with more than two authored positions. 
 + 
 +Path movers support two-stop elevators and multi-stop paths. 
 + 
 +===== Path Track ===== 
 + 
 +Create an empty GameObject and add ''TTT Path Track''. This object owns the path points.
  
 {{::vr353h3.png?nolink&400|}} {{::vr353h3.png?nolink&400|}}
  
-====Path Mover====+Enable ''Closed Loop'' only when the last path point should connect back to the first.
  
-This will be the elevator itself. Create an empty gameobject and add a **Path Mover** component. Give the gameobject itself a unique name.+===== Path Points =====
  
-{{::tfs9034.png?nolink&400|}}+Create one GameObject for each stop and add ''TTT Path Point'' to each one. These can be children of the track object.
  
-Add a **Model Renderer** for the elevator model on this object. Make sure your elevator model has collisions.+{{::xw2qvf1.png?nolink&400|}}
  
-The **Track Name** property MUST be filled with the same unique name the **Path Track** was given.+Give each point a stable ''Point Name'', such as ''basement'', ''lobby'', or ''roof''. Use ''Order'' when hierarchy order is not enough.
  
-{{::5hfqqwp.png?nolink&400|}}+For elevator-style call/send-away behavior, each point can also define a ''Departure Target'' or ''Departure Target Name''.
  
-====Path Point====+===== Path Mover =====
  
-You will need to create two separate gameobjects and add a **Path Point** to each+Create the moving platform object and add ''TTT Path Mover''.
  
-{{::xw2qvf1.png?nolink&400|}}+{{::tfs9034.png?nolink&400|}}
  
-Name them Point 1 and Point 2 in the **Point name** variable in the object properties.+Add your platform model with a ''Model Renderer'' and make sure the model has collision.
  
-{{::1nnth0r.png?nolink&400|}}+Assign ''Track'' directly or set ''Track Name'' to the GameObject name of the ''TTT Path Track''.
  
-Point 1 will need to have the same position/transform as the path mover. Point 2 will be where the elevator moves to when activated.+Useful path mover settings:
  
-====Buttons====+^ Option ^ What it does ^ 
 +| ''Start Point'' | Optional point name or zero-based index where the mover starts. | 
 +| ''Move Speed'' | Travel speed in units per second. | 
 +| ''Movement Curve'' | Curve used while moving between points. | 
 +| ''Queue Requested Stops'' | Queues ''GoTo'', ''CallOrDepart'', ''Next'', and ''Previous'' requests while already moving. | 
 +| ''Starts Locked'' | Starts locked until it receives ''Unlock''. | 
 +| ''Start Active'' | Begins autonomous traversal on start/reset when using a non-manual traversal mode. |
  
-Your elevator will need a button for each position of the elevator. Start by creating each of your buttons by creating a new empty gameobject and adding a **TTT Button Component**+===== Buttons =====
  
-{{::70hjqvn.png?nolink&400|}}+Create a button GameObject and add ''TTT Button''.
  
-Add a **Model Renderer** with the model your button will be using. Make sure your model has collisions.+{{::70hjqvn.png?nolink&400|}}
  
-To hook your buttons into the elevator find the **Objects** section in the object properties and add an //Targets On Activated// item.+Add a ''Targets On Activated'' link from the button to the path mover.
  
 {{::00tj6p2.png?nolink&400|}} {{::00tj6p2.png?nolink&400|}}
  
-In the popup, you need to set the name to the unique name of the gameobject you made for the elevator itself.+For a button that always sends the platform to a specific stop:
  
-Set the input to "CallOrDepart"+<code text> 
 +Input   = GoTo 
 +Payload = roof 
 +</code>
  
-The Payload will need to be set to the point that the elevator goes to when pressed while the elevator is at the button's stop. So the button at Point 1 will need the payload to be Point 2 and vice versa. Buttons can still recall the elevator to its stop, though.+For an elevator call/send-away button: 
 + 
 +<code text> 
 +Input   = CallOrDepart 
 +Payload = lobby 
 +</code> 
 + 
 +On a two-point track, ''CallOrDepart'' means "come here if away, go to the other point if already here." On tracks with three or more points, set each path point's departure target so the mover knows where to go when it is already at the caller's stop.
  
 {{::54x40qs.png?nolink&400|}} {{::54x40qs.png?nolink&400|}}
  
-If all of this is set up properly your elevator will be functional with two buttons and two back and forth stops.+===== Common Inputs ===== 
 + 
 +^ Input ^ Typical use ^ 
 +| ''Open'' / ''Close'' | Door and linear mover open/close. | 
 +| ''Toggle'' | Flip a door or mover between states. | 
 +| ''Lock'' / ''Unlock'' | Prevent or allow future activation. | 
 +| ''GoTo'' | Send a path mover to a named point or zero-based point index. Uses ''Payload''. | 
 +| ''CallOrDepart'' | Elevator-style call/send-away behavior. Uses ''Payload''. | 
 +| ''Next'' / ''Previous'' | Move to a neighboring path point. | 
 +| ''Pause'' / ''Resume'' / ''Reverse'' / ''Reset'' | Runtime controls for path movers. | 
 + 
 +===== Testing Checklist ===== 
 + 
 +  * Test every button that drives the door or elevator
 +  * Run at least one full round reset. 
 +  * Confirm doors and movers return to their intended starting state. 
 +  * Confirm locked objects can still be unlocked by the intended logic. 
doors_and_elevators.txt · Last modified: 2026/05/15 02:30 by frank_lee_smith

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki