当前位置: 首页 > news >正文

Blender4.5 几何节点组织方式(对象,实例,几何,属性,域)

文章目录

  • 所有的都基于Blender4.5 TLS版本描述:
  • Blender 几何组织方式详解
    • 一、传统建模模式(大纲视图)
      • 1.1 对象(Object)
      • 1.2 数据块(Data-block)
    • 二、几何节点模式(Geometry Nodes)
      • 2.1 几何体(Geometry)
      • 2.2 实例(Instance)
    • 三、属性系统(Attributes)与域(Domains)
      • 3.1 什么是域(Domain)?
      • 3.2 什么是属性(Attribute)?
    • 四、关键区别总结
  • 实例
  • 源码角度看,Blender Geometry 系统核心类图

所有的都基于Blender4.5 TLS版本描述:

Blender 几何组织方式详解

Blender 中的几何数据有两种主要组织逻辑:

  • 传统建模模式:你在大纲视图(Outliner)中看到的对象结构。
  • 几何节点(Geometry Nodes)模式:程序化生成的运行时结构。

两者共享底层数据概念(如网格、属性),但生命周期、可见性和使用方式完全不同。


一、传统建模模式(大纲视图)

1.1 对象(Object)

  • 是场景中的可见实体(如立方体、灯光、空物体)。
  • 每个对象包含:
    • 变换信息:位置、旋转、缩放(可在右侧“物体属性”中查看)。
    • 一个数据块引用:决定它“是什么类型”以及“长什么样”。

📌 示例:新建一个立方体,会创建一个名为 “Cube” 的对象,它引用一个名为 “Cube” 的网格数据块。

1.2 数据块(Data-block)

  • 实际存储内容的数据,不直接出现在场景中,但被对象引用。

  • 可被多个对象共享:修改数据块,所有引用它的对象都会更新。

  • 常见类型包括:

    • 网格(Mesh):由顶点(点)、边、面、面拐(corner)组成。
    • 曲线(Curve):由控制点和样条线(splines)组成。
    • 点云(Point Cloud):无连接的点集合。
    • 体积(Volume):三维体素数据(如烟雾)。
    • 文本(Text)骨骼(Armature)灯光(Light) 等。

💡 在属性面板的“数据”标签页(绿色图标)中,可查看和重命名数据块。


二、几何节点模式(Geometry Nodes)

2.1 几何体(Geometry)

  • 运行时临时数据,仅在几何节点网络执行期间存在。

  • 不会自动保存到 .blend 文件,关闭文件或禁用修改器后即消失。

  • 一个几何体可同时包含以下组件(每种最多一个)

    • 网格(Mesh):所有网格被合并为一个组件。
    • 曲线(Curve):可包含多条样条线。
    • 点云(Point Cloud)
    • 体积(Volume)
    • 实例列表(Instances):可包含任意数量的实例。

✅ 优势:可在单个节点网络中混合多种几何类型(如建筑 + 电线 + 树木)。

2.2 实例(Instance)

  • 是一种轻量级引用,不复制几何数据,只记录:
    • 目标:可以是:
      • 另一个几何体(Geometry)
      • 一个场景中的对象(Object)
      • 一个集合(Collection)
    • 自身变换:独立的位置、旋转、缩放。
  • 实例本身是运行时数据,不会自动变成真实对象
  • 若需“实体化”,必须:
    • 使用 “实现实例(Realize Instances)” 节点,或
    • 应用几何节点修改器

三、属性系统(Attributes)与域(Domains)

无论传统建模还是几何节点,Blender 都通过 属性(Attributes) 附加额外数据(如颜色、UV、自定义向量)。

3.1 什么是域(Domain)?

  • 域是属性依附的拓扑单元类型
  • 不同几何类型支持不同的域:
几何类型支持的域(Domain)说明
网格(Mesh)Point(点)
Edge(边)
Face(面)
Corner(面拐)
面拐 = 每个面中的每个顶点角,用于 UV、顶点色
曲线(Curve)Point(控制点)
Spline(整条样条)
点云(Point Cloud)Point每个点独立
实例(Instances)Instance每个实例一个值(如 ID、缩放)

3.2 什么是属性(Attribute)?

  • 一组命名的数值数据,附加在某个域上。
  • 支持类型:浮点数、整数、布尔值、3D 向量、颜色、2D 向量等。
  • 在几何节点中:
    • 通过 Store Named Attribute 节点写入;
    • 通过 Named Attribute 节点读取;
    • 可在 电子表格(Spreadsheet) 面板中查看。
  • 在传统建模中:
    • UV、顶点组、顶点色等都是属性的特例。

🌟 应用示例:
将高维数据(如 (x, y, z, w))拆分为 Vector + Float,附加到点域,
然后用颜色或位移可视化第 4 维。


四、关键区别总结

特性传统建模(大纲视图)几何节点(GN)
数据载体Object + Data-blockGeometry(运行时)
是否持久化✅ 是❌ 否(除非应用修改器)
多类型混合❌ 一个对象只能一种类型✅ 一个 Geometry 可含 Mesh + Curve + Instances
实例实现Collection Instance(持久化 Object)Instances(运行时引用)
属性编辑方式属性面板(UV/顶点组)节点(Store Named Attribute)
域系统相同底层结构相同,但更灵活、可程序化

实例

  • 首先建立一个4点的平面,仅仅建立一个空的几何节点修改器,数据如下
    在这里插入图片描述
  • 对他执行一个散布点在面上的节点,那么数据就变为这样;
    在这里插入图片描述
  • 合并几何输出
    在这里插入图片描述
  • 使用一个圆锥mesh作为实例,执行实例化于点上
    在这里插入图片描述
    在这里插入图片描述
  • 若再使用另一个几何进行实例化于点上效果是类似的(用的同一个散布,重叠了,看不清cube见谅)
    在这里插入图片描述
  • 这里使用Mesh对象(苏珊娜),而不是几何体进行实例化,效果是类似的;
    在这里插入图片描述
  • 若想将instances容器内的实例转到mesh组件上,使用实现实例即可,像这样:
    在这里插入图片描述

源码角度看,Blender Geometry 系统核心类图

以下类图展示了 Blender Geometry Nodes 中几何数据的组织方式,包括 GeometrySet、各类组件(Component)、实例(Instances)以及属性(Attributes)系统。来自源代码:source/blender/blenkernel/BKE_geometry_set.hh

包含
1
持有
持有
引用目标
每个实例可带属性
网格属性(Point/Edge/Face/Corner 域)
曲线属性(Point/Spline 域)
点云属性(Point 域)
GeometrySet
name: string
components_:指向包含GeometryComponent 的数组,注意,每一种类型的组件最多出现一次
(几何集合) —— 容纳多种几何组件的顶层容器,允许
«abstract»
GeometryComponent
(几何组件基类) —— 所有几何类型的抽象基类
MeshComponent
mesh: Mesh*
(网格组件) —— 持有传统网格数据(顶点/边/面)
InstancesComponent
instances: Instances*
(实例组件) —— 持有一组实例,每个实例可引用其他 Geometry 或 Object
CurvesComponent
curves: Curves*
(曲线组件) —— 持有样条曲线数据
PointCloudComponent
pointcloud: PointCloud*
(点云组件) —— 持有无连接的点集
VolumeComponent
volume: Volume*
(体积组件) —— 持有体素数据(如烟雾、密度场)
Mesh
(网格数据块) —— C 结构体,包含 verts/edges/polys/loops 等
Instances
references: List[InstanceReference]
transforms: List[Matrix4x4]
attributes: AttributeContainer
(实例集合) —— 实例数组,每个带变换和属性
InstanceReference
type: enum :GeometrySet, Object, Collection
data: void*
(实例引用) —— 泛型指针,运行时指向 Geometry 或场景 Object
AttributeContainer
(属性容器) —— 存储命名属性(Named Attributes),按 domain 组织
AttributeSet
(属性集) —— 用于 Mesh/Curve 等组件的属性存储(如顶点颜色、UV)
http://www.dtcms.com/a/496873.html

相关文章:

  • 使用Blender设计灵鱼
  • 极端行情(黑天鹅事件)中布林带参数的动态调整
  • 龙岩网站开发公司昆明网站开发推广
  • 南宁建站服务公司手机怎么自创网站
  • 建材网站建设知道网站域名怎么联系
  • 网站模板加后台线上推广员是干什么的
  • 怎么做国外网站北京做网站电话的公司
  • 营销手机网站版面网站的建设与规划方案
  • 做跨境网站注意事项个人网站怎么推广
  • 郑州好的建网站公司wordpress多域名模板
  • 申通物流的网站建设六安百度推广公司
  • 怎么做网站优化 site网站建设费用 开办费
  • mvc6 网站开发实战深圳市建设工程交易服务中心网
  • 中 网站建设 扬州网站的时间对齐应该怎么做
  • 付网站建设费会计分录批量网站建设合作协议
  • 开封专业做网站公司雄安移动网络
  • 为什么要建设医院网站wordpress的cdn加速
  • 大淘客联盟做网站简单好玩的网页游戏
  • 南宁网站建设官网杭州百度做网站多少钱
  • 仓库改造类网站怎么做网站开发遇到的难点
  • 罗湖网站建设罗湖网站设计网站建站推广是啥意思
  • 什么2007做视频网站重庆市网站编辑
  • MQ的作用
  • 东莞网站推广专业的企业小程序开发公司
  • 柴油网站怎么做找素材的网站大全
  • Visual Basic 值传递与地址传递
  • html做音乐网站模板网站开发合同范本
  • 当地人做导游的旅游网站产品外观设计用什么软件
  • 站酷网网址银川网站建设哪家好
  • 滦南县建设局网站小程序登录的具体流程