Three.js中文网 Three.js中文网
首页
免费视频
系统课 (opens new window)
  • Three.js基础课程
  • Vue3+Threejs 3D可视化
  • Threejs进阶课程
  • 展厅3D预览漫游
  • Threejs Shader
  • Blender建模基础
  • Three.js基础课程(旧版本) (opens new window)
  • 文章
WebGPU教程
  • WebGL教程
  • WebGL教程(旧版本) (opens new window)
3D案例
  • 本站部署(打开快) (opens new window)
  • 原英文官网文档 (opens new window)
首页
免费视频
系统课 (opens new window)
  • Three.js基础课程
  • Vue3+Threejs 3D可视化
  • Threejs进阶课程
  • 展厅3D预览漫游
  • Threejs Shader
  • Blender建模基础
  • Three.js基础课程(旧版本) (opens new window)
  • 文章
WebGPU教程
  • WebGL教程
  • WebGL教程(旧版本) (opens new window)
3D案例
  • 本站部署(打开快) (opens new window)
  • 原英文官网文档 (opens new window)
Web3D系统课程视频
  • 0.学前说明

  • 1.Three.js快速入门

  • 2.几何体BufferGeometry

  • 3.模型对象、材质

  • 4.层级模型

  • 5.顶点UV坐标、纹理贴图

  • 6.加载外部三维模型(gltf)

  • 7.PBR材质与纹理贴图

  • 8.渲染器和前端UI界面

  • 9.生成曲线、几何体

  • 10.相机基础

    • 1. 正投影相机
    • 2. 正投影相机-Canvas尺寸变化
    • 3. 包围盒Box3
      • 4. 地图案例(包围盒、正投影)
      • 5. 相机动画(.position和.lookAt())
      • 6. 不同方向的投影视图
      • 7. 旋转渲染结果(.up相机上方向)
      • 8. 管道漫游案例
      • 9. OrbitControls旋转缩放限制
      • 10. 相机控件MapControls
    • 11.光源和阴影

    • 12.精灵模型Sprite

    • 13.后处理EffectComposer

    • 14.射线拾取模型

    • 15.场景标注标签信息

    • 16.关键帧动画

    • 17.动画库tween.js

    • Three.js教程
    • 10.相机基础
    郭隆邦
    2023-02-11
    目录

    3. 包围盒Box3

    # 包围盒Box3

    所谓包围盒Box3,就是一个长方体空间,把模型的所有顶点数据包围在一个最小的长方体空间中,这个最小长方体空间就是该模型的包围盒Box3。

    # 包围盒Box3

    包围盒Box3表示三维长方体包围区域,使用min和max两个属性来描述该包围区域,Box3的min和max属性值都是三维向量对象Vector3。

    描述一个长方体包围盒需要通过xyz坐标来表示,X范围[Xmin,Xmax],Y范围[Ymin,Ymax],Z范围[Zmin,Zmax],.min属性值是Vector3(Xmin, Ymin, Zmin),.max属性值是Vector3(Xmax, Ymax, Zmax).

    const box3 = new THREE.Box3()
    console.log('box3',box3);
    box3.min = new THREE.Vector3(-10, -10,0);
    box3.max = new THREE.Vector3(100, 20,50);
    

    # 计算模型最小包围盒.expandByObject()

    模型对象,比如mesh或group,作为.expandByObject()的参数,可以计算该模型的包围盒。

    const box3 = new THREE.Box3();
    box3.expandByObject(mesh); // 计算模型包围盒
    console.log('查看包围盒',box3);
    

    浏览器控制台你可以通过.min和.max属性查看模型的包围盒信息。

    # 包围盒尺寸.getSize()

    返回包围盒具体的长宽高尺寸

    const scale = new THREE.Vector3()
    // getSize()计算包围盒尺寸
    // 获得包围盒长宽高尺寸,结果保存在参数三维向量对象scale中
    box3.getSize(scale)
    console.log('模型包围盒尺寸', scale);
    

    # 包围盒几何中心.getCenter()

    Box3方法.getCenter()计算返回包围盒几何中心

    // 计算包围盒中心坐标
    const center = new THREE.Vector3()
    box3.getCenter(center)
    console.log('模型中心坐标', center);
    
    2. 正投影相机-Canvas尺寸变化
    4. 地图案例(包围盒、正投影)

    ← 2. 正投影相机-Canvas尺寸变化 4. 地图案例(包围盒、正投影)→

    Theme by Vdoing | Copyright © 2016-2025 豫ICP备16004767号-2
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式