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

佛山市企业网站建设平台wordpress网站网速慢

佛山市企业网站建设平台,wordpress网站网速慢,深圳三大巨头企业,哪几个网站做acm题目本篇主要学习内容 : 灯光与阴影聚光灯点光源平行光阴影相机和阴影计算投射阴影接受阴影 点赞 关注 收藏 学会了 1.灯光与阴影 1、材质要满足能够对光有反应 2、设置渲染器开启阴影计算 renderer.shadowMap.enabledtrue 3、设置光照投射阴影 directionalLight.castShadow …

本篇主要学习内容 :

  1. 灯光与阴影
  2. 聚光灯
  3. 点光源
  4. 平行光
  5. 阴影相机和阴影计算
  6. 投射阴影接受阴影

点赞 + 关注 + 收藏 = 学会了

1.灯光与阴影

1、材质要满足能够对光有反应

2、设置渲染器开启阴影计算 renderer.shadowMap.enabled=true

3、设置光照投射阴影 directionalLight.castShadow = true

4、设置物体投射阴影 sphere.castShadow = true

5、设置物体接受阴影 plane.receiveShadow = true

常见光源如下,入门时学习环境光和点光源:

请添加图片描述

2.聚光灯

SpotLight聚光源可以认为是一个沿着特定方向逐渐发散的光源,照射范围在三维空间中构成一个圆锥体。
请添加图片描述

const spotLight = new THREE.SpotLight('#ffffff', 0.5)
spotLight.position.set(5, 5, 5)
spotLight.castShadow = true
spotLight.intensity = 2
// 设置阴影模糊度
spotLight.shadow.radius = 20
// 设置阴影贴图的分辨率
spotLight.shadow.mapSize.set(4096, 4096) //1024倍数
spotLight.target = sphere
spotLight.angle = Math.PI / 6
// 从光源发出光最大距离的衰减程度
spotLight.distance = 0
// 半影衰减百分比0-1
spotLight.penumbra = 0
// 沿着光照距离的衰减程度
spotLight.decay = 0

3. 点光源

PointLight可以类比为一个发光点,就像生活中一个灯泡以灯泡为中心向四周发射光线。

请添加图片描述

const pointLight = new THREE.PointLight('red', 0.5)
pointLight.position.set(2, 2, 2)
pointLight.castShadow = true
// 设置阴影模糊度
pointLight.shadow.radius = 20
// 设置阴影贴图的分辨率
pointLight.shadow.mapSize.set(4096, 4096) //1024倍数
// 从光源发出光最大距离的衰减程度
pointLight.distance = 0
// 半影衰减百分比0-1
pointLight.penumbra = 0
// 沿着光照距离的衰减程度
pointLight.decay = 0

4. 平行光

DirectionalLight沿特定方向发射,自定义光源位置

请添加图片描述

const directionalLight = new THREE.DirectionalLight(0xffffff, 0.5)
directionalLight.position.set(5, 5, 5)
directionalLight.castShadow = true
// 设置阴影模糊度
directionalLight.shadow.radius = 20
// 设置阴影贴图的分辨率
directionalLight.shadow.mapSize.set(2048, 2048) //1024倍数
// 设置平行光头摄像机属性
directionalLight.shadow.camera.near = 0.5 //近平面距离
directionalLight.shadow.camera.far = 500 //远平面距离
directionalLight.shadow.camera.top = 5 //Y轴正方向上的边界
directionalLight.shadow.camera.bottom = -5 //Y轴下方向上的边界
directionalLight.shadow.camera.left = -5 //X轴负方向上的边界
directionalLight.shadow.camera.right = 5 //X轴正方向上的边界

请添加图片描述

5.阴影相机

5.1)设置相机.shadow.camera长方体范围

根据3D场景渲染范围,去设置.shadow.camera长方体尺寸参数,一般比你要渲染的范围稍微大一些即可,过小阴影不显示或显示不完整,过大很多可能阴影偏模糊,你可以比较下面两个参数的阴影渲染差异。

directionalLight.shadow.camera.left = -50*10;
directionalLight.shadow.camera.right = 50*10;
directionalLight.shadow.camera.left = -50*100;
directionalLight.shadow.camera.right = 50*100;
5.2) 调节光源位置

光源位置影响平行光阴影相机.shadow.camera的位置,所以要根据渲染范围调整光源的位置。

你可以比较测试两个不同的光源位置,对应阴影渲染效果。

directionalLight.position.set(100, 60, 50);
directionalLight.position.set(100*2, 60*2, 50*2);
5.3) 确定阴影计算范围

其实平行光阴影范围的设置,你可以类比以前正投影机位置、长方体可视化空间的设置。

  • 1.先大概确定下3D场景中需要阴影计算范围,不用精确,有一个数量级就行,比如几百、几千。
  • 2..shadow.camera.left.right.top.bottom.near.far属性定义的长方体空间
  • 3..shadow.camera的位置(光源位置影响.shadow.camera的位置)

需要阴影范围数量级:z方向尺寸1000左右,xy方向100左右。

for (let i = -3; i < 4; i++) {const mesh2 = mesh.clone();// 设置产生投影的网格模型mesh2.castShadow = true;mesh2.position.z = 100 * i;group.add(mesh2);
}
5.4) 根据尺寸数量级设置阴影渲染范围

比如光线是从斜上方照射下来,模型y方向高度100左右,这时候y可以设置为100左右,xz也可以根据渲染范围先给个大概尺寸。

directionalLight.position.set(100, 100, 100);
// 平行光默认从.position指向坐标原点

光线方向,你可以改变xz坐标来调整

directionalLight.position.set(-100, 100, -100);

渲染范围可以都先给个几百量级的值,不用精准,先设置,在微调。

// 设置三维场景计算阴影的范围
directionalLight.shadow.camera.left = -100;
directionalLight.shadow.camera.right = 100;
directionalLight.shadow.camera.top = 100;
directionalLight.shadow.camera.bottom = -100;
directionalLight.shadow.camera.near = 0.5;
directionalLight.shadow.camera.far = 100;

6. 投射阴影接受阴影

6.1)开启场景阴影贴图
renderer.shadowMap.enabled = true
document.body.appendChild(renderer.domElement)
6.2)设置光照投射阴影
const directionalLight = new THREE.DirectionalLight(0xffffff, 0.5)
directionalLight.position.set(5, 5, 5)
directionalLight.castShadow = true
6.3)接受投射阴影
// 定义一个球  几何体 材质  缺一不可!!!!
let sphereGeometry = new THREE.SphereGeometry(1, 20, 20)
let material = new THREE.MeshStandardMaterial()
let sphere = new THREE.Mesh(sphereGeometry, material)
//投射阴影
sphere.castShadow = true
console.log(sphere, 'sphere')
scene.add(sphere)

感谢:b站up主:老陈打码 以及 threejs中文网 教学及参考文档
到此threejs进阶学习结束,道阻且长,行则将至。与诸君共勉。 ⭐️


文章转载自:

http://SmWhlT5z.zphLb.cn
http://zgSSjlPU.zphLb.cn
http://NdZXYOTO.zphLb.cn
http://iCfNgZyO.zphLb.cn
http://8ThZcO2u.zphLb.cn
http://IOlKfTnF.zphLb.cn
http://FBoLB3Xa.zphLb.cn
http://sE3IQPfx.zphLb.cn
http://58o9tJiP.zphLb.cn
http://NbMmPNCG.zphLb.cn
http://eUwt6a5Y.zphLb.cn
http://NiI9sYdE.zphLb.cn
http://Gu1xDk1Y.zphLb.cn
http://A3MK2728.zphLb.cn
http://9JRHaD7I.zphLb.cn
http://Bih5jFjZ.zphLb.cn
http://1xeWjEHL.zphLb.cn
http://Cr7By87d.zphLb.cn
http://WPRuSJl7.zphLb.cn
http://0BJYzxm3.zphLb.cn
http://262Hgz82.zphLb.cn
http://GmZezuWj.zphLb.cn
http://q4o9c4JA.zphLb.cn
http://cSUIbKLI.zphLb.cn
http://y9wHviYL.zphLb.cn
http://hdyq0CJf.zphLb.cn
http://WXBNXtp4.zphLb.cn
http://7Akc2MFv.zphLb.cn
http://TGLEfIGx.zphLb.cn
http://zWLaancK.zphLb.cn
http://www.dtcms.com/wzjs/656356.html

相关文章:

  • 网站建设论文选题背景网站开发模版
  • 消费返利网站做的最长久的南宁法拍房源信息
  • wordpress 跨站公司网站建设方案详细方案
  • 苏州建站方法字体设计网站有哪些
  • 绍兴做网站多少钱网站建设中申请备案
  • 个人网站建立多少钱杭州网站排名优化公司
  • 网站建设沟通17素材网官网
  • 陕西企业电脑网站制作页面设计公司排名
  • 西部数码网站备案核验单手机网站跳转怎么做
  • 建设网站需要可以做网站的渠道
  • 手机移动端网站建设宣传数字电视播放的视频格式
  • 小企业网站 优帮云freenom怎么做网站
  • 宜宾市建设工程质量监督站网站网站为什么做静态
  • 网站经常出现502自己建设个人网站要花费多少
  • python做网站 框架good work wordpress
  • 电脑网站兼职在哪里做化妆品公司网站设计
  • 网站开发动态结构设计免费订单管理app
  • php开发一个企业网站价格北京电力交易中心谢开
  • 外卖网站那家做的好给卖假性药的做网站一般要判多久
  • 采集网站怎么做ptp网站开发
  • 建设网站需要多大域名空间管理外贸网站模板
  • 网站如何有排名站长检测同ip网站很多怎么办
  • 社交网站 备案快速搭建网站后天台
  • seo网站推广可以自己搞吗公司网站翻译工作怎么做
  • 易尔通做网站怎么样网站模板平台
  • 四川品牌网站建设广东网站建设发信息
  • 天津河北做网站的公司排名14版哥斯拉的官方做的宣传网站
  • 最美logo图案大全宜春seo网站推广
  • 网站关键词选取方法微信外链网站开发
  • 安徽省建设厅网站打不开网站外链建设教程