three.js - A 框架视锥体剔除

标签 three.js aframe

如何关闭 A 框架中 gltf 模型的视锥体剔除?我知道在 Three.js 中你可以遍历对象并添加 node.frustumCulled = false。我试过了

AFRAME.registerComponent('disable-culling', {
  init: function(){
    var object3D = this.el.sceneEl.object3D;
    object3D.traverse((node) => {
      node.frustumCulled = false
    })
  }
})

但这不起作用。有人有什么主意吗?该实体是

<a-entity
  id="ball"
  scale="0.3 0.3 0.3"
  position="0 0 -7"
  gltf-model="#ballModel"
  disable-culling
  animation-mixer="clip: *; loop: once; clampWhenFinished: true;"
  shadow>
</a-entity>

最佳答案

我有一个类似的问题,通过视锥体剔除解决了 -

el.addEventListener('model-loaded', () => {
  const model = el.getObject3D('mesh');
  model.traverse((node) => {
    if (node.isMesh) {
      node.frustumCulled = false;
    }
  });
});

我想知道您的解决方案不起作用是否只是因为模型尚未完成加载。

关于three.js - A 框架视锥体剔除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65791460/

相关文章:

canvas - 折纸类折纸动画推荐的 JS 库

三.JSL : Does local server needed for loading Blender model?

testing - 我本地项目的Aframe测试环境设置

javascript - 给定经度和纬度位置,我如何旋转一个对象,使其远离球体

javascript - 如何缩放 A 框 Videosphere

javascript - 在buffergeometry 3 js中添加和更新速度和加速度

javascript - BufferGeometry 偏移量和索引

javascript - THREE.JS 置换贴图不影响阴影

aframe - 在aframe中自动进入vr模式,无需单击vr按钮

aframe 禁用设备传感器弹出