Flickering light via instance
Quote from d401tq on July 20, 2012, 4:51 pmHello all
I am trying to create a randomly flickering light. To simplify my problem, we shall consider a *regularly* flickering light, i.e. one that, every second, turns off briefly.
Here is my method:
I have taken a strip light instance, and added a func_instance_ioproxy.
The proxy has 2 outputs:1. OnProxyRelay InstanceLight Toggle Delay=0
2. OnProxyRelay InstanceLight Toggle Delay=0.05Thus, every time the proxy receives an input, the light should go off briefly (assuming it starts on).
The proxy is then controlled by a logic_timer outside the instance.
However, when I compile, I see a light which is turning on and off at regular intervals. Does anybody know why this is, how to fix it, or a better way to achieve what I want?
Thanks in advance.
Hello all
I am trying to create a randomly flickering light. To simplify my problem, we shall consider a *regularly* flickering light, i.e. one that, every second, turns off briefly.
Here is my method:
I have taken a strip light instance, and added a func_instance_ioproxy.
The proxy has 2 outputs:
1. OnProxyRelay InstanceLight Toggle Delay=0
2. OnProxyRelay InstanceLight Toggle Delay=0.05
Thus, every time the proxy receives an input, the light should go off briefly (assuming it starts on).
The proxy is then controlled by a logic_timer outside the instance.
However, when I compile, I see a light which is turning on and off at regular intervals. Does anybody know why this is, how to fix it, or a better way to achieve what I want?
Thanks in advance.
Quote from Brainstone on July 20, 2012, 5:45 pmThe instance Proxy relay isn't working like you think it is. It is a helper for the mapper when you use it the way you have done.
Better do it like in this picture:To start the light flickering, give the random_case the input "PickRandom". To stop it, "kill".
(If you want the light flickering to start, stop and start again, you'll have to outsource the random picking to a logic_relay.) Extend the number of cases how you wish. Make the delays smaller for a faster flickering light.Alternatively, if you want to keep the way you are doing it:
Place a logic_relay in the instance:
OnTrigger-->light-->TurnOff-->0
OnTrigger-->light-->TirnOn-->0.05 (You could even insert $lightstayooftime in here and add a instance_parms inside of the instance)An instance_io_proxy
OnProxyRelay-->InstanceLogic_relay-->TriggerNow give the corresponding input instance:InstanceLoggic_relay;Trigger to your instance. (It pops up, when you click on the little arrow)
The instance Proxy relay isn't working like you think it is. It is a helper for the mapper when you use it the way you have done.
Better do it like in this picture:
To start the light flickering, give the random_case the input "PickRandom". To stop it, "kill".
(If you want the light flickering to start, stop and start again, you'll have to outsource the random picking to a logic_relay.) Extend the number of cases how you wish. Make the delays smaller for a faster flickering light.
Alternatively, if you want to keep the way you are doing it:
Place a logic_relay in the instance:
OnTrigger-->light-->TurnOff-->0
OnTrigger-->light-->TirnOn-->0.05 (You could even insert $lightstayooftime in here and add a instance_parms inside of the instance)
An instance_io_proxy
OnProxyRelay-->InstanceLogic_relay-->Trigger
Now give the corresponding input instance:InstanceLoggic_relay;Trigger to your instance. (It pops up, when you click on the little arrow)
Quote from d401tq on July 20, 2012, 7:18 pmThank you very much for your reply. If you could answer a couple more things I would be very grateful - what would be the best way to make it flicker briefly on - I'm presuming, as someone fairly new to Hammer that this would require the light to be initialised as off, but can't see how to set this within the entity itself - would I require loading the level to trigger it off?
Also how does one pass the variable from func_instance_parms to the logic relay? How do you make it vary randomly?
Thanks.
Thank you very much for your reply. If you could answer a couple more things I would be very grateful - what would be the best way to make it flicker briefly on - I'm presuming, as someone fairly new to Hammer that this would require the light to be initialised as off, but can't see how to set this within the entity itself - would I require loading the level to trigger it off?
Also how does one pass the variable from func_instance_parms to the logic relay? How do you make it vary randomly?
Thanks.

Quote from ChickenMobile on July 20, 2012, 10:22 pmYou could use a random time in a logic_timer in order to control the flickering of your light.
I made a flickering light like this previous. However be careful, flickering lights can be annoying or create headaches.
You could use a random time in a logic_timer in order to control the flickering of your light.
I made a flickering light like this previous. However be careful, flickering lights can be annoying or create headaches.
Quote from d401tq on July 21, 2012, 12:03 pmThank you - yes I am already using a logic_timer in that way to trigger the io_proxy, however I was asking how to vary the $offtime variable randomly.
Thank you - yes I am already using a logic_timer in that way to trigger the io_proxy, however I was asking how to vary the $offtime variable randomly.