扫码阅读
手机扫码阅读
【39】three.js实战—灯光与阴影的关系与设置
121 2024-09-07
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
小南瓜开发平台
扫码关注公众号
本文介绍了如何在一个Vue组件中集成Three.js来创建一个3D场景。首先,通过导入必要的Three.js模块、轨道控制器、动画库gsap和dat.gui库,来准备开发环境。
在Vue组件的mounted
生命周期钩子中,首先创建了一个Three.js场景,并设置了一个透视相机,包括视野角度、长宽比以及近端面和远端面距离。相机被放置在指定位置并添加到场景中。然后,使用CubeTextureLoader加载了环境贴图,并创建了一个球体和平面几何体,这些物体使用标准材质来支持光照和阴影效果。
场景中添加了环境光和平行光源来实现光照效果,平行光源还被设置为投射阴影。然后初始化了WebGL渲染器,并设置其尺寸和开启阴影贴图。渲染器的canvas元素被添加到DOM中。
为了交互性,创建了轨道控制器来允许用户控制相机视角,并且通过监听双击事件来实现全屏和退出全屏的功能。同时,监听窗口尺寸变化以更新相机投影矩阵和渲染器尺寸,确保3D场景正确响应屏幕调整。
最后,在methods
中定义了renders
方法,它负责更新控制器和通过渲染器渲染场景。此方法在动画帧回调中不断被调用,以实现动态渲染。代码中注意到了requestAnimationFrame
的正确使用,避免了潜在的调用栈溢出问题。
整个组件的样式通过CSS设置,确保渲染容器占据整个视口,并且移除了默认的边距和内填充。
想要了解更多内容?
文章来源:
小南瓜开发平台
扫码关注公众号
小南瓜开发平台的其他文章
【实用小工具】(JAVA+PS)实现替换PDF图片文字
PDF在办公、学习和生活中应用广泛,成为一种常见的文件格式。如何修改PDF文件的内容和文字是我们经常遇到的困扰,这里通过三个步骤简单介绍如何替换PDF重中的图片及文字内容
【AI人工智能系列】2.用aconda创建虚拟环境
aconda按照完成后,就可以创建虚拟环境
【04】three.js载入3D模型方式和help
3D模型的格式有成千上万种可供选择,但每一种格式都具有不同的目的、用途以及复杂性。 虽然 three.js已经提供了多种导入工具, 但是选择正确的文件格式以及工作流程将可以节省很多时间,以及避免遭受很多挫折。
中国数据库技术大会(DTCC 2024)——携手描绘智能数据新时代的辉煌篇章
\x26quot;为与时俱进,引领技术革新,第15届中国数据库技术大会(DTCC 2024),由IT168携手其旗下知名技术社区ITPUB和ChinaUnix共同主办,将于2024年8月22日至24日,在朗丽兹西山花园酒店盛大举行,开启数据科技的新篇章。\x26quot;
【29】three.js实战—标准网格材质与光照物理效果
标准网格材质必须要在场景中添加灯光配合使用//标准材质必须要有光
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线