Skip to content

Instantly share code, notes, and snippets.

@ArieLeo
Forked from LotteMakesStuff/Flicker.cs
Created June 16, 2021 05:31
Show Gist options
  • Save ArieLeo/bb9436f4803d5f19f21850b0f55dbec3 to your computer and use it in GitHub Desktop.
Save ArieLeo/bb9436f4803d5f19f21850b0f55dbec3 to your computer and use it in GitHub Desktop.
Quake/Halflife style light flicker
using UnityEngine;
public class Flicker : MonoBehaviour
{
public string LightStyle = "mmamammmmammamamaaamammma";
private Light light;
public float loopTime = 2f;
[SerializeField]
private int currentIndex = 0;
private float lightTimer;
void Start()
{
light = GetComponent<Light>();
}
void Update()
{
char c = GetNextChar();
int val = c - 'a';
float intensity = (val / 25f)*2;
light.intensity = intensity;
}
private char GetNextChar()
{
lightTimer += Time.deltaTime;
var step = loopTime / LightStyle.Length;
if (step < lightTimer)
{
lightTimer -= step;
currentIndex++;
if (currentIndex >= LightStyle.Length)
currentIndex = 0;
}
return LightStyle[currentIndex];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment