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

网站建设租房网模块公司建设网站服务器必要条件

网站建设租房网模块,公司建设网站服务器必要条件,网站管理权限怎么进去,seo业务培训先来个效果图 之前写的那个稍微有点问题,帧率只有30,参照官方代码修改后,帧率可以达到50了,在不全屏的状态下,帧率60 1.首先需要导入库 // 用于模型边缘高亮 import { EffectComposer } from "three/examples/js…

先来个效果图

图片.png

之前写的那个稍微有点问题,帧率只有30,参照官方代码修改后,帧率可以达到50了,在不全屏的状态下,帧率60


1.首先需要导入库

// 用于模型边缘高亮
import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer.js"
import { RenderPass } from "three/examples/jsm/postprocessing/RenderPass.js"
import { OutlinePass } from "three/examples/jsm/postprocessing/OutlinePass.js"
import { ShaderPass } from "three/examples/jsm/postprocessing/ShaderPass.js"
import { FXAAShader } from "three/examples/jsm/shaders/FXAAShader.js"
import { SMAAPass } from "three/examples/jsm/postprocessing/SMAAPass.js"
import { UnrealBloomPass } from "three/examples/jsm/postprocessing/UnrealBloomPass.js"

然后需要注意,我这里使用的是vue的框架,但是对于变量的定义我用的是全局的定义。

// 模型边缘高光
let composer;
let outlinePass;
let renderPass;
let effectFXAA;

2.添加EffectComposer效果组合器

add_composer() {// 创建一个EffectComposer(效果组合器)对象,然后在该对象上添加后期处理通道。composer = new EffectComposer(renderer)// 新建一个场景通道  为了覆盖到原来的场景上renderPass = new RenderPass(scene, camera)composer.addPass(renderPass);// 物体边缘发光通道outlinePass = new OutlinePass(mouse, scene, camera)outlinePass.visibleEdgeColor.set(parseInt(0x00ff00)) // 呼吸显示的颜色outlinePass.hiddenEdgeColor = new THREE.Color(0, 0, 0) // 呼吸消失的颜色composer.addPass(outlinePass)// 解决高亮后环境变暗的问题const outputPass = new OutputPass();composer.addPass( outputPass );// 自定义的着色器通道 作为参数effectFXAA = new ShaderPass(FXAAShader)effectFXAA.uniforms[ 'resolution' ].value.set( 1 / window.innerWidth, 1 / window.innerHeight );composer.addPass(effectFXAA)},
  • outlinePass = new OutlinePass(mouse, scene, camera)中的mouse就是 new THREE.Vector2( window.innerWidth, window.innerHeight ),可以直接用这个

把上面这个函数,在mounted的时候调用一下,初始化一次,后面想让哪个模型高亮,就传哪个模型进去

3.点击模型边缘高亮

现在就需要在点击模型的事件中去调用这个函数

// 点击模型事件
pick(event) {const found = self.cast(event)[0];if (found) {// [transformer]是给变压器加,[transformer,car]是给变压器和房子加,子模型要.objectoutlinePass.selectedObjects = [found.object]; }
},

我的self就是this。

我想要实现的是子模型的高亮,所以我要取子模型的object,其次需要注意的就是传入的参数是个数组,你传入哪些模型,点击的时候,那些模型就会一起高亮,我这里传入的是一个,是选中的子模型。

如果你不想让这个模型边缘高亮了,那么outlinePass.selectedObjects = []; 这个数组里放哪个模型哪个模型边缘高亮,通过修改 outlinePass.selectedObjects 实现。

4.移除模型边缘高亮

当不想要高亮的时候,把composer赋值为空就可以了。

doubel_pick(event) {outlinePass.selectedObjects = [];
},

5.监听窗口变化

当窗口大小改变时,需要对应着改变渲染的大小

// 随着窗体的变化修改场景
function onResize() {camera.aspect = window.innerWidth / window.innerHeight;camera.updateProjectionMatrix();renderer.setSize(window.innerWidth, window.innerHeight);composer.setSize(window.innerWidth, window.innerHeight);effectFXAA.uniforms[ 'resolution' ].value.set( 1 / window.innerWidth, 1 / window.innerHeight );
}
// 监听窗体调整大小事件
window.addEventListener('resize', onResize, false);

6.循环渲染

const animate = () => {stats.update();controls.update();//renderer.render(scene, camera);  不在需要renderer.render了composer.render(scene, camera)self.render_animation = requestAnimationFrame(animate);
};
animate()

这里需要注意的就是不要再添加renderer.render了,因为前面new EffectComposer的时候已经把renderer添加进去了,后面就是组合效果,只需要循环render后面这个composer就可以了,这是我的理解。

当然这也是造成之前帧率低的主要原因,循环渲染了,所以,删掉他,直接composer.render(scene, camera),帧率50,在不全屏的情况下,帧率60,基本满足需求。


附官方案例

案例:https://threejs.org/examples/?q=outlin#webgl_postprocessing_outline

源码:https://github.com/mrdoob/three.js/blob/master/examples/webgl_postprocessing_outline.html

前面被其他博客误导了。

http://www.yayakq.cn/news/996883/

相关文章:

  • 网站焦点图素材深圳互助资金盘网站开发
  • 室内环保网站模板代码好多公司为啥只做网站 不考虑推广
  • 做软件的网站php360免费建站域名
  • 做电影网站服务器需求郑州市新闻最新消息
  • 网站开发三个月能学会吗无锡网站制作网站建设
  • 西安学校网站制作网站主色怎么选择
  • 详情页制作网站网站运营与管理的目的是
  • 网站开发用 c php一般网站系统并发量
  • 上行30m可以做网站吗wordpress另一更新进行中
  • 国内做网站好的公司友情链接方面
  • 浙江有限公司网站做游戏网站需要哪些许可
  • PHP网站开发都需要学什么快速网站开发 带数据库
  • wordpress 灯箱 插件成都网站排名优化报价
  • 自适应网站wordpress网站对齐原则
  • 男女做的那个视频网站昆山哪里有做网站的
  • 很有质感的网站苏州企业网页设计
  • 徐州做网站谁家最专业宿迁专业网站三合一建设
  • 在建设银行网站上还贷wordpress 简码大全
  • 河南百度建个网站简洁大方的网站
  • 可以直接进入网站的正能量照片建设网站卡盟
  • 网站推广基本方法是wordpress链接微博
  • 建设公司网站模板企业怎么建设网站
  • iis网站架设教程杭州网站建设过程
  • 个人做网站能备案吗正规排名网站推广公司
  • wordpress两个站点共用用户移动平台3g手机网站前端开发布局技巧汇总
  • 品牌形象网站源码wordpress设置html页面
  • 网站飘窗怎样做wordpress 自定义布局
  • 图书馆网站建设方案广州黄埔区开发区建设局网站
  • 博罗县建设局网站关键词排名优化怎么做
  • 网站开发没有完成 需要赔偿多少大连网站建设工作室