我正在try 呈现一组转换控件,以便用户始终可以看到它们.但是,当我将DepthWrite设置为False或在Transform控件上使用Alway sDepth函数时,我会获得所需的结果,但Transform控制器的各个组件也会在彼此的顶部渲染.

将DepthWite设置为False:

enter image description here

问题(示例):

enter image description here

期望的结果(转换控件应该是什么样子)

enter image description here

对于THREE.Group而不是其单个组件,是否可以将DepthWite设置为False,以便该组在其他对象前面呈现,但变换控件的各个组件的行为就像DepthWite设置为True,以便它们不在彼此前面呈现一样?

推荐答案

您可以将controls保留在单独的场景中,以便可以在主场景之后单独渲染它们.您还需要清除渲染调用之间的depthBuffer,以便在所有先前渲染的对象上进行渲染.下面是一些伪代码来解释这个概念:

const controls = new THREE.Group();
const scene2 = new THREE.Scene();

scene2.add(controls);
scene2.autoClear = false

// Render loop
update() {
  renderer.clear()

  // Render all your regular objects
  renderer.render(scene1, camera);

  // Clear the depthBuffer
  renderer.clearDepth();

  // Render your controls
  renderer.render(scene2, camera);
}

你可以阅读更多细节about .clearDepth() in the docs.

Javascript相关问答推荐

IMDB使用 puppeteer 加载更多按钮(nodejs)

如何使用JavaScript将文本插入空div

如何在Obsidian dataview中创建进度条

将旋转的矩形zoom 到覆盖它所需的最小尺寸&S容器

在我的html表单中的用户输入没有被传送到我的google表单中

Chart.js-显示值应该在其中的引用区域

您能在卸载程序(QtInsteller框架)上添加WizardPage吗?

Reaction Native中的范围滑块

本地库中的chartjs-4.4.2和chartjs-plugin-注解

第二次更新文本输入字段后,Reaction崩溃

从Nextjs中的 Select 项收集值,但当单击以处理时,未发生任何情况

DOM不自动更新,尽管运行倒计时TS,JS

如何使本地html页面在重新加载时保持当前可隐藏部分的打开状态?

如何在每隔2分钟刷新OKTA令牌后停止页面刷新

在将元素追加到DOM之前,createElement()是否会触发回流?混淆abt DocumentFragment行为

TabNavigator和StackNavigator之间的Reaction Native中的导航问题

JavaScript -如何跳过某个字符(S)来打乱字符串中的字符

检测带有委托的元素内部的点击,以及元素何时按其类名被选中

与find()方法一起使用时,Mongoose中的$or运算符没有提供所有必需的数据

有没有一种方法可以在不定义任何属性的情况下使用CSS转换?