Skip to content

obf1313/3d-engine

Repository files navigation

3d-engine

该项目主要是我的 three.js 学习案例,把一些用到的技术和官网的例子整合在里面,可查看 src/views/examples 目录查看代码。

core 核心

  • BufferAttribute 流属性。
  • BufferGeometry 流几何体。
  • Clock 时钟。
  • EventDispatcher 事件调度。
  • GLBufferAttribute GL流属性。
  • InstancedBufferAttribute 实例化流属性。
  • InstancedBufferGeometry 实例化流几何体。
  • InterleavedBuffer 交叉存储流。
  • InstancedInterleavedBuffer 实例化交叉存储流。
  • Layers 图层。
  • Object3D 三维物体。
  • Raycaster 光线投射。
  • Uniform GLSL着色器中的全局变量。

scene 场景

  • Scene 场景。
  • Fog 雾。
  • FogExp2 雾-指数。

camera 相机

  • ArrayCamera 摄像机阵列。
  • PerspectiveCamera 透视相机,OrthographicCamera 正交相机。
  • CubeCamera 立方相机。
  • StereoCamera 立体相机。

light 灯光

  • Light 光源基类,暂无示例。
  • LightProbe 光照探针。
  • AmbientLight 环境光。
  • AmbientLightProbe 环境光探针,暂无示例。
  • DirectionalLight 平行光。
  • HemisphereLight 半球光。
  • HemisphereLightProbe 半球光探针,暂无示例。
  • PointLight 点光源。
  • RectAreaLight 平面光光源。
  • SpotLight 聚光灯。

Geometry 几何体

  • BoxGeometry 立体缓冲几何体。
  • CircleGeometry 圆形缓冲几何体。
  • ConeGeometry 圆锥缓冲几何体。
  • CylinderGeometry 圆柱缓冲几何体。
  • DodecahedronGeometry 十二面缓冲几何体。
  • EdgesGeometry 边缘几何体。
  • ExtrudeGeometry 挤压缓冲几何体。
  • IcosahedronGeometry 二十面缓冲几何体。
  • LatheGeometry 车削缓冲几何体。
  • OctahedronGeometry 八面缓冲几何体。
  • PlaneGeometry 平面缓冲几何体。
  • PolyhedronGeometry 多面缓冲几何体。
  • RingGeometry 圆环缓冲几何体。
  • ShapeGeometry 形状缓冲几何体。
  • SphereGeometry 球缓冲几何体。
  • TetrahedronGeometry 四面缓冲几何体。
  • TorusGeometry 圆环缓冲几何体。
  • TorusKnotGeometry 圆环缓冲扭结几何体。
  • TubeGeometry 管道缓冲几何体。
  • WireframeGeometry 网格几何体。

材质

  • LineBasicMaterial 基础线条材质。
  • LineDashedMaterial 虚线材质。
  • Material 材质,暂无示例。
  • MeshBasicMaterial 基础网格材质。
  • MeshDepthMaterial 深度网格材质。
  • MeshDistanceMaterial 深度着色材质。
  • MeshLambertMaterial Lambert网格材质。
  • MeshMatcapMaterial 材质捕捉纹理定义材质(我自己按功能翻译的)。
  • MeshNormalMaterial 法线网格材质。
  • MeshPhongMaterial Phong网格材质。
  • MeshPhysicalMaterial 物理网格材质。
  • MeshStandardMaterial 标准网格材质。
  • MeshToonMaterial 卡通网格材质。
  • PointsMaterial 点材质。
  • RawShaderMaterial 原始着色器材质。
  • ShaderMaterial 着色器材质。
  • ShadowMaterial 阴影材质。
  • SpriteMaterial 点精灵材质。

纹理

  • CanvasTexture Canvas纹理。
  • CompressedTexture 压缩的纹理 暂无示例。
  • CubeTexture 立方纹理。
  • DataTexture 原始数据纹理。
  • DataTexture2DArray 2D数组数据纹理。
  • DataTexture3D 三维纹理。
  • DepthTexture 深度纹理。
  • Texture 纹理。
  • VideoTexture 视频纹理。

物体

  • Bone 骨骼。
  • Group 组。
  • InstancedMesh 实例化网格。
  • Line 线。
  • LineLoop 环线。
  • LineSegments 线段。
  • LOD 多细节层次(Levels of Detail)。
  • Mesh 网格。
  • Points 点(未找到具体场景,待之后添加)。
  • Skeleton 骨架。
  • SkinnedMesh 蒙皮网格。
  • Sprite 精灵。

辅助对象

  • ArrowHelper 箭头辅助对象。
  • AxesHelper 坐标轴辅助对象。
  • BoxHelper 包围盒辅助对象。
  • Box3Helper 3维包围盒辅助对象。
  • CameraHelper 相机视锥体辅助对象。
  • DirectionalLightHelper 平行光辅助对象。
  • GridHelper 坐标格辅助对象。
  • PolarGridHelper 极坐标格辅助对象。
  • HemisphereLightHelper 半球形光源辅助对象。
  • PlaneHelper 平面辅助对象。
  • PointLightHelper 点光辅助对象。
  • SkeletonHelper 骨骼辅助对象。
  • SpotLightHelper 聚光灯锥形辅助对象。

加载器

  • AnimationLoader 动画加载器。
  • AudioLoader 音频加载器。
  • BufferGeometryLoader 流几何体加载器。
  • Cache 简单缓存系统。
  • CompressedTextureLoader 基于块的纹理加载器。
  • CubeTextureLoader CubeTexture加载器。
  • DataTextureLoader 二进制文件加载器。
  • FileLoader 文件加载器。
  • ImageBitmapLoader 把图片加载为ImageBitmap的加载器。
  • ImageLoader 图片加载器。
  • Loader 加载器。
  • LoaderUtils 加载器功能函数。
  • MaterialLoader 材质加载器。
  • ObjectLoader JSON资源加载器。
  • TextureLoader 纹理加载器。

加载器 / 管理器

  • LoadingManager 加载器管理器。

音频

  • Audio 音频。
  • AudioAnalyser 音频分析器。
  • AudioContext 音频上下文。
  • AudioListener 音频监听器。
  • PositionalAudio 位置相关音频对象。

附件 / 核心

  • Shape 形状。
  • ShapePath 形状路径。

附件 / 曲线

  • CatmullRomCurve3 平滑三维样条曲线。
  • CubicBezierCurve 二维三次贝塞尔曲线。
  • CubicBezierCurve3 三维三次贝塞尔曲线。
  • EllipseCurve 椭圆曲线。
  • QuadraticBezierCurve 二维二次贝塞尔曲线。
  • QuadraticBezierCurve3 三维二次贝塞尔曲线。
  • SplineCurve 样条曲线。

工作中用到的技术,暂无归类

  • Line 画线。
  • SimpleScene 简单场景,包含 scene, light, camera, renderer, OrbitControls, 简单结合体。
  • SkyBox 天空盒背景。
  • TextureScene 三维模型贴材质,材质使用导入图片作为纹理。
  • DracoLoaderUse 使用 dracoLoader 导入压缩后的模型,包含对导入模型的材质进行更改,加入材质动画,元素点击监听。
  • Factory 工厂模型,基本功能同上,添加平面作为视频承载。
  • MultipleModel 多个模型同时加载,制作动画。
  • PostProcessingUnrealBloom 后期处理-外发光效果。

WebGL 学习

  • 使用 WebGL 画三角形。

写着玩的

  • 大海上漂浮的小船,(天气变化),时间变化。
  • 给模型打标签,使用 Sprite。

About

react-hook and three.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published