These are chat archives for highfidelity/hifi

28th
Jun 2017
Jeff Moyes
@jmo7
Jun 28 2017 17:25
I know that someone was recently working on getting high fidelity to build with QT 5.9. Is there a roadmap/timetable of when things might move to 5.9? (I'm very anxious because it bumps the webview engine from Chromium 45 to Chromium 56 and there are a ton of things that become available on the javascript side when that happens)
Clément Brisset
@Atlante45
Jun 28 2017 17:44
@jmo7 We had to put it on hold to focus on something else that is passed now. So I'd say anytime soon now.
Jeff Moyes
@jmo7
Jun 28 2017 17:49
Thanks for the info Clément, you just made my day! =)
Clément Brisset
@Atlante45
Jun 28 2017 17:50
Glad I could help!
Jeff Moyes
@jmo7
Jun 28 2017 17:56
Ok, another question (I have several today) and I know this is probably a long shot, but does HighFidelity support using SVGs as textures on entities?
Clément Brisset
@Atlante45
Jun 28 2017 17:59
Fire away!
We support all the formats supported by Qt's QImageReader: http://doc.qt.io/qt-5/qimagereader.html#supportedImageFormats
So yes, that should work.
(Note: For gifs, I've never tried but my guess is we'll only display the first frame.)
Clément Brisset
@Atlante45
Jun 28 2017 18:18
This message was deleted
Jeffrey Hiebert
@JeffHiebert_GP_twitter
Jun 28 2017 19:31
I've been working on bug #21402 which is about wonky animation after switching avatars while sitting on a chair using the sit.js script. The issue seems to be an side effect of using overrideRoleAnimation() to play the sitting animation over a set of roles and then changing the avatar, which reloads all the animations and then using restoreRoleAnimation() to restore the original animations. If I swap out the overrideRoleAnimation calls with overrideAnimation() calls, the bug doesn't happen. (I wouldn't call this a fix for the bug, as the overrideRoleAnimation calls were filtering out all the roles for left and right hands). To debug further, I need to be able to run my locally built interface with a sandbox, but I get an "Unable to connect to the location you are visiting. Protocol version mismatch - Domain Version:6788" when I try to go Home on my local build. I assume it's trying to use the installed version of the Sandbox. How do I run locally built version?
Clément Brisset
@Atlante45
Jun 28 2017 19:45
Building the Sandbox is a bit tricky. You can find informations in the server-console Readme.
But if you're working of of master, you can just use the Sandbox from the latest dev build: https://highfidelity.io/dev-download
That should work fine.
Regarding the bug, I'm the person that implemented the feature and wrote that script.
The reason we can't use overrideAnimation() is that case the hand animations we get with the touch controllers won't work anymore.
A simple solution I can think of would be to detect when the avatar model changes and re-sit the person in that case to update the role overrides.
Jeffrey Hiebert
@JeffHiebert_GP_twitter
Jun 28 2017 20:02
Thanks. The dev version does indeed work with my build. I've tried manually re-sitting the character (modified the script to keep the ik error from kicking the player out of the seat on avatar switch, then stand up normally, then sit down) but the animation issue persisted. Do you know how I might detect when an avatar switch occurs?
Also, is there a way to display what animation is currently playing on a character? The Developer->Avatar->Draw Debug Animation setting only seems to draw the skeleton.
Clément Brisset
@Atlante45
Jun 28 2017 20:13
AFAIK, there's no way to get the current animation playing. One of the reasons being, that it might be several.
For the skeleton, you'd have to check MyAvatar.skeletonModelURL regularly.
Although I think it would be nice to add a signal for that like we do with displayNameChanged.
Armads
@Armads
Jun 28 2017 23:18
is anyone here familiar with the error described at highfidelity/hifi#10828 ?
i assume the git repo wasn't the best place to ask
Clément Brisset
@Atlante45
Jun 28 2017 23:19
Hi @Armads, what version of Qt did you install?
Armads
@Armads
Jun 28 2017 23:20
5.6.1
Clément Brisset
@Atlante45
Jun 28 2017 23:20
Did you try just building again?
I sometimes have a similar issue on mac where it'll fail to build some tests the first time.
Armads
@Armads
Jun 28 2017 23:20
yeah, tried repulling the whole repo too, and restarting my computer
Clément Brisset
@Atlante45
Jun 28 2017 23:21
I think we might have some dependencies wrong.
Can you set interface as the startup project and only build that?
Armads
@Armads
Jun 28 2017 23:23
that one succeeds
Clément Brisset
@Atlante45
Jun 28 2017 23:24
Have you tried rebuilding the tests?
Armads
@Armads
Jun 28 2017 23:25
as in clean and rebuild? yes
Clément Brisset
@Atlante45
Jun 28 2017 23:26
Ok, what version of CMake do you have?
Armads
@Armads
Jun 28 2017 23:26
3.9.0
Clément Brisset
@Atlante45
Jun 28 2017 23:28
That might be the issue, we've been having issues with 3.9. Try with 3.8, this is what I use.
You'll have to delete your cmake files.
(I would just fully clean your build directory for good measures)
Armads
@Armads
Jun 28 2017 23:29
is 3.8.2 good? there doesn't appear to be an 8.0
Clément Brisset
@Atlante45
Jun 28 2017 23:30
You can get it here: https://cmake.org/files/v3.8/
You probably want one of those 2:
cmake-3.8.0-win64-x64.msi
cmake-3.8.0-win64-x64.zip
Armads
@Armads
Jun 28 2017 23:34
k, building again now
Clément Brisset
@Atlante45
Jun 28 2017 23:36
If that doesn't work, our officially supported version of Qt is 5.6.2. So it's possible something broke with 5.6.1 since we moved to 5.6.2 but I think it's really unlikely.
Jeff Moyes
@jmo7
Jun 28 2017 23:38

All,
I'm working on an entity that needs to swap some textures at various times. I was pointed to https://gist.github.com/cozza13/10be46704d51bf476521#file-jupiter-js, which has the following code:

Entities.editEntity(entityID, {
type: "Model", textures: "{ \"jupitermap\": \"https://s3.amazonaws.com/hifi-public/cozza13/planets/planets/textures2/" + n + ".jpg\" }"
});

So here's my version:

var MESSAGE_2_TEXTURE_URL = 'https://www.mindstormdevelopment.com/hifi/message-2-noperms.png';

Entities.editEntity( this.entityID, { type: "Model", textures: "{ \"mat.screen-message\": " + MESSAGE_2_TEXTURE_URL + " }" });

but it doesn't change anything visually. When I call getEntityProperties() it lists the following:

textures = { "mat.screen-message": https://www.mindstormdevelopment.com/hifi/message-5-success.png }

so it's set the property -- but again, nothing happens visually.

Other info that might be helpful: after I've made the change there are a few more entityProperties that have texture related info:

originalTextures = {
"Screen-D-A-E.png.001": "http://www.mindstormdevelopment.com/hifi/Screen-D-A-E.png",
"message-1-start.png.001": "http://www.mindstormdevelopment.com/hifi/message-1-start.png",
"message-5-success.png.001": "http://www.mindstormdevelopment.com/hifi/message-5-success.png"
}

and

objrenderInfo
verticesCount = 18288
texturesSize = 0
hasTransparent = true
drawCalls = 4
texturesCount = 0

Argggg! Sorry about that. I didn't know it would "expand" urls mentioned in a post.
Clément Brisset
@Atlante45
Jun 28 2017 23:40
You can modify the post and put the code between triple quotes "```" should prevent it from expending.
Jeff Moyes
@jmo7
Jun 28 2017 23:42
Not sure if I did that right or not
Clément Brisset
@Atlante45
Jun 28 2017 23:43
Not seeing it.
Jeff Moyes
@jmo7
Jun 28 2017 23:44
Sorry - Do you mean not seeing the expansion (content being inserted) or not seeing my changes adding in the triple quotes?
Clément Brisset
@Atlante45
Jun 28 2017 23:45
The changes
Jeff Moyes
@jmo7
Jun 28 2017 23:46
ok, they are there now (I hope)
Clément Brisset
@Atlante45
Jun 28 2017 23:47
Oh yeah, that's not what I meant but that works.
if you put ``` before and after you code it puts it in a block.
Jeff Moyes
@jmo7
Jun 28 2017 23:48
oh, thanks =)
Clément Brisset
@Atlante45
Jun 28 2017 23:48
// put some code here
var url = "http://www.mindstormdevelopment.com/hifi/message-5-success.png"; // some URL
@jmo7 So basically originalTextures is read-only, it's the textures hard-coded in the model.
textures is the list of the texture overrides, so usually it's empty.
Clément Brisset
@Atlante45
Jun 28 2017 23:53
If you want to change a textures, set the correct key inside textures.
Here for example you have:
originalTextures = {
    "Screen-D-A-E.png.001": "http://www.mindstormdevelopment.com/hifi/Screen-D-A-E.png",
    "message-1-start.png.001": "http://www.mindstormdevelopment.com/hifi/message-1-start.png",
    "message-5-success.png.001": "http://www.mindstormdevelopment.com/hifi/message-5-success.png"
}
So if you want to override message-1-start.png.001, you need to set textures to:
textures = {
    "message-1-start.png.001": MY_URL_OVERRIDE,
}
If you want to override message-1-start.png.001 and message-5-success.png.001, you need to set textures to:
textures = {
    "message-1-start.png.001": MY_URL_OVERRIDE_1,
    "message-5-success.png.001": MY_URL_OVERRIDE_2,
}