首页 > 其他分享 >three.js 使用 sortObjects 和 renderOrder 处理网格修改后覆盖模型的问题

three.js 使用 sortObjects 和 renderOrder 处理网格修改后覆盖模型的问题

时间:2023-12-06 16:23:52浏览次数:27  
标签:renderOrder 顺序 渲染 物体 three js sortObjects renderer

问题效果:

目标效果

处理此问题首先需要了解three的渲染机制:

渲染机制

threejs的渲染器是基于webGL的。它的渲染机制是根据物体离照相机的距离来控制和进行渲染的。也就是说,它根据物体的空间位置进行排序,然后根据这个顺序来渲染物体。对于透明的物体,是按照从最远到最近的顺序进行渲染。
控制渲染顺序
1.设置

renderer.sortObjects = false;

这样,物体的渲染顺序将会由他们添加到场景中的顺序所决定。
2.设置

renderer.sortObjects = true;

并且给特定的物体设置object.renderOrder 指定它的渲染顺序。默认renderOrder = 0;

处理方式:

先给 renderer 设置 sortObjects 为true。然后在更新网格时设置模型 的  renderOrder  = -1 即可

标签:renderOrder,顺序,渲染,物体,three,js,sortObjects,renderer
From: https://www.cnblogs.com/fanjlqinl/p/17879788.html

相关文章

  • evalFn 字符串转执行函数 附带JSONParse函数
    constevalFn=(fn)=>{varFun=Function//一个变量指向Function,防止前端编译工具报错returnnewFun('return'+fn)()}/****JSON反序列化,支持函数和undefined*@paramdata*/constJSONParse=(data)=>{returnJSON.parse(data,(k......
  • jsdoc基础
    /***2、函数*@param{string}a-参数1*@param{number}b-参数2*@returns{boolean}-返回值*/constsum=(a,b)=>{returnBoolean(a+b)}/***3、变量*@property{string}a-属性1*@property{111|222}b-属性2*/constobj={......
  • JS(JavaScript)-if-switch选择结构-for-while循环
     前言:回到JS基础,用console输出; console.log(); 输入内容:window.prompt();向页面做出输入接收(类似于后端Scanner) 整数转换:parseInt();1.选择结构:①if结构if(){};  if(){}else{};  if(){}elseif{};......
  • antd 5.0 定制主题如此酷炫,我决定开启 @ant-design/cssinjs 阅读之旅
    前言antd5.0正式发布已经有一段时间了,发布当天,一心二用的看完直播。很喜欢整个设计,有种简约快乐工作的感觉,某些功能设计初衷也给了我一些启发。antd5.0提供的主题定制挺酷炫的,加之我最近对「CSS-in-JS」很感兴趣。于是迫不及待的打开了它的源码,准备研究一番。我大部分情况下都......
  • 将json数据导入到ES集群——解决方案对比&填坑日记
    需求将写好的json数据。导入到es集群数据说明文件JSON数据,一行一个JSON。{"id":"d2716ae8fba4e026c4bd9445c3f49e2c","lang":"zh","title":"吉美旅馆","content":"吉美..."}{"id":"d2716ae8fba4e026c4bd9445......
  • NET Core 3.1 MVC 在html中引用js的方法使用时不生效异常
    在html的select元素添加了onchange事件,changeContent方法也在当前html下。<selectid="changeLanguage"class="form-controlinput-lg"asp-for="language"asp-items="Model.supportedLanguages"onchange="changeContent()">&l......
  • Http 获取JSON
    packagecom.ls.utils;importjakarta.servlet.http.HttpServletRequest;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.nio.charset.StandardCharsets;/***@authorLartimes*@version1.0*@des......
  • JS反调试VMdebugger
    今天干活的时候,要在前端调试找token值,打开“源代码”选项卡的时候,就不断步入“VMXXX”格式的源码当中,在查询了一些资料之后,发现Node.js反调试的一种手段,网上有说是Googlechrome加载evel()函数,应该是存在这种的情况的,不过在测试的过程当中大多数应该都是反调试的这种。该反调试的......
  • JSON utils 工具类核心方法parseObject , toString实现
    1packagecom.ls.utils;23importjava.lang.reflect.Array;4importjava.lang.reflect.Field;5importjava.util.Arrays;67/**8*@authorLartimes9*@version1.010*@description:JSON工具类11*toJSONString12*parseObject13......
  • js格式化工具
    背景通常我们进行网页调试或者爬虫的时候,发现get到的js通常是格式很乱的,不利分分析代码和查找所以本文找到一个可以将js格式化的工具在线解析1.网址https://coding.tools/cn/javascript-beautifier比如我们请求一个jshttps://unpkg.com/[email protected]/components/prism-do......