Controlled Incremental Rotation of Func_rotate Entities

Contributed to the Quake Workshop by Heinrich Venter

1. First, create a good sized room (300x300x300) and place your info_player_start and a light in there.

2. Next, create the brush that you want to rotate and apply the func_rotating entity to it and give it a targetname (room1 in the example.)

The speed of the func_rotating is degrees per second.

Create the button will operate the "room1" entity and give it a target of "rotator" for the relay entities that we will create next.

Create two triger_relay entities and give them both the targetname of rotator (ie the target of the button.) Give one of these entities a delay value according to how far you want it to rotate. This can be calculated by:

degrees rotated =(trigger_relay.delay * func_rotating.speed)

What happens is that when the button is pushed, it triggers all the entities with the name of rotator (ie the two trigger_relays) The first relay triggers the func_rotating to start rotating. The second relay triggers it again some time later and stops it.

It is a good idea to make the wait time (time before button resets) the same or longer than the delay time relay.

Compile your map, and take a look at it.

Download a copy of sample .map, .bsp for this here.

 


Comments & Questions to
Quake Workshop