扫码阅读
手机扫码阅读
【39】three.js实战—灯光与阴影的关系与设置

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

小南瓜开发平台
扫码关注公众号
本文介绍了如何在一个Vue组件中集成Three.js来创建一个3D场景。首先,通过导入必要的Three.js模块、轨道控制器、动画库gsap和dat.gui库,来准备开发环境。
在Vue组件的mounted
生命周期钩子中,首先创建了一个Three.js场景,并设置了一个透视相机,包括视野角度、长宽比以及近端面和远端面距离。相机被放置在指定位置并添加到场景中。然后,使用CubeTextureLoader加载了环境贴图,并创建了一个球体和平面几何体,这些物体使用标准材质来支持光照和阴影效果。
场景中添加了环境光和平行光源来实现光照效果,平行光源还被设置为投射阴影。然后初始化了WebGL渲染器,并设置其尺寸和开启阴影贴图。渲染器的canvas元素被添加到DOM中。
为了交互性,创建了轨道控制器来允许用户控制相机视角,并且通过监听双击事件来实现全屏和退出全屏的功能。同时,监听窗口尺寸变化以更新相机投影矩阵和渲染器尺寸,确保3D场景正确响应屏幕调整。
最后,在methods
中定义了renders
方法,它负责更新控制器和通过渲染器渲染场景。此方法在动画帧回调中不断被调用,以实现动态渲染。代码中注意到了requestAnimationFrame
的正确使用,避免了潜在的调用栈溢出问题。
整个组件的样式通过CSS设置,确保渲染容器占据整个视口,并且移除了默认的边距和内填充。
想要了解更多内容?

小南瓜开发平台
扫码关注公众号
小南瓜开发平台的其他文章
什么是数据“矿山”?数据“矿山”的正确打开方式
一、什么是数据矿山?数据矿山是指海量、复杂且潜在价值巨大的数据集合,它类似于自然界中的矿山,蕴藏着丰富的资源等待被发掘和利用。
"数智人"是结合了数据分析、人工智能技术与人类智能的综合性能力或角色
数智人是结合了数字技术、人工智能和计算机科学等领域的前沿技术所创造的具有高度智能化和逼真度的虚拟人物形象。数智人不仅具备人类的外观特征,还能通过自然语言处理、深度学习、语音合成与识别、计算机视觉等先进技术实现与人类进行自然交互的能力。
南瓜树数据平台数据同步的操作手册-(文末附操作视频和其他教程)
南瓜树数据平台数据同步的操作手册-(文末附操作视频和其他教程)
云原生、云计算、人工智能、大数据、数智信息化、低代码它们之间的区别和联系
云原生、云计算、人工智能、大数据、数智信息化和低代码是信息技术领域的几个重要概念,它们之间既有区别又有联系。
【29】three.js实战—标准网格材质与光照物理效果
标准网格材质必须要在场景中添加灯光配合使用//标准材质必须要有光
加入社区微信群
与行业大咖零距离交流学习


PMO实践白皮书
白皮书上线
白皮书上线