10. 设计
模型资源
转换
重要
PointCloudToolBox: https://github.com/zxy-bjtu/PointCloudToolBox 格式转换
F3D
cloudcompare: https://www.cloudcompare.org/
meshlab: https://www.meshlab.net/ https://sourceforge.net/projects/meshlab.mirror/
BRDF
小技巧
BSDF = BRDF+BTDF:反射 透射 散射。当然 反射和折射其实都是笼统的scattering
🌹https://tingxia1028.github.io/cgbook/course/UCSD_CSE_272_part1/part1.html
https://www.blenderguru.com/articles/cycles-shader-encyclopedia
https://docs.blend er.org/manual/en/4.5/render/shader_nodes/shader/principled.html
A Survey on Intrinsic Images: Delving Deep Into Lambert and Beyond
10.1. Sketch
10.2. Blender
10 常用建模操作 |
5 辅助工具 |
11 常用修改器 |
|---|---|---|
挤出(E): EXTRUDE
向内挤出(I): INSERT
环切( CTRL+R): LOOPCUT
倒角(RTRL+B): BEVEL
合并(M): MERGE
断开(V): RIP
切刀(K): KNIFE CUT
填充(F): FILL FACE
桥接(CTRL+E): BRIDGE
分离(P): SEPARATE
|
衰减编辑: Proportional
吸附工具: Snapping
曲线建模: Curve
晶格形变: Lattice
旋绕工具: Spin Tool
|
表面细分: Subdivision Surfaces
实体化: Solidify
阵列: Array
简易形变: Simple deform
曲线: Curve
镜像: Mirror
置换: Displace
蒙皮: Skin
缩裹: Skrinkwrap
倒角: BEVEL
布尔: Boolean
|
小技巧
Decimate Modifier: Collapse planar 精简器
Mesh: clean Geometry
Bool Modifier: union
Gltf Exporter: compress level
10.2.1. 命行
#渲染一帧
blender -b boston.blend -o boston -F PNG -f 0
#渲染所有帧
blender -b boston.blend -o boston -F PNG -a
10.3. Three.JS
小技巧
Scene Graph
图元种类(按英文首字母排序) |
图元构造函数 |
|---|---|
盒子(Box) |
BoxBufferGeometry、BoxGeometry |
平面圆(Circle) |
CircleBufferGeometry、CircleGeometry |
锥形(Cone) |
ConeBufferGeometry、ConeGeometry |
圆柱(Cylinder) |
CylinderBufferGeometry、CylinderGeometry |
十二面体(Dodecahedron) |
DodecahedronBufferGeometry、DodecahedronGeometry |
受挤压的2D形状(Extrude) |
ExtrudeBufferGeometry、ExtrudeGeometry |
二十面体(Icosahedron) |
IcosahedronBufferGeometry、IcosahedronGeometry |
由线旋转形成的形状(Lathe) |
LatheBufferGeometry、LatheGeometry |
八面体(Octahedron) |
OctahedronBufferGeometry、OctahedronGeometry |
由函数生成的形状(Parametric) |
ParametricBufferGeometry、ParametriceGeometry |
2D平面矩形(Plane) |
PlaneBufferGeometry、PlaneGeometry |
多面体(Polyhedron) |
PolyhedronBufferGeometry、PolyhedronGeometry |
环形/孔形(Ring) |
RingBufferGeometry、RingGeometry |
2D形状(Shape) |
ShapeBufferGeometry、ShapeGeometry |
球体(Sphere) |
SphereBufferGeometry、SphereGeometry |
四面体(Tetrahedron) |
TetrahedronBufferGeometry、TetrahedronGeometry |
3D文字(Text) |
TextBufferGeometry、TextGeometry |
环形体(Torus) |
TorusBufferGeometry、TorusGeometry |
环形结(TorusKnot) |
TorusKnotBufferGeometry、TorusKnotGeometry |
管道/管状(Tube) |
TubeBufferGeometry、TubeGeometry |
几何体的所有边缘(Edges) |
EdgesGeometry |
线框图(Wireframe) |
WireframeGeometry |
10.4. 文件格式
模型类型 |
定义 |
适用场景 |
数据结构示例 |
|---|---|---|---|
BREP |
通过物体的边界(面,边,顶点)精确描述几何形状,记录拓扑关系与几何参数。 |
高精度机械设计、复杂曲面 |
面:NURBS曲线方程 边:参数化曲线 顶点:三维坐标点 |
CSG |
通过基体素(立方体、圆柱体、球体等)的布尔运算(并集、交集、差集)组合成复杂模型。 |
简单形状快速建模 |
二叉树结构:叶子节点为体素,非叶子节点为布尔操作符 |
网格模型 |
用多边型(通常为三角形或四边形)近似表示物体表面,仅存储顶点与面片链接关系。 |
顶点列表:(xyz)坐标 面片索引:三角形顶点ID |
|
体素 (Voxel) |
三维像素堆叠 |
医学成像、地形生成 |
|
点云 |
离散点表示表面 |
3D 扫描、逆向工程 |
10.4.1. STL (STereoLithography, 立体光刻) [Blender,Solidworks]
STL只能用来表示封闭的面或者体
STL档描述原始非结构化三角网格由表面单位法线和由右手定则排序的顶点用三维三角形笛卡儿坐标系。STL座标必须是正数, 没有尺度信息,且计量单位为任意的
被广泛用于 快速成型、 3D打印**和 **计算机辅助制造(CAM)。STL文件仅描述三维物体的表面几何形状,没有颜色、材质贴图或其它常见三维模型的属性。
STL格式有文字和二进码两种型式。二进码型式因较简洁而较常见。
10.4.2. OBJ [Blender,]
支持多边形(Polygon),直线(Lines),表面(Surfaces),和自由形态曲线(Free-form Curves)。直线和多角形通过它们的点来描述,曲线和表面则根据于它们的控制点和依附于曲线类型的额外信息来定义。这些信息支持规则和不规则的曲线,包括那些基于贝塞尔(Bezier)曲线,B样条(B-spline),基数(Cardinal/Catmull-Rom样条),和泰勒方程(Taylor equations)的曲线。
OBJ是一种3D模型文件,因此不包含动画、材质特性、贴图路径、动力学、粒子等信息
支持法线和贴图坐标
10.4.3. IGES [Solidworks]
国际标准数据交换格式,可用于不同三维软件系统间的转换。
10.4.4. STP/STEP [Solidworks,Blender]
STEP(Standard for the Exchange of Product Data)是一种国际标准(ISO 10303),用于在不同CAD(计算机辅助设计)系统间交换三维模型数据。
10.4.5. gltf [Solidworks,Blender]
一种专为高效传输和渲染 3D 模型设计的文件格式。
10.4.6. PLY [Solidworks,Blender]
典型的 PLY 对象定义只是 (x,y,z) 三元组的 顶点列表**和 **面列表,由列表中的索引描述顶点。
10.4.7. 3MF 3D Manufacturing Format [Solidworks,FreeCAD,blender]
由微软牵头的3MF联盟,于2015年推出全新的3D打印格式——3MF(3D Manufacturing Format)
相较于STL格式,3MF档案格式能够更完整地描述3D模型,除了几何信息外,还可以保持内部信息、颜色、材料、纹理等其它特征
10.4.8. AMF (Additive Manufacturing File Format) [Solidworks,FreeCAD,blender]
国际标准化与标准制定机构ASTM
AMF是以目前3D打印机使用的“STL”格式为基础、弥补了其弱点的数据格式,新格式能够记录颜色信息、材料信息及物体内部结构等
AMF标准基于XML(可扩展标记语言)
10.4.9. FBX (Filicon Binary eXchange) [Maya、3ds Max、Blender、Cinema 4D]
Autodesk FBX 文件格式是一种流行的 3D 数据交换格式,用于 3D 编辑器和游戏引擎之间
最初是作为 Kaydara 的 Filmbox 动作捕捉工具的原生文件格式创建的
- 完整场景支持:
几何数据:网格(顶点、面、UV)、NURBS、曲面等。
动画:关键帧动画、骨骼动画、变形动画(Blend Shapes)。
材质与贴图:漫反射、法线贴图、PBR材质等(但不同软件可能需重新链接贴图路径)。
其他元素:摄像机、灯光、空对象、约束等。
10.4.10. IFC(Industry Foundation Classes) [Revit、FreeCAD、Blender]
由国际协同工作联盟(International Alliance for Interoperability,IAI)为建筑行业发布的建筑产品数据表达标准,同时也是国际标准化组织ISO定义的一种开放的数据模型和文件格式
它由国际建筑师协会(UIA)和欧洲建筑信息模型标准委员会(BIM)共同开发,旨在促进建筑信息模型(BIM)在建筑行业的应用
10.4.11. MTL(Material Library File)
.mtl文件是材质库文件,描述的是物体的材质信息,ASCII存储,任何文本编辑器可以将其打开和编辑。
10.4.12. PCD(Point Cloud Data)
https://pointclouds.org/documentation/tutorials/pcd_file_format.html
blender 插件: https://github.com/MarkHedleyJones/blender-pcd-io
一种专门用于存储三维点云数据的文件格式,由 Point Cloud Library (PCL) 开发并推广
https://sourceforge.net/projects/pointclouds/files/PCD%20datasets/
FIELDS 指定点具有的维度或字段的名称。示例
FIELDS x y z # XYZ 三维点坐标
FIELDS x y z rgb # XYZ 三维点坐标 + 颜色(比如深度相机)
FIELDS x y z normal_x normal_y normal_z # XYZ 三维点坐标 + 曲面法线
FIELDS j1 j2 j3 # 不变矩
10.4.13. PTS - Laser scan plain data format
10.4.14. OCCT
BREP