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

两学一做网站专栏怎么设置地产渠道12种拓客方式

两学一做网站专栏怎么设置,地产渠道12种拓客方式,个人社保缴费比例是多少,孝感市门户之前一直想研究一下web Workers多线程处理,页面中使用web Workers大家可以转弯去web Workers多线程看一下如何使用。 这篇文章主要实现的是Three.js和web Workers一次简单的结合。本来想实现通过web Workers实现加载的,可惜Three.js使用了过多的window方…

之前一直想研究一下web Workers多线程处理,页面中使用web Workers大家可以转弯去web Workers多线程看一下如何使用。
这篇文章主要实现的是Three.js和web Workers一次简单的结合。本来想实现通过web Workers实现加载的,可惜Three.js使用了过多的window方法,而web Workers线程内是无法获取到window对象,所以,这次实现案例就写的是在web Workers里面更新当前场景内所有立方体的位置信息的方法。
虽然这次的案例比较简单,只是开篇的,后期我们可以将运算工作量很大的代码放到多线程内,主线程的交互不受影响,web Workers只要将计算得出的结果返回主线程即可。
在这里插入图片描述
小姐姐模型是页面正常的案例
在模型加载完成时,将创建一个web Workers线程,在worker线程内处理周围立方体的位置。
主要不同的代码就是预创建了一个供worker处理的数组:

        //生成一千个立方体let group = new THREE.Group();let arr = []; //生成一个速度的数组for(let i=0; i<1000; i++){group.add(randomCube());arr.push({speed:Math.random(),y:-3});}scene.add(group);

和在模型加载成功后,我们创建worker对象:

        //创建gltf加载器var loader = new THREE.GLTFLoader();loader.load('marie/scene.gltf', function (gltf) {console.log(gltf);gltf.scene.scale.set(.1, .1, .1);gltf.scene.traverse(function (child) {if (child.isMesh) {child.frustumCulled = false;child.castShadow = true;}});scene.add(gltf.scene);var obj = gltf.scene; //获取到模型对象meshHelper = new THREE.SkeletonHelper(obj);//scene.add(meshHelper);mixer = new THREE.AnimationMixer(obj);action = mixer.clipAction(gltf.animations[0]);action.play();//在模型加载完成后,链接worker线程myWorker.postMessage(arr);myWorker.onmessage = function (e) {for(let i=0; i<e.data.length; i++){group.children[i].position.y = e.data[i].y;}}});

然后worker对象在接收到处理好的y轴坐标信息,再将每个立方体的位置修改一下。

接下来就是worker线程内的逻辑运算,案例运算也比较简单,就是数组创建的时候都设置了一个速度,每一帧都加上这一个速度然后到一定高度以后,再返回默认位置:

onmessage = function (e) {let arr = e.data;//更新数组位置信息setInterval(function () {for (let i = 0; i < arr.length; i++) {arr[i].y += arr[i].speed;if (arr[i].y >= 80) {arr[i].y = -3;}}postMessage(arr);}, 1000 / 60);
};

每次数组运算完成后,再通过postMessage方法传递到主线程,供three使用。

案例地址:https://www.wjceo.com/blog/threejs2/2018-12-21/182.html

http://www.lbrq.cn/news/2553373.html

相关文章:

  • 重庆注册公司代办机构北京seo方法
  • 网站做的好北京百度网站排名优化
  • 音乐网站要怎么做百度推广怎么才能效果好
  • 最好的微网站建设价格网站开发语言
  • 大庆建设局网站首页搜索关键词是什么意思
  • 网站推广建议香飘飘奶茶
  • 系统软件开发流程seo整站排名
  • 福州做网站公司网络营销策略方案
  • 微博营销网站长春网络优化哪个公司在做
  • 网站建设制作费新闻发稿公司
  • 哈尔滨最新疫情防控政策海淀区seo多少钱
  • 免费网站制作效果网站建设公司推荐
  • 可以做问卷调查的网站百度推广客户端怎样注册
  • 网站开发设计框图网页搜索引擎
  • 营销网站建设规划seo交流群
  • 中国国际空间站拒绝十个国家考证培训机构
  • 粮食网站建设的背景及意义今天重大国际新闻
  • 做自媒体需要哪些网站seo短视频网页入口引流下载
  • 网站设计哪家便宜手机百度安装下载
  • wordpress 菜单 导航代码seo推广沧州公司电话
  • 个人 可以备案做分类信息网站吗重庆网站网络推广
  • 网站建设 我们是专业的网络营销平台
  • 企业网站设计策划大数据技术主要学什么
  • 银川网站建设一条龙谷歌google中文登录入口
  • 视频网站发展好应该怎么做百度指数有三个功能模块
  • 自己电脑做网站服务器广域网访问西安网站关键词优化推荐
  • 提供商城网站制作最新国际消息
  • 佛山网站建设no.1怎么做电商平台
  • cad如何做图纸模板下载网站kol合作推广
  • 商城网站建设费用郑州网站推广公司排名
  • Windows和Linux的tree工具
  • VSCode Python 与 C++ 联合调试配置指南
  • 【深度学习新浪潮】3D城市建筑多样化生产的研发进展调研
  • Docker网络技术深度研究与实战手册
  • Python高效历史记录管理:保存最后N个元素的完整指南
  • 7月29日星期二今日早报简报微语报早读