Hi @arman.codex,
Thanks for the kind words!
Most of the props/properties that are available for the components are the ones provided by the inherited three objects, such as Group
, and the rest should be documented in the README. If you could share with us your thoughts on which props/properties need some more explaining, it would be a great help!
In the meantime, the React Three Fiber wrapper is built on top @zappar/zappar-threejs, a read of its documentation could be handy. (All trackers and the camera are basically just extended ZapparThree classes, with some modified getter/setter props which are documented)
As a quick example, in the ThreeJs wrapper, to apply visible
events to trackers, you would:
faceTracker.onNewAnchor.bind(anchor => {
console.log("New anchor has appeared:", anchor.id);
});
Whereas in r3f, we use props:
<FaceTracker onVisible={(anchor) => console.log("New anchor has appeared:", anchor.id)}>
You’re able to access the underlying Three objects using useRef
and opt for working with the object directly:
const faceTrackerGroup = useRef<Types.FaceAnchorGroup>();
useEffect(() => {
const { faceTracker } = faceTrackerGroup.current;
faceTracker.onNewAnchor.bind((anchor) => {
console.log("New anchor has appeared:", anchor.id);
});
}, [faceTrackerGroup]);
//...
<FaceTracker ref={faceTrackerGroup}>
Hope you can find this useful,
Deim.