WaveForm Data
using UnityEngine;
using System.Collections;
public class drawWav : MonoBehaviour
{
int resolution = 60;
float[] waveForm;
float[] samples;
public AudioSource AS;
// Use this for initialization
void Start()
{
resolution = AS.clip.frequency / resolution;
samples = new float[AS.clip.samples * AS.clip.channels];
Debug.Log("samples:" + AS.clip.samples + " channels:" + AS.clip.channels + " resolution:"+resolution);
//huh? 2 channels? LEFT/RIGHT?
//not a get spectrum! (more core?)
AS.clip.GetData(samples, 0);
waveForm = new float[(samples.Length / resolution)];
for (int i = 0; i < waveForm.Length; i++)
{
waveForm[i] = 0;
for (int ii = 0; ii < resolution; ii++)
{
waveForm[i] += Mathf.Abs(samples[(i * resolution) + ii]);
}
waveForm[i] /= resolution;
}
}
// Update is called once per frame
void Update()
{
//waveForm is same length each update..
for (int i = 0; i < waveForm.Length - 1; i++)
{
Vector3 sv = new Vector3(i * .01f, waveForm[i] * 10, 0); //sb exactly the same.
Vector3 ev = new Vector3(i * .01f, -waveForm[i] * 10, 0); //sb exactly the same.
//draws the line.
Debug.DrawLine(sv, ev, Color.yellow);
}
//CURRENT position
int current = AS.timeSamples / resolution;
current *= 2;
Vector3 c = new Vector3(current * .01f, 0, 0);
//scrubber up line.
Debug.DrawLine(c, c + Vector3.up * 10, Color.white);
}
}
Koreographer Event Subscriber
public class KAS_Event_Subscriber : MonoBehaviour
{
public GameObject[] particlePrefab;
GameObject effectPrefab;
//effectPrefab = (GameObject)Instantiate(particlePrefab[particleNum],
// new Vector3(hit.point.x, hit.point.y + 0.2f, hit.point.z), Quaternion.Euler(0, 0, 0));
void Start()
{
Koreographer.Instance.RegisterForEvents("VW_Track_Kick", FireEventDebugLog);
}
void Update ()
{
}
void FireEventDebugLog(KoreographyEvent koreoEvent)
{
Debug.Log("KoreographyEventFired");
effectPrefab = (GameObject)Instantiate(particlePrefab[0],
new Vector3(0, 0, 0), Quaternion.Euler(0, 0, 0));
}
}
Transform Quaternion Lock:
public void onNavSphereLockUnlockButton()
{
_isLocked_NavSpheretoCam = !_isLocked_NavSpheretoCam;
SpriteState st = new SpriteState();
if (_isLocked_NavSpheretoCam)
{
lock_Unlock_Button.image.sprite = locked_sprite;
st.pressedSprite = unlocked_sprite;
Quaternion q0 = Argos_Camera.transform.rotation;
Quaternion q1 = NavSphere_Pivot.transform.rotation;
Argos_NavSphere.transform.rotation = q1 * Quaternion.Inverse(q0)* Argos_NavSphere.transform.rotation;
NavSphere_Pivot.transform.rotation = q0;
}
else
{
lock_Unlock_Button.image.sprite = unlocked_sprite;
st.pressedSprite = locked_sprite;
}
lock_Unlock_Button.spriteState = st;
}
quaternion snap shot
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class UI_Control : MonoBehaviour
{
public Canvas UI_Canvas;
public Sprite locked_sprite;
public Sprite unlocked_sprite;
public Button lock_Unlock_Button;
public Sprite rotate_off_sprite;
public Sprite rotate_on_sprite;
public Button rotate_Button;
public Sprite rotate_OnNavSphere_off_sprite;
public Sprite rotate_OnNavSphere_on_sprite;
public Button rotate_OnNavSphere_Button;
bool isOn = false;
bool _isLocked_NavSpheretoCam = false;
bool rotateOn = false;
bool rotateOnNavSphere = false;
GameObject Argos_Camera;
GameObject NavSphere_Pivot;
GameObject Argos_NavSphere;
void Start ()
{
Argos_Camera = GameObject.Find("Argos_Camera");
NavSphere_Pivot = GameObject.Find("NavSphere_Pivot");
Argos_NavSphere = GameObject.Find("Argos_NavSphere");
}
public bool isLocked_NavSpheretoCam
{
get { return _isLocked_NavSpheretoCam; }
}
public void onRotateButton()
{
rotateOn = !rotateOn;
SpriteState st = new SpriteState();
if (rotateOn)
{
rotate_Button.image.sprite = rotate_on_sprite;
st.pressedSprite = rotate_off_sprite;
}
else
{
rotate_Button.image.sprite = rotate_off_sprite;
st.pressedSprite = rotate_on_sprite;
}
rotate_Button.spriteState = st;
}
public void onRotateOnNavSphereButton()
{
rotateOnNavSphere = !rotateOnNavSphere;
SpriteState st = new SpriteState();
if (rotateOnNavSphere)
{
rotate_OnNavSphere_Button.image.sprite = rotate_OnNavSphere_on_sprite;
st.pressedSprite = rotate_OnNavSphere_off_sprite;
}
else
{
rotate_OnNavSphere_Button.image.sprite = rotate_OnNavSphere_off_sprite;
st.pressedSprite = rotate_OnNavSphere_on_sprite;
}
rotate_OnNavSphere_Button.spriteState = st;
}
public void onNavSphereLockUnlockButton()
{
_isLocked_NavSpheretoCam = !_isLocked_NavSpheretoCam;
SpriteState st = new SpriteState();
if (_isLocked_NavSpheretoCam)
{
lock_Unlock_Button.image.sprite = locked_sprite;
st.pressedSprite = unlocked_sprite;
}
else
{
//Quaternion q = Argos_NavSphere.transform.rotation;
//NavSphere_Pivot.transform.rotation = Argos_Camera.transform.rotation;
//Argos_NavSphere.transform.rotation = q;
lock_Unlock_Button.image.sprite = unlocked_sprite;
st.pressedSprite = locked_sprite;
}
lock_Unlock_Button.spriteState = st;
}
public void onUIButtonDown()
{
isOn = !isOn;
UI_Canvas.gameObject.SetActive(isOn);
}
void Update ()
{
}
}
Dagaz – “Day-gahz” – Literally: “Day” or Dawn – Esoteric: Awakening
Rune of the hyper-consciousness. The process of concept becoming realized.

Sprite newSprite = Resources.Load<Sprite>("sprites/somesprite");
SpriteState st = new SpriteState();
st.disabledSprite = newSprite;
st.highlightedSprite = newSprite;
st.pressedSprite = newSprite;
_button.spriteState = st;



