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.
翻译:摘要:我们介绍了ProcFunc,这是一个基于Blender的过程化3D生成Python库。ProcFunc提供了一系列易用的Python函数,可简化过程化生成代码的创建、组合、分析与执行。通过语义组件的组合式编排,ProcFunc能够便捷地生成大规模多样化的训练数据。视觉语言模型(VLM)可利用ProcFunc编辑过程化材质与几何代码,并以显著更少的编码错误创建新的过程化代码。最后,作为应用示例,我们使用ProcFunc开发了一个新的室内房间过程化生成器,其中包含一系列新型组合式过程化材质。我们展示了该房间生成器的细节丰富度、运行效率与生成多样性,及其在3D合成数据生成中的应用。源码请访问https://github.com/princeton-vl/procfunc。