mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 15:09:34 +02:00
Don’t render collision if not own avatar, don’t check for collisions with voxel tree if not me.
This commit is contained in:
parent
0d33593561
commit
a7dacec63d
4 changed files with 100 additions and 97 deletions
|
@ -785,7 +785,7 @@ void Avatar::renderBody(bool forceRenderHead) {
|
|||
_head.render(alpha, false);
|
||||
}
|
||||
}
|
||||
_hand.render();
|
||||
_hand.render(false);
|
||||
}
|
||||
|
||||
void Avatar::getSkinColors(glm::vec3& lighter, glm::vec3& darker) {
|
||||
|
|
|
@ -70,6 +70,7 @@ void Hand::simulate(float deltaTime, bool isMine) {
|
|||
updateRaveGloveParticles(deltaTime);
|
||||
}
|
||||
|
||||
if (isMine) {
|
||||
// Create a voxel at fingertip if controller button is pressed
|
||||
const float FINGERTIP_VOXEL_SIZE = 0.0125;
|
||||
for (size_t i = 0; i < getNumPalms(); ++i) {
|
||||
|
@ -125,6 +126,7 @@ void Hand::simulate(float deltaTime, bool isMine) {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Hand::handleVoxelCollision(PalmData* palm, const glm::vec3& fingerTipPosition, VoxelTreeElement* voxel, float deltaTime) {
|
||||
// Collision between finger and a voxel plays sound
|
||||
|
@ -217,7 +219,7 @@ void Hand::setRaveGloveEffectsMode(QKeyEvent* event) {
|
|||
};
|
||||
}
|
||||
|
||||
void Hand::render() {
|
||||
void Hand::render( bool isMine) {
|
||||
|
||||
_renderAlpha = 1.0;
|
||||
|
||||
|
@ -229,6 +231,7 @@ void Hand::render() {
|
|||
// Use mood lighting for the hand itself
|
||||
setRaveLights(RAVE_LIGHTS_AVATAR);
|
||||
}
|
||||
renderLeapFingerTrails();
|
||||
renderLeapHands();
|
||||
}
|
||||
|
||||
|
@ -242,6 +245,7 @@ void Hand::render() {
|
|||
}
|
||||
}
|
||||
|
||||
if (isMine) {
|
||||
// If hand/voxel collision has happened, render a little expanding sphere
|
||||
if (_collisionAge > 0.f) {
|
||||
float opacity = glm::clamp(1.f - (_collisionAge / _collisionDuration), 0.f, 1.f);
|
||||
|
@ -255,8 +259,6 @@ void Hand::render() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// If hand controller buttons pressed, render stuff as needed
|
||||
if (getPalms().size() > 0) {
|
||||
for (size_t i = 0; i < getPalms().size(); ++i) {
|
||||
|
@ -294,6 +296,7 @@ void Hand::render() {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
void init();
|
||||
void reset();
|
||||
void simulate(float deltaTime, bool isMine);
|
||||
void render();
|
||||
void render(bool isMine);
|
||||
void renderRaveGloveStage();
|
||||
void setRaveLights(RaveLightsSetting setting);
|
||||
|
||||
|
|
|
@ -728,7 +728,7 @@ void MyAvatar::renderBody(bool forceRenderHead) {
|
|||
_head.render(alpha, false);
|
||||
}
|
||||
}
|
||||
_hand.render();
|
||||
_hand.render(true);
|
||||
}
|
||||
|
||||
void MyAvatar::updateThrust(float deltaTime, Transmitter * transmitter) {
|
||||
|
|
Loading…
Reference in a new issue