- Implemented `image_plane.py` to build the Image Plane Geometry Nodes group with customizable parameters for geometry, subdivide, and thickness. - Created `image_plane_validation.py` to validate the functionality of the image plane, ensuring correct geometry generation and material assignment. - Developed `material_layers.py` to construct shader node groups for image materials, including depth and normal handling. - Authored `plane_layouts.py` to define node arrangements for image geometry assets. - Introduced `shadeless.py` to create a shadeless shader node group that displays color without scene lighting while preserving shadows and reflections.
1.3 KiB
1.3 KiB
内部实现总览
AnyImage 在 Blender 主线程处理交互、像素编辑和数据创建,通过 BlendJob 把模型推理交给独立 Job Server。
flowchart TD
A[Image Empty 或剪贴板图片] --> B[Operator 与手势工具]
B --> C{需要 AI?}
C -- 是 --> D[准备文件与普通字典参数]
D --> E[JobRuntime → Job Server]
E --> F[图片与相机元数据]
F --> G[Blender 主线程导入]
C -- 否 --> G
G --> H[Image 编辑或 Mesh 与材质创建]
| 主题 | 对应职责 |
|---|---|
| 程序架构 | 进程、注册、配置与主线程边界 |
| Common | Blender 侧图像、手势、几何与 AI 公共能力 |
| Runtime 与 Server | Environment、Job、模型下载与 Session 生命周期 |
| Job 产物 | 文件协议、相机坐标和 Blender 消费方式 |
| Operator 索引 | 按实际用户功能查找实现 |
| 节点资产 | 资产、源码职责、构建和验证 |
| 开发与发布 | 测试组织、工具命令与发布流程 |
源码位于 src/anyimage/,开发工具位于 tools/,自动化测试位于 tests/。扩展级设置由 preferences.py 定义,运行时资源由 runtime.py 接入 BlendJob。