public void Update() { var spectrumData = LoopbackAudio.GetAllSpectrumData(AudioVisualizationStrategy); for (int i = 0; i < _currentPose.RagdollParts.Length; i++) { var ragdollPart = _currentPose.RagdollParts[i]; var maintainPos = ragdollPart.GameObject.GetComponent <RigidbodyMaintainPosition>(); if (!maintainPos.IsInitialized) { continue; } float min = -RealtimeAudio.MaxAudioValue * ragdollPart.PullDown; float max = RealtimeAudio.MaxAudioValue * ragdollPart.PullUp; if (ragdollPart.DoEffect) { float amount = normalizeToRange(spectrumData[ragdollPart.SpectrumIndex], min, max) * ragdollPart.BumpAmountScale; Vector3 amountWithDirection = ragdollPart.BumpDirection * amount; var cooledAmountWithDirection = doCooldown(ragdollPart, i, amountWithDirection); maintainPos.IsCooling = ragdollPart.IsInCooldownX || ragdollPart.IsInCooldownY || ragdollPart.IsInCooldownZ; // Direction maintainPos.DesiredPosition = maintainPos.OriginalDesiredPosition + cooledAmountWithDirection; } else { if (maintainPos.DesiredPosition != maintainPos.OriginalDesiredPosition) { maintainPos.DesiredPosition = maintainPos.OriginalDesiredPosition; maintainPos.PullForce = maintainPos.OriginalPullForce; } } } }
public virtual void Start() { // References and setup _loopbackAudio = FindObjectOfType <LoopbackAudio>(); }
// Start is called before the first frame update void Start() { _loopbackAudio = FindObjectOfType <LoopbackAudio>(); }
private void Awake() { loopbackAudio = FindObjectOfType <LoopbackAudio>(); }
// Start is called before the first frame update void Start() { audioSource = GetComponent <AudioSource>(); loopBackAudio = GetComponent <LoopbackAudio>(); }