JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>
<script>
AFRAME.registerComponent('foo', {
init: function() {
this.camera = 0;
this.el.addEventListener("loaded", (e) => {
setTimeout((e) => {
console.log(this.el.camera)
this.camera = this.el.camera
}, 500)
})
},
tick: function() {
if (this.camera !== 0) {
var frustum = new THREE.Frustum();
frustum.setFromMatrix(new THREE.Matrix4().multiplyMatrices(this.camera.projectionMatrix, this.camera.matrixWorldInverse));
// Your 3d point to check
var pos = new THREE.Vector3(0, 0, 0);
if (frustum.containsPoint(pos)) {
console.log("hello")
}
}
}
})
</script>
<a-scene foo>
<a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
<a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
<a-sky color="#ECECEC"></a-sky>
</a-scene>