From 984332e63804da9c0329c96fcfc301abb0ad6935 Mon Sep 17 00:00:00 2001 From: Philip Rosedale Date: Wed, 17 Jul 2013 09:51:04 -0700 Subject: [PATCH] fixes per review --- interface/src/Audio.cpp | 8 +++++--- interface/src/Avatar.cpp | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/interface/src/Audio.cpp b/interface/src/Audio.cpp index 9f82559512..41090584f3 100644 --- a/interface/src/Audio.cpp +++ b/interface/src/Audio.cpp @@ -620,13 +620,15 @@ void Audio::addProceduralSounds(int16_t* inputBuffer, const float COLLISION_SOUND_CUTOFF_LEVEL = 0.01f; const float COLLISION_SOUND_MAX_VOLUME = 1000.f; const float UP_MAJOR_FIFTH = powf(1.5f, 4.0f); + const float DOWN_TWO_OCTAVES = 4.f; + const float DOWN_FOUR_OCTAVES = 16.f; float t; if (_collisionSoundMagnitude > COLLISION_SOUND_CUTOFF_LEVEL) { for (int i = 0; i < numSamples; i++) { t = (float) _proceduralEffectSample + (float) i; sample = sinf(t * _collisionSoundFrequency) + - sinf(t * _collisionSoundFrequency / 4.f) + - sinf(t * _collisionSoundFrequency / 16.f * UP_MAJOR_FIFTH); + sinf(t * _collisionSoundFrequency / DOWN_TWO_OCTAVES) + + sinf(t * _collisionSoundFrequency / DOWN_FOUR_OCTAVES * UP_MAJOR_FIFTH); sample *= _collisionSoundMagnitude * COLLISION_SOUND_MAX_VOLUME; inputBuffer[i] += sample; outputLeft[i] += sample; @@ -638,7 +640,7 @@ void Audio::addProceduralSounds(int16_t* inputBuffer, } // -// Starts a collision sound. magnitude is 0-1, with 1 the loudest possible sound. +// Starts a collision sound. magnitude is 0-1, with 1 the loudest possible sound. // void Audio::startCollisionSound(float magnitude, float frequency, float noise, float duration) { _collisionSoundMagnitude = magnitude; diff --git a/interface/src/Avatar.cpp b/interface/src/Avatar.cpp index ee613f5758..e92394af22 100755 --- a/interface/src/Avatar.cpp +++ b/interface/src/Avatar.cpp @@ -881,12 +881,13 @@ void Avatar::updateCollisionWithEnvironment(float deltaTime) { const float ENVIRONMENT_SURFACE_ELASTICITY = 1.0f; const float ENVIRONMENT_SURFACE_DAMPING = 0.01; const float ENVIRONMENT_COLLISION_FREQUENCY = 0.05f; + const float VISIBLE_GROUND_COLLISION_VELOCITY = 0.2f; glm::vec3 penetration; if (Application::getInstance()->getEnvironment()->findCapsulePenetration( _position - up * (_pelvisFloatingHeight - radius), _position + up * (_height - _pelvisFloatingHeight - radius), radius, penetration)) { float velocityTowardCollision = glm::dot(_velocity, glm::normalize(penetration)); - if (velocityTowardCollision > 0.2) { + if (velocityTowardCollision > VISIBLE_GROUND_COLLISION_VELOCITY) { Application::getInstance()->setGroundPlaneImpact(1.0f); } updateCollisionSound(penetration, deltaTime, ENVIRONMENT_COLLISION_FREQUENCY);