three.js - A 帧截头体剔除
问题描述
如何在 A-Frame 中关闭 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;
}
});
});
我想知道您的解决方案是否仅仅因为模型尚未完成加载而不起作用。
推荐阅读
- ruby-on-rails - AJAX + Rails:创建路由时应该使用 GET 还是 PUT?
- angular - 找不到模块'@angular/router/src/utils/collection'
- android - Android MVP:处理演示者类中的所有异常
- jupyter-notebook - 如何在 google-colab 上使用 plotly-dash 和 jupyter-plotly-dash?
- r - 如何命名具有升序值的列
- javascript - 将画布下载为 png
- python - 如何将单词保存在从具有句子 ID 编号的文章中标记的 CSV 文件中?
- java - 当我 maven clean 项目时,它提醒在处理 POM 时遇到了一些问题:
- python - 如何在列表中列出句子中某个单词的索引?我不明白它是如何工作的
- deep-learning - 为什么我们在 ResNet 中使用身份层?