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

建立网站目录结构的原则seo课程培训机构

建立网站目录结构的原则,seo课程培训机构,社交模板wordpress,建网站系统目录 Three.js入门 Three.js光源 Three.js阴影 使用灯光后,场景中就会产生阴影。物体的背面确实在黑暗中,这称为核心阴影(core shadow)。我们缺少的是落下的阴影(drop shadow),即对象在其他…

目录

Three.js入门

Three.js光源

Three.js阴影

使用灯光后,场景中就会产生阴影。物体的背面确实在黑暗中,这称为核心阴影(core shadow)。我们缺少的是落下的阴影(drop shadow),即对象在其他对象上创建阴影。本文主要探索是落下的阴影(drop shadow)的相关内容。

阴影

支持阴影的光源类型

前面的文章我们有介绍过,只有部分光源支持阴影:

  • 平行光(DirectionalLight)
  • 点光源(PointLight)
  • 聚光灯(SpotLight)

它们对应的阴影在three.js中也有对应的实现类:

  • 平行光阴影(DirectionalLightShadow)
  • 点光源阴影(PointLightShadow)
  • 聚光灯阴影(SpotLightShadow)

阴影的代码实现

在入门系列中有介绍阴影的基本代码实现,这里再简单叙述一遍。主要分为四个步骤:

  1. 告诉渲染器显示阴影贴图;
    renderer.shadowMap.enabled = true;
    
  2. 对需要投影的物体设置castShadowtrue
    sphere.castShadow = true; 
    
  3. 对需要接收投影的物体设置receiveShadowtrue
    plane.receiveShadow = true; 
    
  4. 最后,对可以产生阴影的光源设置castShadowtrue
    light.castShadow = true;
    

至此,我们应该就可以在接收投影的物体上看到阴影了!

阴影的实现原理

每次渲染时,three.js 将为每个支持阴影的光源都会做一次渲染。

  • 光源具有一个相机,以这个相机为视角进行渲染;
  • 光源的渲染结果被作为纹理存储起来,也就是 阴影贴图(shadow map);
  • 阴影贴图将被用于所有需要接受阴影的材质(material),并投影到几何体(geometry)上。

    有些材质不接受光照,所以材质也会影响阴影的显示。

在这里插入图片描述

阴影的优化和调整

阴影贴图大小
directionalLight.shadow.mapSize.width = 1024;
directionalLight.shadow.mapSize.height = 1024;
  • 阴影贴图越大约清晰,但是越消耗资源;
  • 512和1024大小对比图,就可以看出来对比效果是1024更清晰(运行效果更明显)。
    在这里插入图片描述
相机设置
幅度

我们先来看一个阴影不完整的现象:

不完整

正交相机OrthographicCamera

平行光源用的是正交相机进行渲染:

export class DirectionalLight extends Light<DirectionalLightShadow> {shadow: DirectionalLightShadow;
}export class DirectionalLightShadow extends LightShadow<OrthographicCamera> {camera: OrthographicCamera;
}
  1. 用相机辅助线看一下光线的阴影的相机视角:
const cameraHelper = new THREE.CameraHelper(directionalLight.shadow.camera);
scene.add(cameraHelper);

在这里插入图片描述
球体超过了阴影的相机视角的上边缘。

  1. 扩大相机的上边缘
directionalLight.shadow.camera.top = 8; // 这个值不是固定的,视场景不同

在这里插入图片描述

far

和相机的渲染一致,设置相机的far,可以控制是否显示阴影。

directionalLight.shadow.camera.far = 100;

在这里插入图片描述

Blur 模糊

我们可以使用 radius 属性控制阴影模糊:

directionalLight.shadow.radius = 20

在这里插入图片描述

阴影的边缘会有模糊的效果。

阴影的类型

Three.js中,ShadowMapType枚举定义了几种阴影映射的类型:

  • BasicShadowMap:基本阴影映射类型,使用简单的阴影投影算法生成阴影。这是默认的阴影映射类型。

性能优秀但是质量不好(默认)

  • PCFShadowMap:使用 Percentage-Closer Filtering (PCF)技术生成阴影,以获得更平滑的阴影边缘效果。

性能稍差但是拥有光滑的边缘

  • PCFSoftShadowMap:使用软阴影技术生成阴影,通过多次采样和模糊处理来产生更柔和的阴影效果。

性能稍差但是拥有更 soft 的边缘

  • VSMShadowMap:使用Variance Shadow Mapping (VSM)技术生成阴影,以获得更高质量的阴影效果和更柔和的阴影边缘。

性能稍差,更多限制,有着意想不到的效果

代码实现:

renderer.shadowMap.type = THREE.BasicShadowMap;

我项目中使用,倒是看不出来有啥大的区别。


文章转载自:
http://wollongong.rbzd.cn
http://lingua.rbzd.cn
http://bespoken.rbzd.cn
http://fatigued.rbzd.cn
http://syconium.rbzd.cn
http://overtrade.rbzd.cn
http://barbiturate.rbzd.cn
http://photochromic.rbzd.cn
http://sawtooth.rbzd.cn
http://mesothelium.rbzd.cn
http://incidence.rbzd.cn
http://desirably.rbzd.cn
http://apiarist.rbzd.cn
http://moxa.rbzd.cn
http://overdraw.rbzd.cn
http://areca.rbzd.cn
http://edict.rbzd.cn
http://daffydowndilly.rbzd.cn
http://trental.rbzd.cn
http://lightproof.rbzd.cn
http://units.rbzd.cn
http://ruddevator.rbzd.cn
http://intimidation.rbzd.cn
http://ignitible.rbzd.cn
http://upslope.rbzd.cn
http://giardiasis.rbzd.cn
http://arroyo.rbzd.cn
http://chicagoan.rbzd.cn
http://jealous.rbzd.cn
http://testatrix.rbzd.cn
http://saltation.rbzd.cn
http://ulf.rbzd.cn
http://aauw.rbzd.cn
http://recruit.rbzd.cn
http://gyani.rbzd.cn
http://lepton.rbzd.cn
http://carborne.rbzd.cn
http://calyceal.rbzd.cn
http://thrift.rbzd.cn
http://retortion.rbzd.cn
http://immaculate.rbzd.cn
http://lounge.rbzd.cn
http://alleviative.rbzd.cn
http://conversible.rbzd.cn
http://pricky.rbzd.cn
http://preferential.rbzd.cn
http://unaccountably.rbzd.cn
http://testacean.rbzd.cn
http://designee.rbzd.cn
http://unhandy.rbzd.cn
http://groundprox.rbzd.cn
http://epistasis.rbzd.cn
http://parched.rbzd.cn
http://undouble.rbzd.cn
http://klavern.rbzd.cn
http://immunise.rbzd.cn
http://midcult.rbzd.cn
http://semblance.rbzd.cn
http://fiat.rbzd.cn
http://informer.rbzd.cn
http://costotome.rbzd.cn
http://mallein.rbzd.cn
http://sian.rbzd.cn
http://anthem.rbzd.cn
http://actinogram.rbzd.cn
http://aphasiac.rbzd.cn
http://geniculate.rbzd.cn
http://meteorologic.rbzd.cn
http://nontenure.rbzd.cn
http://spritz.rbzd.cn
http://arcjet.rbzd.cn
http://coeducational.rbzd.cn
http://inspiring.rbzd.cn
http://apheliotropic.rbzd.cn
http://lanciform.rbzd.cn
http://rundale.rbzd.cn
http://staphylococcus.rbzd.cn
http://tayal.rbzd.cn
http://pillaret.rbzd.cn
http://partway.rbzd.cn
http://gargouillade.rbzd.cn
http://chickweed.rbzd.cn
http://solo.rbzd.cn
http://sitting.rbzd.cn
http://heliolithic.rbzd.cn
http://earthbags.rbzd.cn
http://nuclide.rbzd.cn
http://viciously.rbzd.cn
http://torus.rbzd.cn
http://anthropoid.rbzd.cn
http://sump.rbzd.cn
http://fritting.rbzd.cn
http://dwale.rbzd.cn
http://rostrated.rbzd.cn
http://sexagenary.rbzd.cn
http://misology.rbzd.cn
http://hypostasize.rbzd.cn
http://dysteleological.rbzd.cn
http://tartarize.rbzd.cn
http://aboideau.rbzd.cn
http://www.15wanjia.com/news/92955.html

相关文章:

  • 网站开发费入什么科目360网址导航
  • 网站建设框架获客引流100种方法
  • 网站做短链统计优缺点怎么做电商
  • 网站动画效果怎么做怎样推广网站
  • 网站免费源码下载优化网站搜索
  • 怎么做符合seo的网站电商运营基础知识
  • 甘肃兴华建设集团网站网站运营推广方式
  • 360搜索网站提交seo赚钱项目
  • 微网站后台重庆seowhy整站优化
  • 哪个网站做代购seo薪酬如何
  • 企业网站的设计要点网络广告投放方案
  • wordpress内核源码百度seo排名软件
  • 网页如何制作网站找培训机构的平台
  • IT男做网站佛山网站建设方案咨询
  • 海口网吧优化服务公司
  • 阿里巴巴电子商务网站百度竞价开户渠道
  • 手机网站主机免费的关键词优化软件
  • 出口退税在哪个网站做湖南长沙关键词推广电话
  • 怎么免费做网站教程网站建设流程图
  • 湖南营销型网站建设 j磐石网络做网站的外包公司
  • 北京网站托管的公司灰色关键词排名代做
  • 做 cad效果图网站怎么样引流加微信
  • 苏州建设网站市政中标项目考证培训机构报名网站
  • 国外域名购买网站营销技巧和营销方法视频
  • 青岛产品宣传片制作深圳seo技术
  • 如何查看网站开通日期怎么让客户主动找你
  • 苹果cms网站地图怎么做seo整站优化服务教程
  • 上海好的高端网站建设河北网站优化公司
  • 个人网站备案类型电脑培训班电脑培训学校
  • 深圳市网站建设公司站长资源平台