Assets 3

Changelog

Fixes

  • Wrong BLB collision rotation if forward axis was not +Y in the export settings.
  • Inverted/broken smooth shading: normals were written to the vertices in reversed order.
  • Broken vertex colors: colors were written to the vertices in reversed order.
  • Being able to modify grayed out properties that were supposed to be disabled in the export panel.
  • Invalid decimal operation exception when attempting to calculate brick bounds but there were no visible meshes to calculate the axis-aligned bounding box from.
  • Outdated link to Nick Smith's GitHub profile in the README.
  • Typos in the README.
  • Exception when attempting to export a brick and the following conditions were met:
    • Bricks to Export property was Multiple.
    • Bricks Defined by property was Layers.
    • Export Bricks in property was Scene.
    • The scene contained a layer with no objects.
  • Exception when Export Scale property was not 100%.

Export Property Changes

  • Removed: Calculate Collision (calculate_collision) property.
    • This breaks backwards compatibility of the API.
    • Property was used to assign the brick size as the BLB collision object if no custom collision objects were defined.
    • Superceded by the Fallback Collision property.
  • Added: Custom Collision (custom_collision) property.
    • Enables/disables exporting BLB collision objects.
  • Added: Fallback Collision (fallback_collision) property.
    • Allows selecting between two different collision types to fall back on when no custom BLB collision objects are defined.
    • Replaces the Calculate Collision property when the value Bounds is used.
    • This property now makes it impossible to export a brick that does not have any collision.
  • Added: Pretty Print (pretty_print) property.
    • Trims unnecessary zeros from the ends of floating point numbers.
    • Writes integers without the decimals.
  • Changed: Export Objects In (export_objects) property.
    • No longer attempts to export the entire scene if no objects were selected or there were no objects in the visible layers when the property value was Selection and Layers respectively.
  • Changed: Use Material Colors (use_materials) property.
    • Now defaults to True.
  • Additional checks are performed when validating the Precision property value.
  • Improved definition token menu.
  • Improved export panel layout.
  • Reordered export panel properties.
  • Improved property descriptions.
  • Some hidden properties are now shown by default but are initially disabled.
    • For example the option to write logs only when an error or a warning is output was previously not visible unless the property to write a log in the first place was enabled.
  • Added ellipses to the names of the properties that display additional properties when enabled.

Error and Warning Message Changes

  • Added a unique identifier to each error and warning message.
  • Various improvements to the text of error and warning messages.
  • Some warning and error messages removed as they were no longer relevant.
  • Promoted error about normal vectors being points to an exception.
  • Warning messages promoted to errors.
    • Non-mesh object with a bounds, grid, or collision definition token. (IOBLBE008, IOBLBE009, and IOBLBE010)
    • Multiple bounds definitions found. (IOBLBE011)
    • More than 4 color values defined. (IOBLBE013)
    • Multiple quad sections. (IOBLBE014)
    • Multiple brick texture names. (IOBLBE015)
  • Warning messages demoted to standard log messages.
    • Collision definitions having more than 8 vertices.
    • No collision definition objects found.

README Changes

  • Updated list of planned features.
  • Major updates to layout and formatting.
  • Added detailed descriptions and solutions to all fatal errors, non-fatal errors, and warnings output by the add-on.
  • Added more internal document links.
  • Various improvements to the content.
  • New section about brick size.

Internal Changes

  • Moved to a more sensible branching strategy.
    • No longer creating a separate branch for each version, pre-release repository clean-up is now performed in the staging branch.
  • Changed version number incrementing convention.
    • Now incrementing version number immediately after public release to ensure that new commits more clearly belong to the next version of the add-on.
  • General code refactoring.
  • Refactor blb_writer module to build a list of strings to write after processing instead of writing the final file one line at a time while processing.

Installation

  1. Download the file named io_scene_blb-v2-0-0.zip from the downloads in this release.
    • The contents of the file are identical to the Source code (zip) file but Blender cannot handle the period character in file names causing the installation of the source code .ZIP to fail.
    • Alternatively to download the latest version of the add-on instead of this one, click here or go to the front page of the repository and press Clone or download > Download ZIP.
  2. Open Blender and go to File > User Preferences > Add-ons.
  3. Press the Install from File... button at the bottom of the dialog and find the downloaded .ZIP file.
  4. Press Install from File... again.
  5. Enable the add-on in the add-ons list and press Save User Settings to keep the add-on enabled the next time you start Blender.
  6. The export option is under File > Export > Blockland Brick (.blb).

Updating

  1. Open Blender and go to File > User Preferences > Add-ons.
  2. Quickly find the add-on by typing blb into the search field.
  3. Expand the add-on by clicking the white triangle on the left, press the Remove button, and confirm the removal.
  4. Follow the installation instructions above.