cocos2dx FBX转换成C3B/C3T

虽然说cocos2dx做3d游戏有点鸡肋,但是在2d游戏中有时候我们会简单的用到些3d模型,市场上大多数3d软件导出的格式一般是*.fbx格式的文件,但是cocos2d中支持的文件只有*.c3b、*.c3t两种格式,c3t文件为普通文本格式;c3b为二进制格式,也是提倡使用的。这个时候就需要我们将fbx文件转换成c3t、c3b文件了。

首先拉取工程文件:

链接: https://pan.baidu.com/s/1GbYQ_l4GKC6h2VBJTO0yJA 提取码: 53ei 

下载下来是一个c++的工程文件,这个时候我们开始编译,不出意外的话会出现:

error C1083: 无法打开包括文件: “fbxsdk.h”: No such file or directory

没有fbxsdk.h头文件,这个时候需要我们配置下FBX-SDK环境:

1、下载FBX_SDK:fbx-sdk-2020-2-1

cocos2dx FBX转换成C3B/C3T_第1张图片

根据自己的vs版本下载相对应的SDK,然后安装,安装后会出现下列文件:

cocos2dx FBX转换成C3B/C3T_第2张图片

 cocos2dx FBX转换成C3B/C3T_第3张图片

 2、配置SDK

1、在属性中,选择“ 属性”>“ C / C ++”>“常规”。在对话框右侧的属性表中,在“ 附加包含目录”下拉框中选择,添加包含目录(盘:E:\SoftWare\FBX\FBX SDK\2020.2.1\include)

cocos2dx FBX转换成C3B/C3T_第4张图片

2、点击配置属性->C/C+±>预处理器->预处理器定义,点击编辑,在最后一行后面加上FBXSDK_SHARED、_CRT_NO_VA_START_VALIDATION,点击确定。

cocos2dx FBX转换成C3B/C3T_第5张图片

这一步如果不加的话,我们后边会遇到:

Error C2338 va_start argument must not have reference type and must not be parenthesized  这个问题

3、右击工程名称->属性->配置属性->链接器->输入->附加依赖项 点编辑,在其中写入libfbxsdk.lib,libfbxsdk-md.lib,libfbxsdk-mt.lib,wininet.lib(每行一个,一共四行),然后点击确定,然后c++中代码生成运行库如下方

cocos2dx FBX转换成C3B/C3T_第6张图片

cocos2dx FBX转换成C3B/C3T_第7张图片

 4、右击工程名称->属性->配置属性->链接器->常规->附加库目录,点编辑添加:E:\SoftWare\FBX\FBX SDK\2020.2.1\lib\vs2019\x86\debug

 cocos2dx FBX转换成C3B/C3T_第8张图片

 这个时候我们基本是可以运行了,如果运行时提示缺少libfbxsdk.dll,只需要把下载下来的libfbxsdk.dll拷贝到fbx-conv的根目录下。

不出意外的话,我们这个时候可以正常的运行了。

然后我们在终端通过命令:fbx-conv.exe -a xxx.fbx 命令就可以将fbx文件转换成我们想要的xxx.c3t、xxx.c3t了,具体是用参数-a还是-b -t自行选择

cocos2dx FBX转换成C3B/C3T_第9张图片

你可能感兴趣的:(cocos2d,工具问题,cocos2d,开发工具)