用Python函数库简化3D程序化生成,高效构建多样化场景数据
ProcFunc: Function-Oriented Abstractions for Procedural 3D Generation in Python

- 提供可组合的Python函数库,简化3D程序生成代码编写
- 支持大规模多样场景生成,提升运行效率与细节表现
- 适合需要快速构建3D合成数据的研究者与开发者
我们提出ProcFunc,一个基于Blender的Python程序化3D生成库。该库提供易用的Python函数,用于简化创建、组合、分析和执行程序化生成代码。通过语义组件的组合,可高效生成大规模多样化训练数据。视觉语言模型(VLMs)可借助ProcFunc编辑材质与几何代码,显著减少编码错误。作为应用案例,我们基于ProcFunc开发了一种新的室内房间生成器,包含一系列新组合式程序化材质。实验验证了该生成器在细节、运行效率和多样性方面的优势,并展示了其在3D合成数据生成中的应用潜力。源代码见https://github.com/princeton-vl/procfunc。
原文摘要 · Abstract (English)
We introduce ProcFunc, a library for Blender-based procedural 3D generation in Python. ProcFunc provides a library of easy-to-use Python functions, which streamline creating, combining, analyzing, and executing procedural generation code. ProcFunc makes it easy to create large-scale diverse training data, by combinatorial compositions of semantic components. VLMs can use ProcFunc to edit procedural material and geometry code and can create new procedural code with significantly fewer coding errors. Finally, as an example use case, we use ProcFunc to develop a new procedural generator of indoor rooms, which includes a collection of new compositional procedural materials. We demonstrate the detail, runtime efficiency, and diversity of this room generator, as well as its use for 3D synthetic data generation. Please visit https://github.com/princeton-vl/procfunc for source code.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。