当前位置:   article > 正文

使用 three.js 中的 CSS3DRenderer 实现 3d 卡片的效果

threejs css3d

前言

最近要做一个 3D 卡片的效果,设计图如下:

第一次尝试

第一次尝试选择了我比较熟悉的 PixiJS,关于我如何用 PixiJS 中的 Sprite3d 做了一个失败的 3D 卡片,可以 戳这里查看

第二次尝试

有了第一次失败的经历,果断老实选择使用 three.js 来实现 3d 效果。

但为什么选择使用 CSS3DRenderer 实现,可能是相中了 CSS3DRenderer 与 CSS 有关联。

CSS3DRenderer 可以直接通过 THREE.CSS3DObject(DOMElement) 将 Dom 元素转换为 3d 元素,然后控制该对象的 positionrotation 属性中的 xyz 来实现动画效果。

效果

效果图如下,在线预览 戳这里

实现过程

首先定义并初始化相机(camera)、场景(scene)、渲染器(renderer)和控制器(controls)。

核心代码

引入组件

  1. <script src="./js/three.js"></script>
  2. <script src="./js/tween.min.js"></script>
  3. <script src="./js/TrackballControls.js"></script>
  4. <script src="./js/CSS3DRenderer.js"></script>
  5. 复制代码

搭建 three.js 框架,以下代码就完成了 3D 场景的搭建,后续只需要往场景中添加元素即可

  1. let camera,scene,renderer; // 定义相机、场景和渲染器
  2. let controls; // 定义控制器
  3. window.onload = ()=>{
  4. init();
  5. animate();
  6. };
  7. function init() {
  8. // 相机初始化
  9. camera = new
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/135187
推荐阅读
  

闽ICP备14008679号