These are chat archives for highfidelity/hifi

10th
Jul 2017
Armads
@Armads
Jul 10 2017 14:54
what part of avatar data manages attachments?
specifically head attachments
Seth Alves
@sethalves
Jul 10 2017 16:21
attachments (not to be confused with avatar-entities) are in libraries/avatars/src/AvatarData.h -- look for QVector<AttachmentData> attachmentData in the Identity class
that's the part that handles sending and receiving information about attachments over the wire
if you're looking for some other aspect of attachments, let me know
Jeffrey Hiebert
@JeffHiebert_GP_twitter
Jul 10 2017 19:05
Asking again as it's been over a week with no feedback: For bug #21402 I have a couple of solution options. I can add a handler to the sit script for onLoadComplete that sets up the sit animation again to work around the problem in the animation code with switching the avatar and then restoring overloaded anim roles. This addresses bug #21402, but doesn't address the underlying issue in the animation system. I could address the animation system issue, either by restoring the role animations via a different method (creating new anim nodes instead of replacing old anim nodes) or by changing the anim tree reinit process to attempt to preserve animation role overloads. I just need to know which solution you'd like me to do.
Armads
@Armads
Jul 10 2017 19:26
@sethalves, given an AttachmentData, what's a good way to check which avatar the attachment belongs to?
I'm trying adding an AvatarData pointer to the attachment data but it seems to come back null, I assume because of lifetime or replication
Seth Alves
@sethalves
Jul 10 2017 20:42
what would this pointer be used for?
Seth Alves
@sethalves
Jul 10 2017 21:00
@JeffHiebert_GP_twitter did you see this go by? highfidelity/hifi#10918
maybe you could catch that new signal and reset the position
Jeffrey Hiebert
@JeffHiebert_GP_twitter
Jul 10 2017 21:11
@sethalves Thanks for pointing that out, but it's similar to the onLoadComplete signal on the MyAvatar class, which is at best a work around for a deeper bug that occurs when you switch avatars while animation roles are overloaded. I offered a few solutions (the work around being one of them) and asked which one was desired.
Melissa Brown
@themelissabrown
Jul 10 2017 21:11
@hyperlogic can you give input to @JeffHiebert_GP_twitter as well?
Rob Kayson
@MrRoboman
Jul 10 2017 21:27

Hi! Been getting help from Thoys and Seth about this. Melissa suggested I put my WL comment up here in case someone wants to drop some knowledge bombs.

I'm making a dart. Getting it to stick to something in a way that it can be far/near grabbed and thrown again is proving troublesome.

When the dart collides with otherEntity, if we make otherEntity the parent of dart there are some problems.

If dart remains dynamic, its position will change drastically (local position is copied to world position). Sometimes only for a split second and then it rights itself. Sometimes the dart "vanishes" for good.

If dart is made static (like in the bow.js example), it is not far-grabbable (until this is fixed in C++ code, something I've talked with Andrew about). It is near-grabbable, but editing the entity props to change it back to dynamic forces the grab to release. Trying to reset it to dynamic on startNearGrab will make the user grab it twice. Trying to do it on releaseGrab works in theory, but since it's static upon release, it has no velocity so won't move until you grab and throw again. Perhaps we can use the velocity of the hand instead??

Also tried using a Tractor action. This makes the relative position work correctly, however the dart rotates on its own origin rather than the origin of the "parent" object.

Anthony Thibault
@hyperlogic
Jul 10 2017 21:45
@JeffHiebert_GP_twitter Re: #21402, you should go with option A workaround, fixing the underlying problem will likely take a bit longer.
Jeffrey Hiebert
@JeffHiebert_GP_twitter
Jul 10 2017 21:55
ok
Jeffrey Hiebert
@JeffHiebert_GP_twitter
Jul 10 2017 22:14
I'll include my diagnosis of the underlying problem in a note on the bug page.
Melissa Brown
@themelissabrown
Jul 10 2017 22:17
thank you @JeffHiebert_GP_twitter !
Armads
@Armads
Jul 10 2017 22:20
@sethalves it's for https://worklist.net/21424; I need a way to check whether a head attachment belongs to the local player, and make it invisible if it does
Jeffrey Hiebert
@JeffHiebert_GP_twitter
Jul 10 2017 22:22
For #21402, I'm modified scripts/tutorials/entity_scripts/sit.js, is that the correct file?
Armads
@Armads
Jul 10 2017 22:28
@themelissabrown what are the errors on highfidelity/hifi#10884 ?
Melissa Brown
@themelissabrown
Jul 10 2017 22:28
Armads
@Armads
Jul 10 2017 22:29
no, I get access denied
Melissa Brown
@themelissabrown
Jul 10 2017 22:29
k
Clément Brisset
@Atlante45
Jul 10 2017 22:30
@themelissabrown @Armads It's a jenkins error, will re-trigger.
Anthony Thibault
@hyperlogic
Jul 10 2017 22:30
@JeffHiebert_GP_twitter yah
Melissa Brown
@themelissabrown
Jul 10 2017 22:31
thanks @Atlante45 I thought I had a;ready tried that
apologies
Clément Brisset
@Atlante45
Jul 10 2017 22:31
Might have failed twice.
I'll keep an eye on it.
@themelissabrown You did an "Ok to test" which basically tells Jenkins that the code is ok to build even if the user is not whitelisted.
That build failed, so I just did a "test this please" to trigger a new build.
Melissa Brown
@themelissabrown
Jul 10 2017 22:42
got it. thank you!
Clément Brisset
@Atlante45
Jul 10 2017 22:55
@Armads @themelissabrown Build is good. It's just been posted to the PR.
Melissa Brown
@themelissabrown
Jul 10 2017 22:58
thank you!
Armads
@Armads
Jul 10 2017 23:22
so are any changes necessary on my end or was it just a build hiccup?
Melissa Brown
@themelissabrown
Jul 10 2017 23:41
jsut a build hiccup. I'm pushing it through for code review now