blender-egg-importer icon indicating copy to clipboard operation
blender-egg-importer copied to clipboard

Support for 2.93+, Support properties for 2.8+ with Object Properties, Additional support for various nodes, and More

Open BartGunshot opened this issue 2 years ago • 1 comments

Blender 2.93 broke property registering. It now requires that properties be registered with use of annotations. As a result this plugin does not work on 2.93+.

  • To preserve backwards compatibility as far back as 2.7 (this will become increasingly difficult) a decorator has been included to generate annotations on versions 2.93+.

Game properties don't seem to be coming back to Blender any time soon. This plugin would only insert certain scalars into blender if using 2.79.

  • Added support to insert these as custom object properties in 2.8+. These are found in: "Properties" panel > "Object Properties" tab > "Custom Properties" dropdown
  • Added support for a few more simple scalars and other properties such as "scroll_v", "scroll_u", "alpha", and "DCS"

~~If not using an EGG material, the plugin would generate a Blender material with the name "default". This was incredibly unhelpful for models using multiple textures but no materials. They would all generate in Blender as "default.001", "default.002", etc.~~

  • ~~If there is a texture present but no material, the Blender material will be named with the name of the very first texture on that geometry.~~

Finally, previously LODs were not loaded at any capacity. This is a tricky problem to solve as Blender doesn't really have a system for LODs. However, for maximum compatibility with workflows they should be loaded in some capacity.

  • I've decided to load them into the Properties system. It's extremely rudimentary but it would allow users to edit the values and then later on export it as a tag (with current exporters) and further parse it from there. Or allow users to write their own exporter which would better support this.
  • The name used for the property here might be better off being named something different.
  • The importer now has two more node classes to handle this structure. "EggSwitchNode" (handles the egg "SwitchCondition") and "EggDistanceNode" (handles the egg "Distance" under "SwitchCondition")

Slightly updated the ReadMe to handle this. Bumped version

BartGunshot avatar Aug 06 '21 05:08 BartGunshot

did something happen? seems like the changes were approved but never actually merged.

dman82499 avatar Nov 09 '21 17:11 dman82499