在A-Frame(AR.js)中,要使3D对象看起来从地板上出来,即以某种方式在标记下方的剪辑/蒙版

时间:2019-07-30 08:47:01

标签: augmented-reality aframe ar.js

我正在寻找一种使用Ar.js将3D对象裁剪到A帧中某个点以下的方法。剪切点应该是0,0,0,即标记位置。我的想法是让一个对象看上去从下面的标记中出来,因此在该点以下您将看不到它。希望我的图表能够解释我的意思。

Diagram

我尝试使用C4D合成标签,但是按预期不会导出为gltf对象。

1 个答案:

答案 0 :(得分:1)

有一种用于创建隐形披风的灵巧技术-禁用材料的colorWrite属性。

让我们说您想将对象隐藏在一个盒子中。您需要创建一个比对象稍大的盒子,并按照以下说明设置其材质:

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小故障检查一下。