I’m aware of the other post of the same name, but that post was talking about the chicken exporter, which requires Blender 2.4, which doesn’t export FBX files. So the information there about the “armature-modifier” doesn’t apply to me as far as I know.
I’ve been able to import a 3D model, but now I’m trying to import an animation. I’m very new to 3D modelling and animation in general, so I don’t exactly know how to export properly and I’ve been winging it up until this point.
I used pip install to install a development version of Panda3D, because I wanted to use Python 3. I also have the latest version of Blender (2.79b) for model exporting.
My export process for the model (basic-person.egg):
- Create model in Asset Forge, export as FBX
- Asset Forge exports to ASCII FBX, which Blender can’t import, so I need to convert to binary using Autodesk FBX converter
- Import model in Blender, select everything by pressing A, export as .x file (YABEE will only export the model untextured for me)
- Convert to .egg using x2egg
Export process for animation (walking.egg):
- Import binary converted FBX to Mixamo, create animation
- Export as pure FBX (not the Unity option)
- Import to Blender, select everything, export to .x, convert to .egg
In code, I’m just trying to create an Actor using this line of code:
self.pandaActor = Actor("models/basic-person.egg", {"walk": "models/walking.egg"})
And then animating the model using:
self.pandaActor.loop("walk")
Both lines are in the same class called MyApp.
Here’s the full output after running main.py:
Known pipe types:
wglGraphicsPipe
(all display modules loaded.)
:Actor(warning): models/basic-person.egg is not a character!
Traceback (most recent call last):
File "main.py", line 55, in <module>
app = MyApp()
File "main.py", line 35, in __init__
self.pandaActor.loop("walk")
File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\direct\actor\Actor.py", line 1567, in loop
for control in self.getAnimControls(animName, partName):
File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\direct\actor\Actor.py", line 1861, in getAnimControls
allowAsyncBind = allowAsyncBind)
File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\direct\actor\Actor.py", line 2361, in __bindAnimToPart
bundle = self.__commonBundleHandles[subpartDef.truePartName].getBundle()
KeyError: 'modelRoot'
(ignore the “not a character” warning, the model appears regardless, though I’d like to know why!)
I’ve just about googled everything I could think of. Any suggestions are appreciated.