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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
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 //} |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
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) |