File tree Expand file tree Collapse file tree 3 files changed +18
-6
lines changed
Packages/webxr/Hidden~/WebGLTemplates Expand file tree Collapse file tree 3 files changed +18
-6
lines changed Original file line number Diff line number Diff line change 353
353
this . viewerHitTestSource . cancel ( ) ;
354
354
this . viewerHitTestSource = null ;
355
355
} else {
356
+ this . xrSession . requestReferenceSpace ( 'local' ) . then ( ( refSpace ) => {
357
+ this . xrSession . localRefSpace = refSpace ;
358
+ } ) ;
356
359
this . xrSession . requestReferenceSpace ( 'viewer' ) . then ( ( refSpace ) => {
357
360
this . viewerSpace = refSpace ;
358
361
this . xrSession . requestHitTestSource ( { space : this . viewerSpace } ) . then ( ( hitTestSource ) => {
709
712
xrData . viewerHitTestPose . frame = xrData . frameNumber ;
710
713
let viewerHitTestResults = frame . getHitTestResults ( this . viewerHitTestSource ) ;
711
714
if ( viewerHitTestResults . length > 0 ) {
712
- let hitTestPose = viewerHitTestResults [ 0 ] . getPose ( session . refSpace ) ;
715
+ let hitTestPose = viewerHitTestResults [ 0 ] . getPose ( session . localRefSpace ) ;
713
716
xrData . viewerHitTestPose . available = 1 ;
714
717
xrData . viewerHitTestPose . position [ 0 ] = hitTestPose . transform . position . x ;
715
- xrData . viewerHitTestPose . position [ 1 ] = hitTestPose . transform . position . y ;
718
+ let hitTestPoseBase = viewerHitTestResults [ 0 ] . getPose ( session . refSpace ) ; // Ugly hack for y position on Samsung Internet
719
+ xrData . viewerHitTestPose . position [ 1 ] = hitTestPose . transform . position . y + Math . abs ( hitTestPose . transform . position . y - hitTestPoseBase . transform . position . y ) ;
716
720
xrData . viewerHitTestPose . position [ 2 ] = - hitTestPose . transform . position . z ;
717
721
xrData . viewerHitTestPose . rotation [ 0 ] = - hitTestPose . transform . orientation . x ;
718
722
xrData . viewerHitTestPose . rotation [ 1 ] = - hitTestPose . transform . orientation . y ;
Original file line number Diff line number Diff line change 353
353
this . viewerHitTestSource . cancel ( ) ;
354
354
this . viewerHitTestSource = null ;
355
355
} else {
356
+ this . xrSession . requestReferenceSpace ( 'local' ) . then ( ( refSpace ) => {
357
+ this . xrSession . localRefSpace = refSpace ;
358
+ } ) ;
356
359
this . xrSession . requestReferenceSpace ( 'viewer' ) . then ( ( refSpace ) => {
357
360
this . viewerSpace = refSpace ;
358
361
this . xrSession . requestHitTestSource ( { space : this . viewerSpace } ) . then ( ( hitTestSource ) => {
709
712
xrData . viewerHitTestPose . frame = xrData . frameNumber ;
710
713
let viewerHitTestResults = frame . getHitTestResults ( this . viewerHitTestSource ) ;
711
714
if ( viewerHitTestResults . length > 0 ) {
712
- let hitTestPose = viewerHitTestResults [ 0 ] . getPose ( session . refSpace ) ;
715
+ let hitTestPose = viewerHitTestResults [ 0 ] . getPose ( session . localRefSpace ) ;
713
716
xrData . viewerHitTestPose . available = 1 ;
714
717
xrData . viewerHitTestPose . position [ 0 ] = hitTestPose . transform . position . x ;
715
- xrData . viewerHitTestPose . position [ 1 ] = hitTestPose . transform . position . y ;
718
+ let hitTestPoseBase = viewerHitTestResults [ 0 ] . getPose ( session . refSpace ) ; // Ugly hack for y position on Samsung Internet
719
+ xrData . viewerHitTestPose . position [ 1 ] = hitTestPose . transform . position . y + Math . abs ( hitTestPose . transform . position . y - hitTestPoseBase . transform . position . y ) ;
716
720
xrData . viewerHitTestPose . position [ 2 ] = - hitTestPose . transform . position . z ;
717
721
xrData . viewerHitTestPose . rotation [ 0 ] = - hitTestPose . transform . orientation . x ;
718
722
xrData . viewerHitTestPose . rotation [ 1 ] = - hitTestPose . transform . orientation . y ;
Original file line number Diff line number Diff line change 353
353
this . viewerHitTestSource . cancel ( ) ;
354
354
this . viewerHitTestSource = null ;
355
355
} else {
356
+ this . xrSession . requestReferenceSpace ( 'local' ) . then ( ( refSpace ) => {
357
+ this . xrSession . localRefSpace = refSpace ;
358
+ } ) ;
356
359
this . xrSession . requestReferenceSpace ( 'viewer' ) . then ( ( refSpace ) => {
357
360
this . viewerSpace = refSpace ;
358
361
this . xrSession . requestHitTestSource ( { space : this . viewerSpace } ) . then ( ( hitTestSource ) => {
709
712
xrData . viewerHitTestPose . frame = xrData . frameNumber ;
710
713
let viewerHitTestResults = frame . getHitTestResults ( this . viewerHitTestSource ) ;
711
714
if ( viewerHitTestResults . length > 0 ) {
712
- let hitTestPose = viewerHitTestResults [ 0 ] . getPose ( session . refSpace ) ;
715
+ let hitTestPose = viewerHitTestResults [ 0 ] . getPose ( session . localRefSpace ) ;
713
716
xrData . viewerHitTestPose . available = 1 ;
714
717
xrData . viewerHitTestPose . position [ 0 ] = hitTestPose . transform . position . x ;
715
- xrData . viewerHitTestPose . position [ 1 ] = hitTestPose . transform . position . y ;
718
+ let hitTestPoseBase = viewerHitTestResults [ 0 ] . getPose ( session . refSpace ) ; // Ugly hack for y position on Samsung Internet
719
+ xrData . viewerHitTestPose . position [ 1 ] = hitTestPose . transform . position . y + Math . abs ( hitTestPose . transform . position . y - hitTestPoseBase . transform . position . y ) ;
716
720
xrData . viewerHitTestPose . position [ 2 ] = - hitTestPose . transform . position . z ;
717
721
xrData . viewerHitTestPose . rotation [ 0 ] = - hitTestPose . transform . orientation . x ;
718
722
xrData . viewerHitTestPose . rotation [ 1 ] = - hitTestPose . transform . orientation . y ;
You can’t perform that action at this time.
0 commit comments