使用Blender批量导出/转换模型

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

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

import Blender
import bpy
import sys
import os,glob
sys.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_fbx

def 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,os

DUMMY_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 脚本文件 --参数"

使用Blender批量导出/转换模型

时间: 2024-10-18 22:07:21

使用Blender批量导出/转换模型的相关文章

MVC批量导出数据方法

近段时间做了个数据平台,其中涉及到批量导出CSV格式数据的业务,主要使用了部分视图和视图之间传值等知识点,今天做了下整理,特此分享下: 主要分为四步: 1:要打印的数据格式陈列View: 2:自定义导出表头View呈现,在通过 @{Html.RenderAction(string actionName,object routeValues);}将步骤1的数据整合进来: 3:导出页面调用通用的导出方法,通过传参数,传视图名,获取到要导出的数据: 4:导出成指定格式数据. 下面开始说明详细导出流程,

C#开发BIMFACE系列14 服务端API之批量获取转换状态详情

系列目录     [已更新最新开发文章,点击查看详细] 上一篇<C#开发BIMFACE系列13 服务端API之获取转换状态>中介绍了根据文件ID查询单个文件的转换状态. 本文介绍批量获取转换状态详情. 请求地址:POST https://api.bimface.com/translateDetails 说明:应用发起转换以后,可以根据筛选条件,通过该接口批量查询转换状态详情 参数: 请求 path(示例):https://api.bimface.com/translateDetails 请求

Powershell管理系列(二十六)PowerShell操作之批量导出&导入邮箱

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 项目中有时候做跨林邮箱迁移的时候,条件不成熟,比如安全考虑或者其他考虑,不能做双林信任,这样就提出了一个问题,历史邮件需要使用的话怎么办,一个简单高效的解决办法就是从源森林批量导出邮件为.pst文件,在批量导入到目的域森林,具体操作如下: 1.赋予管理账号邮件导入导出权限,命令如下: cls whoami New-Manageme

Azure PowerShell (14) 批量导出Azure ASM ACL和ARM NSG配置信息

<Windows Azure Platform 系列文章目录> 最近有一个客户需求,需要批量导出Azure Classic VM的ACL (Access Control List), 还有ARM VM的NSG (Network Security Group) 设置. 我花了一点时间,写了一个PowerShell脚本,发布在我的GitHub上: https://github.com/leizhang1984/AzureChinaPowerShell/blob/master/ARM/ExportA

java使用POI操作excel文件,实现批量导出,和导入

一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Excel 95及以后的版本,即可操作后缀为 .xls 和 .xlsx两种格式的excel. POI全称 Poor Obfuscation Implementation,直译为"可怜的模糊实现",利用POI接口可以通过JAVA操作Microsoft office 套件工具的读写功能.官网:htt

fusioncharts批量导出图片之后自动提交表单

最近一个项目  一个页面有多个fusioncharts,需要将他们一次性导出之后再利用图片做一下操作,制作一个可以客户下载的质检简报. 对客户效果来说,我只需要点击一个按钮就能生成简报并且下载,对开发人员来说就需要,先将图片导出(当然不能挨个导出,要同时执行导出,因为fusioncharts导出太慢了),要确认全部导出了才能提交表单,要不然提交表单之后,图片没有生成出来必然产生异常.下面我们来看一下实现 首先我给每一个fusionchartschart指定一个有规律的id,作用有两个: 一个是导

怎么把百度(或高德)地图上查询的电话批量导出

怎么把百度地图上查询的电话批量导出呢? 怎么把高德地图上查询的电话批量导出呢? 这是很多做销售工作的业界精英们 迫切需要解决的问题. 因为他们需要大数据,作为他们微信销售,短信销售,电话销售的资源. 笔者经过一段时间的琢磨,经过一年多时间的反复测试,做出了导出高德地图的商家电话的软件. 界面尽量做到简洁,操作简单: 首先,选择需要采集的省份,城市: 输入需要采集的关键词,比如:汽车维修,宠物店,美容店.电动车 点击按钮[开始处理],系统将开始采集并处理采集到的商家数据,汇总成为一个EXCEL文件

分享一个批量导出当前实例下的所有linkedserver脚本

原文:分享一个批量导出当前实例下的所有linkedserver脚本 分享一个批量导出当前实例下的所有linkedserver脚本 很多时候,我们都需要导出实例下面的登录用户,job,linkedserver等等 导出job比较复杂,下午写了一个脚本把所有的linkedserver导出来,但是密码不会显示出来 下面脚本在SQL2008 R2下面测试通过 -- ============================================= -- Author: <桦仔> -- Blog

Elasticsearch5.0 Java Api(五) -- 批量导出索引

从索引库中将检索到的数据导出到外部文件,文件格式为.json 1 package com.juyun.test; 2 3 import java.io.BufferedWriter; 4 import java.io.File; 5 import java.io.FileWriter; 6 import java.io.IOException; 7 import java.net.InetAddress; 8 import java.net.UnknownHostException; 9 10