CSS 利用3D写一个魔方模型

css可以模拟3d效果,需要配合透视使用,利用一些平面通过平移和旋转可以得到我们想要的3d效果。不过在平面的基础上需要添加立体呈现。

CSS 利用3D写一个魔方模型
推荐使用NSDT 3DConvert进行3D模型格式转换,支持glb、obj、stp、fbx、ifc等多种3D模型格式之间进行互相转换,在转换过程中,能够很好的保留模型原有的颜色、材质等信息。

1. 构建html骨架

  • 魔方一共有6个面
  • 魔方6个面需要大盒子包裹,方便立体呈现和透视

2. 给大盒子和6个面添加背景颜色、大小等样式

  • 代码将之后需要的动画等效果都写上了
  • 有些代码是调试用的

3. 给6个面分别给三阶魔方的格子并配上颜色

  • 代码与上面的会有一些层叠

html:

css:

4. 利用偏移和旋转对6个面进行位置调整

  • 调整之前开启“上帝视角”,方便观察 transform: rotateY(60deg) rotateZ(30deg)
  • 6个面的父元素也就是box开启立体呈现,不然没有效果 transform-style: preserve-3d;
  • 为了更加真实,需要在box的父元素上添加透视
  • 偏移的时候要理性分析,调整方案不限

5. 添加动画效果

  • 定义动画
  • 使用动画

最后效果

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号