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

设计商业网站应该做到什么住建部官网查询

设计商业网站应该做到什么,住建部官网查询,网站主机教程,做多国语言网站1.Three.js 实现模型材质局部辉光效果 2.解决辉光效果影响场景背景图显示的问题 相关API的使用#xff1a; 1. EffectComposer#xff08;渲染后处理的通用框架#xff0c;用于将多个渲染通道#xff08;pass#xff09;组合在一起创建特定的视觉效果#xff09; 2. …1.Three.js 实现模型材质局部辉光效果 2.解决辉光效果影响场景背景图显示的问题 相关API的使用 1. EffectComposer渲染后处理的通用框架用于将多个渲染通道pass组合在一起创建特定的视觉效果 2. RenderPass(是用于渲染场景的通道。它将场景和相机作为输入使用Three.js默认的渲染器renderer来进行场景渲染并将结果输出给下一个渲染通道) 3. UnrealBloomPass(是 three.js 中用于实现泛光效果的后期处理效果通过高斯模糊和屏幕混合技术将亮度较高的区域扩散开来从而实现逼真的泛光效果。) 4. ShaderPass是一个自定义着色器的通道。它允许你指定自定义的着色器代码并将其应用于场景的渲染结果。这样你可以创建各种各样的图形效果如高斯模糊、后处理效果等 在上一篇 Three.js加载外部glb,fbx,gltf,obj 模型文件 的文章基础上新增一个 createEffectComposer效果合成器方法和sceneAnimation 效果器渲染方法以及getFlowMeaterList(获取需要辉光效果材质的方法) 首先引入相关的api import { EffectComposer } from three/examples/jsm/postprocessing/EffectComposer.js import { RenderPass } from three/examples/jsm/postprocessing/RenderPass.js import { UnrealBloomPass} from three/examples/jsm/postprocessing/OutlinePass.js import { ShaderPass } from three/examples/jsm/postprocessing/ShaderPass.js创建效果合成器方法createEffectComposer:需要创建两个合成器 effectComposer 用于正常渲染场景glowComposer用于渲染辉光效果 createEffectComposer() {const { clientHeight, clientWidth } this.container// 场景渲染器this.effectComposer new EffectComposer(this.renderer)const renderPass new RenderPass(this.scene, this.camera)this.effectComposer.addPass(renderPass)//创建辉光效果this.unrealBloomPass new UnrealBloomPass(new THREE.Vector2(clientWidth, clientHeight), 0, 0, 0)this.unrealBloomPass.threshold 1 // 辉光强度this.unrealBloomPass.strength 0 // 辉光阈值this.unrealBloomPass.radius 1 //辉光半径this.unrealBloomPass.renderToScreen false // // 辉光合成器this.glowComposer new EffectComposer(this.renderer)this.glowComposer.renderToScreen falsethis.glowComposer.addPass(new RenderPass(this.scene, this.camera))this.glowComposer.addPass(this.unrealBloomPass)// 着色器let shaderPass new ShaderPass(new THREE.ShaderMaterial({uniforms: {baseTexture: { value: null },bloomTexture: { value: this.glowComposer.renderTarget2.texture },tDiffuse: {value: null}},vertexShader:\t\t\tvarying vec2 vUv;\n \n \t\t\tvoid main() {\n \n \t\t\t\tvUv uv;\n \n \t\t\t\tgl_Position projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n \n \t\t\t},fragmentShader:\t\t\tuniform sampler2D baseTexture;\n \t\t\tuniform sampler2D bloomTexture;\n \n \t\t\tvarying vec2 vUv;\n \n \t\t\tvoid main() {\n \n \t\t\t\tgl_FragColor ( texture2D( baseTexture, vUv ) vec4( 1.0 ) * texture2D( bloomTexture, vUv ) );\n \n \t\t\t},defines: {}}), baseTexture)shaderPass.renderToScreen trueshaderPass.needsSwap truethis.effectComposer.addPass(shaderPass)}获取需要辉光渲染的材质 getFlowMeaterList(){const modelMaterialList []this.model.traverse((v) {if (v.isMesh v.material) {const { name, color,map } v.material// 统一将模型材质 设置为 MeshLambertMaterial 类型v.material new THREE.MeshLambertMaterial({map,transparent: true,color,name,})modelMaterialList.push(v) }})this.glowMaterialList modelMaterialList.map(vv.name)}渲染场景方法sceneAnimation:处理不需要辉光的材质。注意辉光效果会影响场景背景图的正常显示需要单独处理这里通过 instanceof THREE.Scene 判断是否是场景材质然后进行单独处理 sceneAnimation() {this.renderAnimation requestAnimationFrame(() this.sceneAnimation())this.controls.update()// 将不需要处理辉光的材质进行存储备份this.scene.traverse((v) {// 备份一份场景背景然后清空if (v instanceof THREE.Scene) {this.materials.scene v.backgroundv.background null}if (!this.glowMaterialList.includes(v.name) v.isMesh) {// 备份当前材质内容this.materials[v.uuid] v.material// 将不需要辉光的材质设置为黑色v.material new THREE.MeshBasicMaterial({ color: black })}})// 执行辉光效果器渲染this.glowComposer.render()// 在辉光渲染器执行完之后在恢复材质原效果this.scene.traverse((v) {if (this.materials[v.uuid]) {v.material this.materials[v.uuid]delete this.materials[v.uuid]}if (v instanceof THREE.Scene) {v.background this.materials.scenedelete this.materials.scene}})// 执行场景效果器渲染this.effectComposer.render()}完整的代码可参考:https://gitee.com/ZHANG_6666/Three.js3D/blob/master/src/views/renderModel.js 界面效果对比
http://www.sadfv.cn/news/361103/

相关文章:

  • 网站用什么语言开发wordpress防cc代码
  • 嘉兴电子网站建设广告学出来好找工作吗
  • 国外品牌设计网站加强网站建设的措施
  • 聊城网站建设潍坊青岛外发加工网
  • 汉邦未来网站开发做淘宝客网站推广被骗
  • 网站平台建设工作总结适合员工的培训课程
  • icp备案通过了 怎么修改我的网站东营网站建设公司
  • 020网站建设合同范本腾讯云做网站需要报备
  • 企业网站管理系统项目文档响应式网站模仿
  • 触屏网站开发手机版网页开发者工具
  • 毕业设计模板网站php apc缓存 wordpress
  • 合肥做微网站抖音代运营公司经营范围
  • 网站的优化用什么软件下载上海英文网站建设公司
  • 红色企业网站模板深圳app开发公司前十名
  • 校园网网站建设规划书wordpress qiniu-uploader 使用
  • 专门做淘宝优惠券的网站怎样建设淘宝客导购网站
  • 网站建设运营合同阿里云轻量级wordpress
  • 网站服务器查询装修全包
  • 没学过计算机开始学做网站数据网站建设
  • 福建省分行建设银行网站广告设计图片简单
  • 做企业网站比较好的公司陕西建设厅官网系统平台
  • 沈阳模板建站代理制作网站代码吗
  • 车都建设投资集团网站美工个人网站
  • 晋中市两学一做网站深圳品牌策划公司推荐
  • 龙岗网站制作讯息宁波新亚建设内部网站
  • 建设网站如何赢利建设二手商品网站总结
  • 企业网站建设方案有那些仿站建设
  • 做100个网站效果做一个网站需要多少时间
  • 设计电子商务网站自己做优惠劵网站赚钱吗
  • 学做网站能找到工作么成都计算机编程培训哪里好