BlenderCN论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3142|回复: 13

Blender 批量导入 obj 模型 范例

[复制链接]
发表于 2013-9-23 10:22:25 | 显示全部楼层 |阅读模式
经常有人问批量导入模型,这里给一个范例,各位举一反三。

如图,path后面写你的路径(注意!windows里的\要改成/,或者\改成\\),list写要导入哪些obj模型,alt+p运行此脚本。
运行完,你的模型就全在场景里了。
Snap3.jpg


下图,显示我如何知道obj导入命令的,鼠标悬停下面就有命令。
大家可以替换为任意你想要的格式。输出也差不多。
Snap2.jpg


脚本,切换到文本编辑器,新建脚本,再粘贴下面代码,就可运行。

  1. import bpy

  2. path = 'd:/'

  3. list = [
  4. 'ab1c1.obj',
  5. 'ef223.obj',
  6. 'ab2vc.obj',
  7. 'a1ewc.obj'
  8. ]

  9. for i in list:
  10.     bpy.ops.import_scene.obj(filepath=path+'/'+i)

复制代码


不同路径的obj加载范例

  1. import bpy

  2. list = [
  3. 'c:/ab1c1.obj',
  4. 'd:/ef223.obj',
  5. 'e:/ab2vc.obj',
  6. 'f:/测试/a1ewc.obj'
  7. ]

  8. for i in list:
  9.     bpy.ops.import_scene.obj( filepath=i )
复制代码

发表于 2014-7-22 12:42:48 | 显示全部楼层
补充一个,网上看到的,注意'C:\\', 'Mesh'即是c:\mesh里所有obj文件全导入
  1. import os
  2. import bpy

  3. # put the location to the folder where the objs are located here in this fashion
  4. path_to_obj_dir = os.path.join('C:\\', 'Mesh')

  5. # get list of all files in directory
  6. file_list = sorted(os.listdir(path_to_obj_dir))

  7. # get a list of files ending in 'obj'
  8. obj_list = [item for item in file_list if item[-3:] == 'obj']

  9. # loop through the strings in obj_list and add the files to the scene
  10. for item in obj_list:
  11.     path_to_file = os.path.join(path_to_obj_dir, item)
  12.     bpy.ops.import_scene.obj(filepath = path_to_file)
复制代码
回复 支持 1 反对 0

使用道具 举报

发表于 2013-9-23 10:46:31 | 显示全部楼层
不错不错,学习了
回复 支持 反对

使用道具 举报

发表于 2013-9-23 11:37:04 | 显示全部楼层
这个很实用啊~~
回复 支持 反对

使用道具 举报

发表于 2014-4-17 19:33:43 | 显示全部楼层
blender怎么样可以输出输入IGES格式啊?
谁有插件的?
回复 支持 反对

使用道具 举报

发表于 2016-11-15 19:56:22 | 显示全部楼层
批量导入的obj名字不能保留么?
QQ图片20161115195518.png QQ图片20161115195538.png

点评

for item in obj_list: path_to_file = os.path.join(path_to_obj_dir, item) bpy.ops.import_scene.obj(filepath = path_to_file) bpy.context.selected_objects[0].name = item  详情 回复 发表于 2016-11-16 23:25
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-16 23:25:17 | 显示全部楼层
WeWe猫 发表于 2016-11-15 19:56
批量导入的obj名字不能保留么?

for item in obj_list:
    path_to_file = os.path.join(path_to_obj_dir, item)
    bpy.ops.import_scene.obj(filepath = path_to_file)
    bpy.context.selected_objects[0].name = item

点评

只留文件名不用后续名可以么?  详情 回复 发表于 2017-11-22 14:14
感谢  详情 回复 发表于 2016-11-24 15:02
回复 支持 反对

使用道具 举报

发表于 2016-11-24 15:02:31 | 显示全部楼层
nirenyang 发表于 2016-11-16 23:25
for item in obj_list:
    path_to_file = os.path.join(path_to_obj_dir, item)
    bpy.ops.import_sc ...

感谢
回复 支持 反对

使用道具 举报

发表于 2017-5-19 10:35:00 | 显示全部楼层
这个脚本可以以下属性导入么? QQ图片20170519103048.png
现在脚本批量导入的obj不能形变,一用模型就炸了
QQ图片20170519103256.png QQ图片20170519103303.png
求解~!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-19 13:05:18 | 显示全部楼层
for item in obj_list:
    path_to_file = os.path.join(path_to_obj_dir, item)
    bpy.ops.import_scene.obj(filepath = path_to_file, split_mode='OFF')
    bpy.context.selected_objects[0].name = item

点评

感谢!!  详情 回复 发表于 2017-5-19 14:02
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Blender最新中文教学视频|Blender头条|小黑屋|手机版|Archiver|Blender中国 ( 蜀ICP备17002929号 )360网站安全检测平台

GMT+8, 2018-12-15 20:35 , Processed in 0.020044 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表