两种方法,使用Blender插件,或者Blend2bam。
第一种方法:Blender导出插件
1.对于Blender 2.5, 2.6, 2.7版本,使用:YABEE,导出文件格式.egg
注意,YABEE不适用Blender2.8及以上版本
GitHub - 09th/YABEE: Export models from the Blender to Panda3D game engine
由于我的电脑里Blender是3.1版本,所以下面只演示如何操作。
在Edit->Preferences->Add-ons->Install
之后选择YABEE-master.zip,点击Install Add-on即可。
2.Blender2.8及以上版本,导出文件glTF 2.0
不需要插件可以直接导出 glTF文件。
然后使用使用 panda3d-gltf 来加载glTF文件。
GitHub - Moguri/panda3d-gltf: glTF utilities for Panda3D
安装panda3d-gltf
pip install panda3d-gltf
利用gltf2bam可以将glTF文件转换为bam文件。
gltf2bam source.gltf output.bam
执行上述语句,成功生成bam文件
第二种方法:Blend2bam,导出文件格式.bam
GitHub - Moguri/blend2bam: A CLI tool to convert Blender blend files to Panda3D BAM files
首先安装blend2bam
pip install panda3d-blend2bam
然后执行下列语句,转换模型
blend2bam myfile.blend myfile.bam
执行上述语句之后,生成了.bam文件
直接打开可以查看该模型
加载.bam文件
class MyApp(ShowBase):
def __init__(self):
...
self.scene = self.loader.loadModel("filename.bam")
...
下图我调整了camera的位置和角度