react-three-arjs
react-three-arjs copied to clipboard
How to get the position of the Markers?
const markerRef= useRef<THREE.Group>(null);
const modelRef= useRef<THREE.Group>(null);
<ARMarker
ref={markerRef}
params={{ smooth: true }}
type={"pattern"}
patternUrl={"data/patt.kanji"}
onMarkerFound={(x) => {
console.log(x); // undefined
}}
>
<Model
ref={modelRef}
scale={[1, 1, 1]}
url="/model.glb"
/>
</ARMarker>
later I try to get the position like this:
modelRef.current.getWorldPosition(new THREE.Vector3()),
it is always 0
Vector3 {x: 0, y: 0, z: 0}
Vector3 {x: 0, y: 0, z: 0}
If I'm not mistaken, the position of the marker is always the center of the world.
Yes, the marker position root will be updated. So you need to get the position of the marker root (the parent of your Model)
console.log(modelRef.current.parent.getWorldPosition(new Vector3()))