Skip to content

loonaticx/blender-egg-importer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is an importer for Blender that can import .egg files. It is designed to be interoperable with YABEE and other Blender to Panda3D exporters, and aims to preserve the hierarchical structure of the models. It does not require an installation of Panda3D to be present.

In combination with the improved version of bam2egg available in development builds of Panda3D, this also provides a reliable path to import .bam files that are generated by egg2bam.

Note

The plugin was initially created to support Blender 2.7x but has been upgraded to support later versions, including Blender 2.8x, 2.9x, 3.x, and 4.0. If the plugin is failing to register or import eggs properly, please file an issue with the version of Blender that you are attempting to use the plug-in with.

Installation

Find the latest release of the plugin in the Releases tab. To ensure Blender will properly register the add-on, ensure to download and install the blender-egg-importer.zip file as provided in each release.


Features

Please see this wiki page on how Egg data is converted to Blender

Most features supported by bam2egg are implemented. In particular, however, animation support is not yet finished. Many other features still need to be tested.

Supported features:

  • .egg.pz and .egg.gz files
  • Basic geometry, incl. tristrips and trifans
  • Custom normals
  • Vertex colors
  • All transform types
  • Materials
  • Textures
  • Multitexture modes (modulate, add, decal, blend, normal, glow, gloss, etc.)
  • Tags (as game properties)
  • Collide and ObjectType (as game properties)
  • Collision masks (as game properties)
  • Coordinate system conversion
  • Multiple UV coordinate sets
  • Armatures, skinning
  • Default animation pose
  • Bone animations
  • Morph targets
  • YABEE/flt2egg-style external references ('file' game property)

Yet to do:

  • Improve performance of parser
  • Lines, patches
  • NURBS surfaces and curves
  • Level of detail
  • Support recursive external references
  • Translate texture combine modes to material nodes

Limitations

Panda3D does not have a concept of "bone length"; the importer does some clever tricks to guess what the original bone length might have been, but some bones may look wrong. This should not negatively affect skinning, however.

Shear animations are not supported at present. If you have a file that contains shear animations, please send it to me.

If you find any bugs, please open a bug report on the issue tracker, and include the egg file that loaded incorrectly.