From 63434da23cf7f3968e47a231f3cc7a35ba59358e Mon Sep 17 00:00:00 2001 From: Jeffrey Ventrella Date: Wed, 29 May 2013 16:14:55 -0700 Subject: [PATCH] testing avatar touch --- interface/src/Application.cpp | 41 +++++++++++++++++++++-------------- interface/src/Avatar.cpp | 15 ++++++++----- interface/src/AvatarTouch.cpp | 2 -- 3 files changed, 34 insertions(+), 24 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index f307efa470..95b4d88b33 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -50,6 +50,8 @@ using namespace std; +const bool TESTING_AVATAR_TOUCH = true; + // Starfield information static char STAR_FILE[] = "https://s3-us-west-1.amazonaws.com/highfidelity/stars.txt"; static char STAR_CACHE_FILE[] = "cachedStars.txt"; @@ -915,29 +917,36 @@ void Application::idle() { _myAvatar.simulate(deltaTime, NULL); } - if (_myCamera.getMode() != CAMERA_MODE_MIRROR && !OculusManager::isConnected()) { - if (_manualFirstPerson) { - if (_myCamera.getMode() != CAMERA_MODE_FIRST_PERSON ) { - _myCamera.setMode(CAMERA_MODE_FIRST_PERSON); - _myCamera.setModeShiftRate(1.0f); - } - } else { - - if (_myAvatar.getIsNearInteractingOther()) { - if (_myCamera.getMode() != CAMERA_MODE_FIRST_PERSON) { + if ( TESTING_AVATAR_TOUCH) { + if (_myCamera.getMode() != CAMERA_MODE_THIRD_PERSON) { + _myCamera.setMode(CAMERA_MODE_THIRD_PERSON); + _myCamera.setModeShiftRate(1.0f); + } + } else { + if (_myCamera.getMode() != CAMERA_MODE_MIRROR && !OculusManager::isConnected()) { + if (_manualFirstPerson) { + if (_myCamera.getMode() != CAMERA_MODE_FIRST_PERSON ) { _myCamera.setMode(CAMERA_MODE_FIRST_PERSON); _myCamera.setModeShiftRate(1.0f); } - } - else { - if (_myCamera.getMode() != CAMERA_MODE_THIRD_PERSON) { - _myCamera.setMode(CAMERA_MODE_THIRD_PERSON); - _myCamera.setModeShiftRate(1.0f); + } else { + + if (_myAvatar.getIsNearInteractingOther()) { + if (_myCamera.getMode() != CAMERA_MODE_FIRST_PERSON) { + _myCamera.setMode(CAMERA_MODE_FIRST_PERSON); + _myCamera.setModeShiftRate(1.0f); + } + } + else { + if (_myCamera.getMode() != CAMERA_MODE_THIRD_PERSON) { + _myCamera.setMode(CAMERA_MODE_THIRD_PERSON); + _myCamera.setModeShiftRate(1.0f); + } } } } } - + // Update audio stats for procedural sounds #ifndef _WIN32 _audio.setLastAcceleration(_myAvatar.getThrust()); diff --git a/interface/src/Avatar.cpp b/interface/src/Avatar.cpp index 8d3f3c27ac..6e37d5807f 100644 --- a/interface/src/Avatar.cpp +++ b/interface/src/Avatar.cpp @@ -37,11 +37,11 @@ const float YOUR_HAND_HOLDING_PULL = 1.0; const float BODY_SPRING_DEFAULT_TIGHTNESS = 1000.0f; const float BODY_SPRING_FORCE = 300.0f; const float BODY_SPRING_DECAY = 16.0f; -const float COLLISION_RADIUS_SCALAR = 1.8; -const float COLLISION_BALL_FORCE = 1.0; -const float COLLISION_BODY_FORCE = 6.0; -const float COLLISION_BALL_FRICTION = 60.0; -const float COLLISION_BODY_FRICTION = 0.5; +const float COLLISION_RADIUS_SCALAR = 1.8; //pertains to avatar-to-avatar collisions +const float COLLISION_BALL_FORCE = 1.0; //pertains to avatar-to-avatar collisions +const float COLLISION_BODY_FORCE = 6.0; //pertains to avatar-to-avatar collisions +const float COLLISION_BALL_FRICTION = 60.0; //pertains to avatar-to-avatar collisions +const float COLLISION_BODY_FRICTION = 0.5; //pertains to avatar-to-avatar collisions const float HEAD_ROTATION_SCALE = 0.70; const float HEAD_ROLL_SCALE = 0.40; const float HEAD_MAX_PITCH = 45; @@ -689,6 +689,8 @@ void Avatar::applyCollisionWithOtherAvatar(Avatar * otherAvatar, float deltaTime for (int o=b+1; o_joint[o].isCollidable) { + /* + glm::vec3 vectorBetweenJoints(_joint[b].springyPosition - otherAvatar->_joint[o].springyPosition); float distanceBetweenJoints = glm::length(vectorBetweenJoints); @@ -718,12 +720,13 @@ void Avatar::applyCollisionWithOtherAvatar(Avatar * otherAvatar, float deltaTime }// check for collision } // to avoid divide by zero + */ + } // o loop } // collidable } // b loop } // collidable - //apply forces and frictions on the bodies of both avatars _velocity += bodyPushForce; otherAvatar->_velocity -= bodyPushForce; diff --git a/interface/src/AvatarTouch.cpp b/interface/src/AvatarTouch.cpp index b7d8fffcbb..a6b4a168cb 100644 --- a/interface/src/AvatarTouch.cpp +++ b/interface/src/AvatarTouch.cpp @@ -54,8 +54,6 @@ void AvatarTouch::simulate (float deltaTime) { facingEachOther = true; } - ///udhfhduf - if (distanceBetweenBodies < _reachableRadius) //&& (facingEachOther)) {