threejs太阳光与阴影效果怎么实现


这篇文章主要介绍“threejs太阳光与阴影效果怎么实现”,在日常操作中,相信很多人在threejs太阳光与阴影效果怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”threejs太阳光与阴影效果怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!常见的灯光: – 点光源 (点光源可以理解为一个同时向四面八方散发光线,我们通常用来模拟灯泡,可以产生阴影) – 平行光 (平行光可以想象成一个从无限远照射来的光束,通常用来模拟太阳光,可以产生阴影) – 聚光灯 (聚光灯字面意思就是类似舞台灯光一样,照射突出特定圆弧形范围,可以产生阴影) – 环境光 (一般用于改变整体场景的亮度,也是最常用的光源之一)这里提一嘴材质:(仅仅列举常用的) – 网格基础材质(MeshBasicMaterial,不支持阴影) – FBR材质 – 物理标准材质(MeshStandardMaterial) – MeshPhysicalMaterial – 以上两者FBR材质相对于高光网格材质效果更好 – MeshPhongMaterial(高光网格材质,高亮表面、镜面反射) – MeshLambertMaterial(网格Lambert材质,暗淡,漫反射)这里简单做一下介绍,不懂的同学可以具体去了解某个材质添加平行光—–从东至西调整位置—–调整亮度以及颜色—–添加过渡模拟太阳光接下来介绍本文的重点,如何模拟太阳光照的变化。其实原理非常简单,就是添加平行光,调整场景模型的阴影关系,根据时间实时变化平行光的位置以及光照强度以及颜色即可模拟~由于是一个demo,所以注重效果,一切从简实现功能简单实现通过定时器以及提前写好对应位置光照的信息。主要是思想,酌情根据自己的需求可以改变~这里这么写主要是实现效果,真实的应该根据系统时间将太阳光做出调整,包括根据天气原因,换汤不换药,主要还是手动调整并存储为json通过传入时间以及天气去做出转化~这里主要对太阳光类的拆解与分析,封装的比较粗糙,酌情个人可以优化这里做的是向场景中添加平行光,设置其阴影的范围以及距离等属性,因为我这边涉及层级,所以设置了平行光的层级平行光可谓是所有灯光中阴影调整最麻烦的,想要平行光能够产生对的阴影效果,模型的产生阴影以及接收阴影要调整好,并且平行光的照射范围也要调整好。我效果图中不知大家有没有发现,在正午时刻的时候太阳光照射地面产生了一个长方形的范围阴影,这里是特地录制一个相对不那么完美的版本。产生原因:平行光范围太小,但是一旦你调整平行光范围过大,由于地面是通过多个瓦片免费云主机域名加载的,就会出现条纹状的阴影如下图解决方法:调整平行光阴影的bias属性,有助于减少阴影中的伪影设置平行光的信息:包括位置、颜色、强度这里简单介绍TWEEN不懂的可以去看我之前的文章,主要是一个动画库,这里做简单的封装到此,关于“threejs太阳光与阴影效果怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: Java线程池ThreadPoolExecutor怎么创建

本篇内容介绍了“Java线程池ThreadPoolExecutor怎么创建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ThreadPoolExecutor是一…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/08 11:11
下一篇 04/08 11:12

相关推荐