在 A 帧 (AR.js) 中,想要使 3D 对象看起来像是从地板上冒出来的,即以某种方式位于标记下方的 clip/mask

In A-Frame (AR.js), Want to make 3D object appear to come out of the floor, i.e. clip/mask below marker somehow

我正在寻找一种使用 Ar.js 将 3D 对象剪辑到 A 帧中特定点以下的方法。我想剪切点是 0,0,0,标记位置。我的想法是让一个物体看起来像是从下面的标记出来的,所以在那个点以下你就看不到它了。希望我的图表能解释我的意思。

我曾尝试使用 C4D 合成标签,但正如预期的那样,它不会导出为 gltf 对象。

有一种巧妙的技术可以用来制作隐形斗篷 - 禁用 material.

colorWrite 属性

假设您想将对象隐藏在一个盒子中。您需要创建一个比您的对象稍大的框,并按照描述设置其 material:

AFRAME.registerComponent('cloak', {
   init: function() {
     var geometry = new THREE.BoxGeometry( 1.1, 1.1, 1.1 );
     var material = new THREE.MeshBasicMaterial( {colorWrite: false} );
     var cube = new THREE.Mesh( geometry, material );
     this.el.object3D.add( cube );
   }
})

然后确保它在隐形对象之前渲染:

<a-marker>
  <a-entity cloak></a-entity>
  <a-box animation="property: position; to: 0 1.2 0; dur: 1500; 
         easing: linear; loop: true; dir: alternate"> </a-box>
</a-marker>

this 故障中查看。