mirror of
https://github.com/overte-org/overte.git
synced 2025-06-17 13:20:07 +02:00
add support for hiding local rendering of avatar
This commit is contained in:
parent
4c6175dd45
commit
76355dc1a8
3 changed files with 37 additions and 0 deletions
27
examples/hideAvatarExample.js
Normal file
27
examples/hideAvatarExample.js
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
//
|
||||||
|
// hideAvatarExample.js
|
||||||
|
// hifi
|
||||||
|
//
|
||||||
|
// Created by Brad Hefta-Gaub on 1/28/14.
|
||||||
|
// Copyright (c) 2014 HighFidelity, Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
// This is an example script that demonstrates how to enable or disable local rendering of your own avatar
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
function keyReleaseEvent(event) {
|
||||||
|
if (event.text == "F2") {
|
||||||
|
MyAvatar.shouldRenderLocally = !MyAvatar.shouldRenderLocally;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Map keyPress and mouse move events to our callbacks
|
||||||
|
Controller.keyReleaseEvent.connect(keyReleaseEvent);
|
||||||
|
|
||||||
|
|
||||||
|
function scriptEnding() {
|
||||||
|
// re-enabled the standard behavior
|
||||||
|
MyAvatar.shouldRenderLocally = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Script.scriptEnding.connect(scriptEnding);
|
|
@ -60,6 +60,7 @@ MyAvatar::MyAvatar() :
|
||||||
_moveTarget(0,0,0),
|
_moveTarget(0,0,0),
|
||||||
_moveTargetStepCounter(0),
|
_moveTargetStepCounter(0),
|
||||||
_lookAtTargetAvatar(),
|
_lookAtTargetAvatar(),
|
||||||
|
_shouldRender(true),
|
||||||
_billboardValid(false)
|
_billboardValid(false)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < MAX_DRIVE_KEYS; i++) {
|
for (int i = 0; i < MAX_DRIVE_KEYS; i++) {
|
||||||
|
@ -469,6 +470,10 @@ void MyAvatar::renderDebugBodyPoints() {
|
||||||
|
|
||||||
}
|
}
|
||||||
void MyAvatar::render(bool forceRenderHead) {
|
void MyAvatar::render(bool forceRenderHead) {
|
||||||
|
// don't render if we've been asked to disable local rendering
|
||||||
|
if (!_shouldRender) {
|
||||||
|
return; // exit early
|
||||||
|
}
|
||||||
|
|
||||||
// render body
|
// render body
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::RenderSkeletonCollisionProxies)) {
|
if (Menu::getInstance()->isOptionChecked(MenuOption::RenderSkeletonCollisionProxies)) {
|
||||||
|
|
|
@ -26,6 +26,7 @@ enum AvatarHandState
|
||||||
|
|
||||||
class MyAvatar : public Avatar {
|
class MyAvatar : public Avatar {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
Q_PROPERTY(bool shouldRenderLocally READ getShouldRenderLocally WRITE setShouldRenderLocally)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MyAvatar();
|
MyAvatar();
|
||||||
|
@ -50,6 +51,8 @@ public:
|
||||||
void setGravity(glm::vec3 gravity);
|
void setGravity(glm::vec3 gravity);
|
||||||
void setOrientation(const glm::quat& orientation);
|
void setOrientation(const glm::quat& orientation);
|
||||||
void setMoveTarget(const glm::vec3 moveTarget);
|
void setMoveTarget(const glm::vec3 moveTarget);
|
||||||
|
void setShouldRenderLocally(bool shouldRender) { _shouldRender = shouldRender; }
|
||||||
|
|
||||||
|
|
||||||
// getters
|
// getters
|
||||||
float getSpeed() const { return _speed; }
|
float getSpeed() const { return _speed; }
|
||||||
|
@ -63,6 +66,7 @@ public:
|
||||||
Transmitter& getTransmitter() { return _transmitter; }
|
Transmitter& getTransmitter() { return _transmitter; }
|
||||||
glm::vec3 getGravity() const { return _gravity; }
|
glm::vec3 getGravity() const { return _gravity; }
|
||||||
glm::vec3 getUprightHeadPosition() const;
|
glm::vec3 getUprightHeadPosition() const;
|
||||||
|
bool getShouldRenderLocally() const { return _shouldRender; }
|
||||||
|
|
||||||
// get/set avatar data
|
// get/set avatar data
|
||||||
void saveData(QSettings* settings);
|
void saveData(QSettings* settings);
|
||||||
|
@ -116,6 +120,7 @@ private:
|
||||||
glm::vec3 _moveTarget;
|
glm::vec3 _moveTarget;
|
||||||
int _moveTargetStepCounter;
|
int _moveTargetStepCounter;
|
||||||
QWeakPointer<AvatarData> _lookAtTargetAvatar;
|
QWeakPointer<AvatarData> _lookAtTargetAvatar;
|
||||||
|
bool _shouldRender;
|
||||||
|
|
||||||
Transmitter _transmitter; // Gets UDP data from transmitter app used to animate the avatar
|
Transmitter _transmitter; // Gets UDP data from transmitter app used to animate the avatar
|
||||||
glm::vec3 _transmitterPickStart;
|
glm::vec3 _transmitterPickStart;
|
||||||
|
|
Loading…
Reference in a new issue