虽然说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环境:
根据自己的vs版本下载相对应的SDK,然后安装,安装后会出现下列文件:
?
?2、配置SDK
1、在属性中,选择“ 属性”>“ C / C ++”>“常规”。在对话框右侧的属性表中,在“ 附加包含目录”下拉框中选择,添加包含目录(盘:E:\SoftWare\FBX\FBX SDK\2020.2.1\include)
2、点击配置属性->C/C+±>预处理器->预处理器定义,点击编辑,在最后一行后面加上FBXSDK_SHARED、_CRT_NO_VA_START_VALIDATION,点击确定。
这一步如果不加的话,我们后边会遇到:
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++中代码生成运行库如下方
?4、右击工程名称->属性->配置属性->链接器->常规->附加库目录,点编辑添加:E:\SoftWare\FBX\FBX SDK\2020.2.1\lib\vs2019\x86\debug
?
?这个时候我们基本是可以运行了,如果运行时提示缺少libfbxsdk.dll,只需要把下载下来的libfbxsdk.dll拷贝到fbx-conv的根目录下。
不出意外的话,我们这个时候可以正常的运行了。
然后我们在终端通过命令:fbx-conv.exe -a xxx.fbx 命令就可以将fbx文件转换成我们想要的xxx.c3t、xxx.c3t了,具体是用参数-a还是-b -t自行选择
|