博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Blender批量导出/转换模型
阅读量:5275 次
发布时间:2019-06-14

本文共 1920 字,大约阅读时间需要 6 分钟。

        2.4版本号的Blender API和2.5以上版本号的API有非常大的不同,这里仅仅是提供了思路和2.4版本号的导出方案。

先提供一个脚本,这个是由Blender调用的。用于转换Ogre的Mesh文件的脚本

import Blenderimport bpyimport sysimport os,globsys.path.append(r"D:\Program Files\blender-2.49b-windows\.blender\scripts\torchlight");sys.path.append(r"D:\Program Files\blender-2.49b-windows\.blender\scripts");import importTL,export_fbxdef ImportMesh(file):    print file;    scn = bpy.data.scenes.active    #Scene.Unlink(scn);    importTL.ImportOgre(file);    output = file.replace(".mesh", ".fbx");    output = output.replace(".MESH", ".fbx");    export_fbx.fbx_default_setting();    export_fbx.fbx_write(output);    return True;ImportMesh(sys.argv[5].replace("--", ""))

第二个脚本是我们在windows命令行下调用的,用于启动Blender来进行转换的

import glob,sys,osDUMMY_BLEND = r"E:\MyProj\unity3d\arpg36\ARPG\Tool\auto_convert_mesh\dummy.blend"CONVERT_SCRIPT = r"E:\MyProj\unity3d\arpg36\ARPG\Tool\auto_convert_mesh\convert_mesh.py"def convert_path(path):    for root, dirs, files in os.walk(path):        for dir in dirs:            strDir = os.path.join(root, dir);            #print(strDir);        for file in files:            file = file.lower();            strFile = os.path.join(root, file);            #print(strFile);            if strFile.find(".mesh") != -1:                os.system("Blender -b {0} -P {1} --{2}".format(DUMMY_BLEND, CONVERT_SCRIPT, strFile));    for root, dirs, files in os.walk(path):        for file in files:            file = file.lower();            if file.find(".mesh") != -1 or file.find(".skeleton") != -1 or file.find(".xml") != -1 or file.find(".material") != -1 or file.find(".animation") != -1 or file.find(".adm") != -1:                strFile = os.path.join(root, file);                os.remove(strFile);convert_path(r"E:\MyProj\unity3d\arpg36\ARPG\Assets\Model\Media\Level");
此脚本遍历目录下的全部.mesh文件。然后进行转换。

最核心的内容就一样代码 "Blender -b 项目文件 -P 脚本文件 --參数"

转载于:https://www.cnblogs.com/llguanli/p/6889653.html

你可能感兴趣的文章
命令行启动Win7系统操作部分功能
查看>>
排序sort (一)
查看>>
Parrot虚拟机
查看>>
Teamcenter10 step-by-step installation in Linux env-Oracle Server Patch
查看>>
Struts2学习(三)
查看>>
Callable和Runnable和FutureTask
查看>>
GitHub 多人协作开发 三种方式:
查看>>
文本域添加编辑器
查看>>
Yum安装MySQL以及相关目录路径和修改目录
查看>>
java获取hostIp和hostName
查看>>
关于web服务器和数据库的各种说法(搜集到的)
查看>>
《TCP/IP 详解 卷一》读书笔记 -----第四章 ARP
查看>>
C# Stream 和 byte[] 之间的转换
查看>>
OMG: daily scrum nine
查看>>
redis与spring结合错误情况
查看>>
第六章 字节码执行方式--解释执行和JIT
查看>>
实现绘制图形的ToolBar
查看>>
C# 串口接收数据中serialPort.close()死锁
查看>>
Python3控制结构与函数
查看>>
字符串方法title()、istitle()
查看>>