Blender的资产浏览器从3.0版本开始逐渐成熟,但工具再好,资产库本身的整理才是决定效率的关键。传统做法是手动建模、手动命名、手动打标记,资产一多就容易乱:文件命名不统一,目录层级随意堆放,找素材的时候只能凭记忆翻文件夹。把AI引入这条流程之后,情况可以彻底改观——资产由AI批量生成雏形,标签由AI自动识别写入,你只需要专注审核和调整。下面这套工作流在Blender 3.6到4.x版本上都可以跑通。

一、先规划好资产库的目录结构
目录结构是资产库的地基,建议在动手生成任何资产之前先定好规范。一个实用的结构是按资产类型分一级目录,按项目或主题分二级目录,例如models、materials、hdris、node_groups四大类,models下面再分props、characters、environment等子类。这样规划的好处是,Blender的资产浏览器支持多个资产库并行挂载,你可以把整个目录直接注册为库,也可以只注册某个子目录。
命名规范同样重要。推荐格式为“类型_主题_变体编号”,比如props_wooden_chair_01.blend。虽然AI打标签之后命名的重要性会下降,但文件名依然是最稳定的检索兜底,一旦脚本需要按文件名做批量处理,规范的命名能省掉大量坑。
另外建议在每个资产blend文件里保留一个专门存放资产的Collection,把要标记的资产统一收纳进去,而不是散落在场景各处。这样后续用脚本批量mark asset时,可以直接遍历这个Collection,逻辑简单且不容易漏。
二、用AI批量生成资产
资产生成环节现在有不少可选方案。文本生成3D类工具适合快速产出道具雏形,比如输入一把中世纪木椅,几十秒内就能拿到带基础拓扑的模型;图像转3D适合有参考图的情况;材质类则可以用AI生成无缝贴图,再在Blender里接成材质节点。生成的模型质量参差不齐,但作为资产库的填充素材完全够用,细节靠后续手工修整。
拿到生成结果后,第一步是统一单位。很多AI工具导出的模型比例混乱,一个杯子可能有几米大。可以在Blender里写一个快速归一化脚本:
import bpy
def normalize_object(obj, target_size=1.0):
# 计算物体包围盒尺寸
dims = obj.dimensions
max_axis = max(dims.x, dims.y, dims.z)
if max_axis == 0:
return
scale = target_size / max_axis
obj.scale *= scale
bpy.ops.object.transform_apply(scale=True)
# 对选中物体执行归一化
for ob in bpy.context.selected_objects:
if ob.type == 'MESH':
normalize_object(ob)
归一化之后建议再做一次减面和清理,移除AI模型常见的游离顶点、重复面。这些操作虽然琐碎,但直接决定资产库的整体质量。可以借助Decimate修改器批量处理,目标面数根据资产用途定,游戏用途建议控制在五千面以内。
三、AI自动打标签的实现思路
标签是资产库可检索的核心。Blender的资产系统使用Catalog来组织分类,每个资产还带有tags(标签)字段。手动打标签费时费力,而AI正好擅长这件事。实现路径有两条:本地方案是基于资产名称和元数据做关键词匹配与归类,简单可靠;进阶方案是把资产渲染成缩略图,交给视觉模型识别内容,再生成更精确的标签。
本地方案可以用Python脚本直接操作。Blender内置了完整的bpy接口,遍历所有可标记数据块并写入标签只需几行代码:
import bpy
# 简单的关键词到标签映射规则
KEYWORD_TAGS = {
"chair": ["家具", "座椅"],
"table": ["家具", "桌面"],
"sword": ["武器", "冷兵器"],
"tree": ["自然", "植被"],
}
def auto_tag_assets():
for obj in bpy.data.objects:
name_lower = obj.name.lower()
matched = []
for keyword, tags in KEYWORD_TAGS.items():
if keyword in name_lower:
matched.extend(tags)
if matched:
# 写入资产的标签数据
asset_data = obj.asset_data
if asset_data:
for tag in set(matched):
new_tag = asset_data.tags.new(tag)
print(f"{obj.name} 已打标签: {matched}")
auto_tag_assets()
这段脚本的思路是先给物体执行mark asset,然后根据名称关键词写入标签。如果资产是按前面讲的规范命名的,这种方式的准确率相当高。想要更智能的效果,可以把规则表换成一个小型语言模型或者调用视觉API:先用Blender的Offscreen Render生成资产的预览图,把图片发给视觉模型描述内容,再把描述提炼成标签写回asset_data.tags。整个流程可以在命令行模式下批处理几百个文件,睡觉前挂上任务,早上起来整个库都整理好了。
标签写好后别忘了同步Catalog。Catalog通过catalog definition文件管理,每个库目录下会自动生成blender_assets.cats.txt文件,用UUID和路径定义分类树。批量归类同样可以脚本化,设置asset_data.catalog_id即可把资产挂到指定分类下。
四、几个实用的效率技巧
第一,善用批处理。把上述脚本改造成接收文件路径参数的版本,配合系统命令行遍历整个资产目录,一次性处理所有blend文件。第二,缩略图质量要重视,资产浏览器里认资产主要靠缩略图,渲染前给场景加个简单的三点光和统一背景色,整个库的观感会好很多。第三,定期做去重,AI批量生成时容易产出相似度极高的资产,可以按文件哈希或者顶点数做初筛。
第四,保留一份资产清单。用一个脚本把所有资产的名称、标签、面数、文件路径导出成CSV,相当于给资产库建了索引。找东西的时候先查表再进Blender,比在浏览器里滚动翻找快得多。这套CSV还可以喂给AI助手,实现自然语言检索,比如直接问“找一个低多边形的木质桌子”,AI从清单里筛出匹配项返回文件路径。
整体来看,AI介入资产管理的价值不在于替代你建模,而在于把整理归档这种最耗时间的杂活自动化掉。目录规范加自动打标签加批处理脚本,三件套搭好之后,资产库会进入一个良性循环:资产越多,检索越方便,复用率越高,项目效率自然水涨船高。
Blender资产管理AI生成资产资产标签修改时间:2026-09-06 18:48:37