当前位置: 首页 > wzjs >正文

怎么查网站开发者联系方式营销网站系统

怎么查网站开发者联系方式,营销网站系统,做简单网站需要学什么软件,主机托管网站blender和three.js小白的学习之路。 最近看到Three.js官网上说,模型合并是一个很好的优化性能的方式,因为渲染2000个物体总要比一次性渲染一个模型要来的慢。很有道理! 但此时就不禁思考一个问题,现有的模型进行合并通过blender…

blender和three.js小白的学习之路。

最近看到Three.js官网上说,模型合并是一个很好的优化性能的方式,因为渲染2000个物体总要比一次性渲染一个模型要来的慢。很有道理!

但此时就不禁思考一个问题,现有的模型进行合并通过blender肯定要比使用代码合并geometry要来的快得多。在blender中通过Alt+D复制出来的模型在blender中是共用一个网格和材质的。如下图所示:

那么导出的gltf/glb模型加载到three.js中是否还依然共享网格和材质呢?

我们可以理所当然的认为是共享的,那么此时如果将这四个立方体合并是否就不太合适呢?

我去问了一下AI,AI说,你的担心是多余的,因为Three.js不支持共享,是为每一个网格都创建了一个实例,所以是不共享的。

我:嗯??首先我之前使用过,知道材质是共享的,改变其中一个材质,其他所有模型的材质都会跟随变化,难道说网格不是这样?但Three.js的官网明确支持同一个geometry可以被多个Mesh所使用啊。

于是,我决定简单做个实验,来验证一下。

将导出的glb加载Three.js搭建的场景中,然后改变其中一个geometry的position的array,也就是顶点的位置,看是仅当前的mesh改变,还是所有的都改变。

代码如下:

const array: number[] = [];
vertices.forEach((item) => {array.push(...item.pos);
});
const geometry = new Three.BufferGeometry();
const position = new Three.BufferAttribute(new Float32Array(array), 3);
geometry.setAttribute("position", position);let geo: Three.BufferGeometry;
new GLTFLoader().load("/cube.glb", (glb) => {const mesh = glb.scene;scene.add(mesh);console.log(mesh.children[0].geometry === mesh.children[1].geometry); // 打印结果是 truegeo = mesh.children[0].geometry;
});const changeGeo = () => {geo.attributes.position = geometry.attributes.position;geo.attributes.position.needsUpdate = true;
};const loop = () => {renderer.render(scene, camera);requestAnimationFrame(loop);
};loop();

vertices是一个记录了pos的数组,可随意写一些,只要不和原始的相同就可以。我先打印了一下两个geometry是否全等,结果打印出来是 true。小小AI,妄想骗我?!

为进一步验证,加了一个按钮,来动态改变,DOM如下:

  <div id="blender" ref="blenderRef" /><button id="btn" @click="changeGeo">click</button>

运行结果如下图所示:

可以比较明显的看出,在我点击了按钮之后,所有的mesh的形状都发生了变化,因此,Three.js是支持blender中的关联复制的。

还有一个问题没有得到解决,就是像这种,虽然是四个模型,但是几何体和材质都是共享的同一个,合并之后,显然模型的几何体会变得很复杂,但是模型的个数减少了。这种情况下,是合并之后整体的渲染性能更佳,还是分开渲染性能更加呢?

求大佬们解答!

(我个人认为 (PPS:不一定对):不合并,占用的资源会更少一些,但是渲染的帧率可能会降低,合并之后占用的资源会多一些,但是渲染的帧率会有所提升。对简单的模型来说其实无所谓,那如果对于上千万个面的那种模型又当如何选择呢??)

http://www.dtcms.com/wzjs/100658.html

相关文章:

  • 西安做网站建设搜索引擎优化的方式有哪些
  • 购买域名后用wordpress建站临沂百度推广的电话
  • 用python做音乐网站体验营销理论
  • 安徽省工程建设安全协会网站在线磁力搜索神器
  • 江苏九天建设有限公司网站武汉seo网站推广
  • 阜新网站制作百度移动端点赞排名软件
  • ui设计网站建设是什么意思搜狗优化排名
  • 电影网站怎么做关键词优化网站的方法有哪些
  • 大学生做网站和做app中山做网站推广公司
  • 在本地怎么做网站b2b平台营销
  • 做app网站的软件有哪些内容seo网站优化软件
  • asp技术做网站seo模拟点击软件源码
  • 免费网站入口2022伊园seo助理
  • 企业网站建设内容 程序开发网店怎么开
  • 做电商什么素材网站好app优化排名
  • 只做域名跳转和关停网站银川网页设计公司
  • 精准大数据营销公司网站排名优化快速
  • 企业为什么做平台网站app营销策略都有哪些
  • 微信官网手机版seo的关键词无需
  • 做动效网站深圳网站优化推广方案
  • 侵权网站怎么做南京seo网络优化公司
  • 外包网站建设价格推广seo优化公司
  • 深圳网站建设便捷搜索seo是什么意思
  • 网站运营的提成方案怎么做品牌推广方案怎么写
  • 专门做电子书的网站有哪些海外发布新闻
  • 想做网站 优帮云什么搜索引擎搜索最全
  • 比较多人用什么网站做推广有了域名怎么建网站
  • php做的大型网站小程序制作
  • 莆田高端网站建设竞价外包推广
  • 深圳宝安网站建设500元起价找代写文章写手