18:41:22 RRSAgent has joined #immersive-web 18:41:22 logging to https://www.w3.org/2020/09/22-immersive-web-irc 18:41:27 zakim, clear agenda 18:41:27 agenda cleared 18:46:22 agenda+ webxr-hand-input#50 Move to WG [Manishearth] 18:46:46 agenda+ webxr-input-profiles#178 Provide assets for the left and right hand [cabanier] 18:56:31 meeting: Immersive Web Community Group Teleconference 18:56:36 date: 22 Sep 2020 18:56:47 atsushi has changed the topic to: https://github.com/immersive-web/administrivia/blob/main/meetings/cg/2020-09-22-Immersive_Web_Community_Group_Teleconference-agenda.md 18:56:52 agenda: https://github.com/immersive-web/administrivia/blob/main/meetings/cg/2020-09-22-Immersive_Web_Community_Group_Teleconference-agenda.md 18:57:39 previous meeting: https://www.w3.org/2020/09/15-immersive-web-minutes.html 18:57:48 chair: Ada 18:57:55 rrsagent, make log public 18:58:02 rrsagent, publish minutes v2 18:58:02 I have made the request to generate https://www.w3.org/2020/09/22-immersive-web-minutes.html atsushi 19:00:01 cabanier has joined #immersive-web 19:00:07 present+ 19:00:31 present+ 19:01:14 bajones_ has joined #Immersive-Web 19:01:25 present+ 19:01:35 present+ 19:02:58 present+ 19:03:36 Lachlan_Ford has joined #immersive-web 19:03:45 kip has joined #immersive-web 19:06:05 present+ 19:06:06 zakim, choose a victim 19:06:06 Not knowing who is chairing or who scribed recently, I propose alexturn 19:06:19 scribenick: cabanier 19:06:29 present+ 19:06:36 present+ 19:06:48 zakim, take up agendum 1 19:06:48 agendum 1. "webxr-hand-input#50 Move to WG" taken up [from Manishearth via atsushi] 19:06:50 present+ 19:06:58 yonet has joined #immersive-web 19:07:00 Manishearth: turns out we already did this 19:07:07 cwilso: that was easy 19:07:21 Manishearth: we want to move to fpwd so we will send out a call to consensus 19:07:40 cwilso: you can send out the call and we'll use that 19:07:48 https://github.com/immersive-web/webxr-input-profiles/issues/178 19:07:56 zakim, take up agendum 2 19:07:56 agendum 2. "webxr-input-profiles#178 Provide assets for the left and right hand" taken up [from cabanier via atsushi] 19:08:10 https://github.com/immersive-web/webxr-input-profiles/issues/178 19:08:11 lgombos has joined #immersive-web 19:08:23 cabanier: I logged this one and there was some feedback from alex and Manishearth 19:08:40 Lachlan_Ford: as Alex said, it's an hierarchy 19:08:54 chair: yonet 19:08:54 ... the way we do is different than oculus 19:09:14 ... for us it's based on raw triangles 19:09:39 ... the extension we provide in openxr, exposes indices and vertices 19:10:10 bajones_: it seems intense when it comes doing this for every frame 19:10:21 ... but you do have a skeletal aspect? 19:10:43 Lachlan_Ford: yes. it's derived from the mesh 19:10:56 cabanier: so from the oculus perspective, it's the same as hl 19:11:06 ... we also have the hand mesh and skeletal information 19:11:15 ... but this is to drive the joints spec 19:11:23 ... not a mesh spec (which has been discussed a bit) 19:11:37 ... knowing that there is a hand, and knowing that there are joints, you just want to draw a hand 19:11:50 q+ 19:11:52 ... as brandon said meshes are kinda expensive for xr, so joints make better sense 19:12:09 ... we should have *a* model, not one for each vendor 19:12:15 ... espeically since we all track the same joints 19:12:16 q+ 19:12:27 Lachlan_Ford: questionable what an app would do differently based on which hand they get 19:12:58 Lachlan_Ford: on the point of a new mesh every frame: you can get away with it because you can map it straight into a vertex buffer 19:13:04 ack bajones_ 19:13:07 bajones_: a vertex and index buffer per frame? 19:13:13 Lachlan_Ford: no, a fixed number of indices per frame 19:13:18 nick-8thwall has joined #immersive-web 19:13:26 q+ 19:13:37 q+ 19:13:38 bajones_: kinda directed at rik, but Lachlan_Ford if you have something that contributes that would help 19:13:52 ... i know on the oculus side there are assets that are distributed for a canonical hand mesh 19:14:06 ... curious if you know under what circumstances to use the generated vs canonical mesh 19:14:20 ... is there a recommendation for why users should one over the other 19:14:26 ... kinda get a sense of when one is used over the other 19:15:18 bajones_: first thing that comes to mind is that if you are using a game you want an appropriately themed hand, so you will use an imported asset 19:15:25 ... but outside of that, are there cases you know 19:16:24 cabanier: so for ex the hands you see in oculus use the mesh, not joints 19:16:28 ack Manishearth 19:16:37 scribenick: cabanier 19:16:45 Manishearth: I brought up per vendor hands 19:17:04 ... and mostly because I didn't know what the question was 19:17:06 q+ 19:17:32 I'm not opposed to it. Just getting one hand one and then we can figure the rest out later 19:17:40 alexturn has joined #immersive-web 19:17:45 q 19:17:46 Lachlan_Ford: my understanding was for understanding of gestures 19:17:50 q? 19:17:58 .. there's gestures support 19:18:13 ... so I was think that was what inputprofiles was for 19:18:18 Manishearth: no. 19:18:37 q+ 19:18:37 ... it's not just what buttons are supported 19:18:53 ... for webxr select and squeeze are overlapping 19:18:58 "In the case of hands, you don't have many buttons" [citation needed] 19:19:02 .... right now there's only one 19:19:18 ... we could add separate meshes 19:19:26 ... but it's an option for ys 19:19:35 ack cabanier 19:19:50 cabanier: when it comes to the name, right now when you expose hands as a controller, we call it "Oculus hands" 19:20:00 ... if an API uses the input profiles repo it won't find that 19:20:19 ... has there be a discussion about the name? 19:20:27 alexturn: where does the string oculus appear? 19:20:42 bajones_: the profile array? 19:21:02 alexturn: yeah so "oculus hands" isn't a valid profikle name 19:21:11 alexturn: we have already defined "generic-hand-select" 19:21:26 ... if oculus was exposing further data we could have oculus-hand-select and that could fall back 19:21:43 ... i see this as totally orthogonal though 19:21:54 q+ 19:21:56 ... e.g. in openxr we have hand+dir and hand+joints 19:22:08 ... idk if i would tie vendor to the way we do joints 19:22:16 q+ 19:22:22 q- 19:22:27 ack nick-8thwall 19:22:36 nick-8thwall: wanted to inform the discussion with stuff from 8thwall face effects 19:22:40 ... with a mesh that coverts the face 19:22:45 ... and renders it 19:23:00 ... meshes are different, need to be specified ahead of time and covered with properly mapped textures 19:23:13 ... to come up with assets that cover every encounter 19:23:37 ... if the end users are still generating meshes the uvs need to be specified ahead of time, so you wouldn't need indices each frame, just vertex positions 19:23:49 ... a thing that comes up often in face effects is that you need texture effects 19:24:07 q+ 19:24:12 ... for hands you may need a high fidelity mesh, so you might need an inverse map 19:24:26 ... some things that may fall into an uncanny valley situation wrt a robocop/themed hand 19:24:52 ... idk from a UX POV if having a high fidelity hand to go with a prefab tex is strongly preferable to being able to have a generic hand model 19:25:01 ... that can be appropriately skinned 19:25:09 q+ 19:25:27 nick-8thwall: main thing is, by exposing meshes we have a per-spec multiplication of effort 19:25:36 ... indices need to be pre baked anyway 19:25:53 ack cabanier 19:26:13 cabanier: in response to alexturn , it seems like we should have a common model 19:26:24 q+ 19:26:25 ... and everyone agrees on that 19:26:37 ... wanna be sure if folks agree it should be based on joints? 19:26:46 alexturn: yes, and i think that we should require joints 19:27:03 ... (if you don't have joints no dice) 19:27:04 cabanier: yes 19:27:12 cabanier: also, do you have a model? we don't have extra joints 19:27:23 alexturn: unfortunately no, because for rendering we use the mesh 19:27:31 ... with a lot of the properties nick was mentioning 19:27:38 OpenXR hand mesh (MSFT): https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_hand_tracking_mesh 19:27:38 ... we give you that separately per frame 19:28:02 ... currently an MSFT standard, not cross-vendor, but it's a way people can do hand meshes 19:28:14 ... we tend to render the hand mesh every frame 19:28:23 q? 19:28:25 ack bajones_ 19:28:45 scribenick: cabanier 19:28:45 bajones_: addressing nick's concerns: the facial mesh rendering is an interesting topic here 19:28:52 ... alcooper has been looking at it on our end 19:29:04 ... it is a little different: hard to come up with a reasonable representation 19:29:13 ... just blasting out vertices each frame ends up being more concise 19:29:25 ... so you don't have quite the same issues as facial rendering, but a lot of the same issues 19:29:41 ... can imagine that someone who had no other options can do their own hand mesh with their own stable uvs 19:29:48 ... it just won't line up perfectly 19:30:24 bajones_: the case of the oculus default mesh -- doesn't have metacarpals, but i think you can just plug in metacarpals and not skin them to anything 19:30:43 ... point being if you have a hand mesh that's close enough we can work with that 19:31:07 ... final thing i want to say is that i would really like to have some asset available in the input-profiles repo. think it would be useful. would not want it to be automatic 19:31:16 ... the same way controllers do now 19:31:31 q+ 19:31:59 ... good thing to have it in the library, but to get it to ship out automatically needs a separate impl that is joint aware 19:32:03 ack alexturn 19:32:32 alexturn: either joints or hand mesh can get you a good quality result, so if we hit the same articulation bar it should be fine 19:32:50 ... some differences here bw ar and vr. we believe they can share the same APIs, but apps will build different experiences 19:33:05 e.g. in AR it is critical the app match the true size of the hand, in VR there is more flexibility 19:33:13 ... so you can play a lot more with that 19:33:25 ... e.g. you might be wearing a big gauntlet 19:33:47 ... also enables easy retargeting 19:33:57 ... so in vr you have a lot more flexibility there 19:34:13 ack Manishearth 19:34:15 q+ 19:34:27 Manishearth: I wanted to mention to Nick 19:34:37 rrsagent, publish minutes v2 19:34:37 I have made the request to generate https://www.w3.org/2020/09/22-immersive-web-minutes.html atsushi 19:34:46 ... right now we have no mesh API and we're not adding it to the joints repo 19:35:00 ... we're just figuring out if we should have a mesh in the repo 19:35:16 ... and the hand mesh should be something you opt into 19:35:34 ... We already had issue with performance when it comes to hands 19:36:08 --- and each mesh should be relative to a wrist 19:36:16 ack Lachlan_Ford 19:36:26 ... I agree with Brandon that we can begin with the Oculus mesh 19:36:45 Lachlan_Ford: I wanted to have an understanding where this model will live 19:36:55 ... so it's a glb that you pull down and render 19:37:11 bajones_: yes. we have an assets folder on github. 19:37:18 ... it will live on that same spot 19:37:31 ... and it will be available for everyone to download 19:38:06 ... we need to make sure that it not get automatically pushed. We don't want non-skinned hands to show up there 19:38:25 ... how can we extend that library so hand aware applications can use it 19:38:46 Lachlan_Ford: I want to know the motivation for standardization 19:38:53 q? 19:38:56 bajones_: it works this way 19:39:24 q+ 19:39:30 ... it's really framework builders having a appropriately licensed mesh 19:39:43 ... I don't advocate that they will switch to that 19:39:48 q+ 19:40:08 Lachlan_Ford: the way you describe it, the user can improve upon the baseline 19:40:16 bajones_: it's often a sanity check 19:40:36 ... we're not advocating an autorative hand 19:41:02 Manishearth: we aren't standardizing anything. It's just a JS library 19:41:28 ack cabanier 19:41:30 ... we're saying: we just put a mesh here and people can standardize on that 19:41:56 cabanier: so i think we talked a little about we don't wanna use this model all the time otherwise we get "claw hands" 19:42:09 ... i think we only are going to show hands as controllers only if the author opted in to joints 19:42:45 cabanier: e.g. on oculus you have controllers and put them down and use their hands 19:43:17 ... rn you HAVE to pick up controllers to use webxr 19:43:30 ... unless the user changes some settings 19:44:02 ... i nthe future we can make it so that ONLY IF the author requests hand-input 19:44:09 alexturn: maybe we should have this in the spec 19:44:31 alexturn: we might wanna make clear that UAs intend to operate this way 19:44:33 q? 19:44:39 cabanier: will open an issue 19:44:43 ack nick-8thwall 19:45:08 nick-8thwall: just responding to something alexturn said quite a while back: was talking about how we'd enable ar as well as vr for rendering a mesh 19:45:19 ... for face effects even though you have a high res mesh 19:45:26 ... it's easier to expose a landmark api 19:45:40 ... e.g. when you talk about setting a finger to a location 19:45:54 ... when you have points on the mesh, you have some special landmarks 19:46:14 alexturn: and yeah that's the api that we'll have first in webxr 19:46:23 .. you get joints plus the tip 19:46:51 ack Manishearth 19:46:51 ... for collider purposes apps would use joints, and rigging is mostly for rendering 19:47:12 Manishearth: like Alex said, there is no mesh API 19:47:20 ... it's just a mesh so you can skin the hand 19:47:31 ... we only expose joints. 25 points per hand 19:47:55 ... what oculus and Hololens do is different 19:48:17 ... even if the content doesn't opt into hand, you should expose a hand controller 19:48:38 Lachlan_Ford: there are cases where you want to render the hand 19:48:46 Manishearth: not rendering a controller 19:49:06 alexturn: people will render the gltf 19:49:26 ... any code that uses motion controller is going to have to be updated to the hand model 19:49:56 ??? 19:50:33 ack alexturn 19:50:34 the ua would remove direct delivery for the accessibility feature 19:51:10 alexturn: I'm torn if the default hand mesh in the input profiles will create confusion 19:51:32 ... you can roll your own hand. 19:51:45 ... maybe it makes more sense to put it in its own location 19:52:16 yonet: any updates from anyone? 19:52:26 kip: my last day with mozilla is this week 19:52:41 ... but my github name will stay the same 19:52:45 i/yonet: any updates from anyone?/topic: AOB 19:53:03 ... other people from mozilla might join especially from the hubs team 19:53:39 ... if you want face-to-face call especially lighting estimation I'll be happy to create some time for that 19:57:48 present 19:57:49 present+ 20:01:30 i/cabanier: so from the oculus perspective,/scribenick: Manishearth/ 20:01:48 i/cabanier: when it comes to the name, right now when you expose hands/scribenick: Manishearth/ 20:02:07 i/bajones_: addressing nick's concerns: the facial mesh/scribenick: Manishearth/ 20:02:16 atsushi: thanks for patching up the minutes! 20:02:29 i/Manishearth: I wanted to mention to Nick/scribenick: cabanier/ 20:02:47 i/cabanier: so i think we talked a little about/scribenick: Manishearth/ 20:03:03 i/Manishearth: like Alex said,/scribenick: cabanier/ 20:03:12 rrsagent, publish minutes v2 20:03:12 I have made the request to generate https://www.w3.org/2020/09/22-immersive-web-minutes.html atsushi 20:03:20 np ;) 20:06:33 s/e.g. in AR it is critical the app match the true size of the hand, in VR there is more flexibility/... e.g. in AR it is critical the app match the true size of the hand, in VR there is more flexibility/ 20:06:58 s/--- and each mesh should be relative to a wrist/... and each mesh should be relative to a wrist/ 20:07:28 s/the ua would remove direct delivery for the accessibility feature/... the ua would remove direct delivery for the accessibility feature/ 20:07:38 rrsagent, publish minutes v2 20:07:38 I have made the request to generate https://www.w3.org/2020/09/22-immersive-web-minutes.html atsushi 20:08:45 present+ nick-8thwall, yonet 20:08:46 rrsagent, publish minutes v2 20:08:46 I have made the request to generate https://www.w3.org/2020/09/22-immersive-web-minutes.html atsushi 20:09:33 rrsagent, bye 20:09:33 I see no action items