Fix AC not sending Avatar Mixer a frustum

This commit is contained in:
Clement 2018-04-23 16:10:44 -07:00
parent 538f24162f
commit ddde0228ba
3 changed files with 18 additions and 2 deletions

View file

@ -594,9 +594,24 @@ void Agent::sendAvatarIdentityPacket() {
auto scriptedAvatar = DependencyManager::get<ScriptableAvatar>();
scriptedAvatar->markIdentityDataChanged();
scriptedAvatar->sendIdentityPacket();
sendAvatarViewFrustum();
}
}
void Agent::sendAvatarViewFrustum() {
auto scriptedAvatar = DependencyManager::get<ScriptableAvatar>();
ViewFrustum view;
view.setPosition(scriptedAvatar->getWorldPosition());
view.setOrientation(scriptedAvatar->getHeadOrientation());
auto viewFrustumByteArray = view.toByteArray();
auto avatarPacket = NLPacket::create(PacketType::ViewFrustum, viewFrustumByteArray.size());
avatarPacket->write(viewFrustumByteArray);
DependencyManager::get<NodeList>()->broadcastToNodes(std::move(avatarPacket),
{ NodeType::AvatarMixer });
}
void Agent::processAgentAvatar() {
if (!_scriptEngine->isFinished() && _isAvatar) {
auto scriptedAvatar = DependencyManager::get<ScriptableAvatar>();

View file

@ -97,6 +97,7 @@ private:
void setAvatarSound(SharedSoundPointer avatarSound) { _avatarSound = avatarSound; }
void sendAvatarIdentityPacket();
void sendAvatarViewFrustum();
QString _scriptContents;
QTimer* _scriptRequestTimeout { nullptr };

View file

@ -5806,8 +5806,8 @@ void Application::update(float deltaTime) {
void Application::sendAvatarViewFrustum() {
QByteArray viewFrustumByteArray = _viewFrustum.toByteArray();
if (hasSecondaryViewFrustum()) {
viewFrustumByteArray += _viewFrustum.toByteArray();
if (_hasSecondaryViewFrustum) {
viewFrustumByteArray += _secondaryViewFrustum.toByteArray();
}
auto avatarPacket = NLPacket::create(PacketType::ViewFrustum, viewFrustumByteArray.size());