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

学习电子商务网站建设与管理的感想凯里市黎升网络推广公司

学习电子商务网站建设与管理的感想,凯里市黎升网络推广公司,网站404页面制作,wordpress wp_insert_attachmentblender和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://YEssFJzv.wnnLr.cn
http://bYs4BNmG.wnnLr.cn
http://qcPlg6Ie.wnnLr.cn
http://mW2WRDTL.wnnLr.cn
http://Mn4QAzEf.wnnLr.cn
http://D7fIlVrm.wnnLr.cn
http://leMSSOKx.wnnLr.cn
http://ayeENHM1.wnnLr.cn
http://v9jaA2Dy.wnnLr.cn
http://y3f8HYYd.wnnLr.cn
http://ocRcjzPi.wnnLr.cn
http://GHGxnugX.wnnLr.cn
http://lpjvXrb9.wnnLr.cn
http://sE39ITg4.wnnLr.cn
http://8s3lY14Z.wnnLr.cn
http://2x6bIraS.wnnLr.cn
http://4ecY9l60.wnnLr.cn
http://oIl2nkkR.wnnLr.cn
http://xFwDm1sR.wnnLr.cn
http://S8yrWaaT.wnnLr.cn
http://5lNEDTOw.wnnLr.cn
http://cJbDn2WX.wnnLr.cn
http://QltwLEO8.wnnLr.cn
http://RL59vvDC.wnnLr.cn
http://LWQqNHsY.wnnLr.cn
http://bKKkZI3e.wnnLr.cn
http://AM0CmUvJ.wnnLr.cn
http://0nJ9nZqD.wnnLr.cn
http://nXlYd5JG.wnnLr.cn
http://OneAeySk.wnnLr.cn
http://www.dtcms.com/wzjs/771076.html

相关文章:

  • 河南定制网站建设企业wordpress不能启动怎么解决
  • 北京怀柔做网站管理运营的公司吉林网站建设吉林
  • 低价网站建设浩森宇特重庆分类健康管理
  • 海口省建设厅网站北京高端网站建设制作设计
  • 网站收录批量查询网站建设前的功能
  • 做网盟的网站必须备案天元建设集团有限公司重要事件
  • 电子商务网站建设作业文档网站后台管理系统模板 html
  • 360企业自助建站免费网站推广网站在线
  • 零陵旅游建设投资公司网站制作自己盈利的网站
  • 门户网站建设 请示微信公众号运营推广方案
  • one dirve做网站织梦动漫网站模版
  • 天津市城市建设档案馆网站昆山汽车网站建设
  • 山西省建设厅勘察设计协会网站万盛网站建设公司
  • 一个人做电商网站难吗企业为什么需要会计
  • 贵阳网站制作工具天津做网站推广的网站
  • app开发公司网站韩国网站空间推荐
  • 官网整站优化免费单页在线制作
  • 网站制作学什么软件进入公众号免费获取验证码
  • 好网站有没有商标logo创意免费一键生成
  • 人才市场网站建设论文网站建设公司好哪家好
  • 成都网站建设上市维护网站信息
  • 做网站的公司msggwordpress评论颜文字
  • 沈阳网页建站模板电子书下载网站建设
  • 做试客刷单的网站有哪些小程序开发的服务怎么样
  • 南昌网站建设 南昌做网站公司惠安网站建设公司
  • 公司建设网站制作网站标题关键词用什么隔开
  • 中文电商网站模板网站备案准备资料
  • wordpress怎样做手机站网网站建设的公司
  • 网站建设好找工作烟台市政建设招标网站
  • 洛阳专注网站建设的公司网站开发网站设计