https://kode54.net/bassmididrv/BASSMIDI_Driver_Installation_and_Configuration.htm
https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-unity
http://www.collab.net/downloads/subversion
https://www.youtube.com/user/forierochannel/videos
A Familiar Opponent – Adaptive Music – Asset Sore
http://csharpsynthproject.codeplex.com/
Call backs
using UnityEngine; using System.Collections; using ProceduralToolkit; using System.Collections.Generic; using System.IO; public class Fibo_Rider : MonoBehaviour { StreamWriter sWrite; public ArgosMeshDraft_Fibonacci AMD_Base; List<GameObject> gO_List = new List<GameObject>(); GameObject goMyPivot; GameObject goTweenFollower; Quaternion qStart; Quaternion qEnd; int m_startLoc; int m_toLoc; int m_deltLoc; int m_numPoints; float m_pathTime; public void initFromSpawner(int FibLoc, int delt, int numPoints, float pathTime ) { //sWrite = new StreamWriter("Fibo_Rider4.csv"); m_startLoc = FibLoc; m_deltLoc = delt; m_toLoc = FibLoc + delt; m_pathTime = pathTime; m_numPoints = numPoints; GameObject gFibSphere = GameObject.Find("Fibonacci_Sphere"); ArgosFibonacci aF = gFibSphere.GetComponent<ArgosFibonacci>(); AMD_Base = aF.aMF_Base; Quaternion q0, q1; q0 = Quaternion.LookRotation(AMD_Base.funcVerts[m_startLoc].vPos.normalized); q1 = Quaternion.LookRotation(AMD_Base.funcVerts[m_toLoc].vPos.normalized); transform.rotation = q0; transform.position = AMD_Base.funcVerts[FibLoc].vPos; goTweenFollower = transform.Find("TweenFollower").gameObject; goMyPivot = new GameObject(); goMyPivot.transform.position = new Vector3(0, 0, 0); goMyPivot.transform.rotation = Quaternion.identity; transform.SetParent(goMyPivot.transform); goTweenFollower.transform.SetParent(transform);//this goTweenFollower.transform.position = Vector3.zero; qEnd = q1 * Quaternion.Inverse(q0); qStart = Quaternion.identity; iTween.MoveTo(goTweenFollower, iTween.Hash("x", 1, "time", m_pathTime, "easetype", "easeInOutBack", "onstart", "fibTweenStarted", "onstartparams", "FIB Rider Started...", "onupdate", "fibTweenUpdate", "onupdateparams", FibLoc.ToString(), "oncomplete", "fibTweenComplete", "oncompleteparams", "fib Tween DONE", "onCompleteTarget", gameObject, "onStartTarget", gameObject, "onUpdateTarget", gameObject)); m_numPoints--; } void fibTweenStarted(string textToDisplay) { print("fibTween on Start " + textToDisplay); } int CBcount = 0; float fAccumTime = 0.0f; void fibTweenUpdate(string textToDisplay) { //print("fibTweenUpdate " + textToDisplay + " call count = " + CBcount.ToString() + " pos = " + goTweenFollower.transform.position.x.ToString("F3") + " deltaTime = " + Time.deltaTime.ToString("F3")); float sTime = goTweenFollower.transform.position.x; goMyPivot.transform.rotation = Quaternion.LerpUnclamped(qStart, qEnd, sTime); CBcount++; } void fibTweenComplete(string textToDisplay) { Quaternion q0, q1; goMyPivot.transform.rotation = Quaternion.LerpUnclamped(qStart, qEnd, 1.0f); if (--m_numPoints > 0) { q0 = Quaternion.LookRotation(AMD_Base.funcVerts[m_toLoc].vPos.normalized); m_toLoc += m_deltLoc; q1 = Quaternion.LookRotation(AMD_Base.funcVerts[m_toLoc].vPos.normalized); qEnd = q1 * Quaternion.Inverse(q0) * goMyPivot.transform.rotation; qStart = goMyPivot.transform.rotation; goTweenFollower.transform.position = Vector3.zero; iTween.MoveTo(goTweenFollower, iTween.Hash("x", 1, "time", m_pathTime, "easetype", "easeInOutBack", "onstart", "fibTweenStarted", "onstartparams", "FIB Rider Started...", "onupdate", "fibTweenUpdate", "onupdateparams", m_toLoc.ToString(), "oncomplete", "fibTweenComplete", "oncompleteparams", "fib Tween DONE", "onCompleteTarget", gameObject, "onStartTarget", gameObject, "onUpdateTarget", gameObject)); } } void Update () { } } //public enum EaseType //{ // easeInQuad, // easeOutQuad, // easeInOutQuad, // easeInCubic, // easeOutCubic, // easeInOutCubic, // easeInQuart, // easeOutQuart, // easeInOutQuart, // easeInQuint, // easeOutQuint, // easeInOutQuint, // easeInSine, // easeOutSine, // easeInOutSine, // easeInExpo, // easeOutExpo, // easeInOutExpo, // easeInCirc, // easeOutCirc, // easeInOutCirc, // linear, // spring, // /* GFX47 MOD START */ // //bounce, // easeInBounce, // easeOutBounce, // easeInOutBounce, // /* GFX47 MOD END */ // easeInBack, // easeOutBack, // easeInOutBack, // /* GFX47 MOD START */ // //elastic, // easeInElastic, // easeOutElastic, // easeInOutElastic, // /* GFX47 MOD END */ // punch //}
using UnityEngine; using System.Collections; using ProceduralToolkit; using UnityEngine.UI; using System.Collections.Generic; using System.IO; public class ArgosFibonacci : MonoBehaviour { public float m_fRadius = 1.5f; public int numQuads = 2500; public ArgosMeshDraft_Fibonacci aMF_Base = new ArgosMeshDraft_Fibonacci(); public ArgosMeshDraft_Fibonacci aMF_Full = new ArgosMeshDraft_Fibonacci(); StreamWriter sWrite; public Slider SFibonacci; public Text sFibText_Val; public GameObject vert_Prefab; public class GO_Tracker { public GameObject go; public FibVert fV_FuncVert; } public List<GO_Tracker> lstFIB_GO = new List<GO_Tracker>(); void Start () { //sWrite = new StreamWriter("Argos_Fibonacci.cs.txt"); aMF_Full.Clear(); Quaternion q; Vector3 vN_In; sphere_fibonacci_build_cartesian(numQuads); Vector3[] v = new Vector3[4]; for (int i = 0; i < aMF_Base.funcVerts.Count; i++) { vN_In = aMF_Base.funcVerts[i].vPos; q = Quaternion.LookRotation(vN_In); Vector3 targetright = q * Vector3.right; Vector3 targetUp = q * Vector3.up; float scl = 1.334f*m_fRadius/Mathf.Sqrt((float)numQuads); v[0] = vN_In - scl * targetright - scl * targetUp; v[1] = vN_In - scl * targetright + scl * targetUp; v[2] = vN_In + scl * targetright + scl * targetUp; v[3] = vN_In + scl * targetright - scl * targetUp; aMF_Full.Add(MeshDraft.Quad(v[0], v[1], v[2], v[3])); } GetComponent<MeshFilter>().mesh = aMF_Full.ToMesh(); //foreach (GO_Tracker gActedUpon in lstFIB_GO) //{ // gActedUpon.go.transform.position = gActedUpon.fV_FuncVert.vPos; //} } public void onSliderChanged() { float val = SFibonacci.value; sFibText_Val.text = val.ToString(); Quaternion q; Vector3 v; int num = lstFIB_GO.Count; for (int i = 0; i < num; i++) { lstFIB_GO[i].go.transform.localScale = new Vector3(val, val, val); } } void sphere_fibonacci_build_cartesian(int num)