Dev:Ref/Release Notes/2.75/Addons

提供: wiki
移動先: 案内検索

Blender 2.75: Add-ons

Improvements for Add-ons include: A "UI Previews" API was created for displaying images in the UI as custom icons, the "Add Mesh Extra Objects" Add-on got a big update, the Collada exporter now has support for custom normals, the "Node Wrangler" Add-on was imroved, the Python executable is now included with official Blender releases for a much better multi-threaded access, ...

Add Mesh Extra Objects

Add mesh extras promo.jpg

The Add Extra Objects Add-on got a big update (rBA40c00d312f0c)

  • Start your modeling Quick & Easy
  • This update & modernization includes new menu structure, new look & new object types.
  • Add a Single Vert to edit mode with several choices. (Mirrored, Origin Only, Vert only)
  • Start Sculpting Quikly
  • Round Cube offers a quick all quad base.
  • Menger Sponge adds a beautiful Cube
  • XYZ Presets, over 20 math objects using Blender's built in preset system.
  • More information in the Wiki Page
  • 100%.png Extra Objects Wiki


Collada Exporter

C3D motion capture data importer

  • Clarified some options, and fixed some scale issue (rBAb1a53b343d).

Node Wrangler

  • Rewrite 'Align Nodes' function (Shift-Equals) - nodes are now spaced evenly and consistently apart. Whether the nodes are aligned vertically or horizontally is now determined automatically.
  • Remove 'Line Antialiasing' user preference - there was no real performance hit, so there's no reason not to use this all the time. Antialiasing was also enabled for other drawing functions.
  • Bug fix: T44564 - Adding an image sequence didn't work for Shader nodes.
  • The logic for figuring out what image sequence the user is trying to add was improved. Sometimes users select only one frame, sometimes they select all the frames (Blender itself is inconsistent about this behavior), both methods are now accepted.

UI Previews

UI previews is an addition to the blender python API that allows requesting of image previews from files and the displaying of said previews in the UI as custom icons.

It is now possible to load single image or a set of previews for use in the UI with the existing widgets. It is not possible to override the default icons or share icons between addons.

These preview images are in a dynamic cache, which can be deleted or refreshed at any time. For that reason, addons or UI scripts that rely on the feature have to carefully manage this, to not overload Blender with preview loading time and/or memory consumption.

UI Examples

Button with label.
No label.
Menu item.

A preview can be used as a custom icon in any place an icon can be used.

Sample UI script:
ui_previews_custom_icon.py


Furthermore, an EnumProperty with custom icons can be built and displayed in the appropriate templates.

Sample UI script:
ui_previews_dynamic_enum.py


prop().
template_icon_view().



Development Guidelines

If you want to use this in a release add-on:

  • Do not use this for advertising, logos or other non-functional use cases.
  • Use a minimum of custom icons. This helps uncluttering the interface and keeping Blender's interface uniform.
  • Only use these images in a way that is compatible with how rest of Blender works - as if it's a default interface we provide for everyone.
  • Only use the feature within the context and UI of your own Add-on. You cannot rely on other add-ons to have this already preloaded. This feature also does not allow replacing of the default icons.
  • Do not force preview image creation outside of the add-on dir, except when explicitly asked for by the user in the UI.
  • The default icon size in Blender is 32x32 and for previews 256x256. Your images will be scaled to fit these sizes on their maximum side.

Python API

  • Access to add/remove color palettes bpy.data.palettes 26a2b7b38f0d162 29195197147a882
  • The Python executable is now included with official Blender releases, so scripts can always spawn a Python process.
    This can be accessed from bpy.app.binary_path_python. bc2f77e1da8f4a4
  • remove deprecated bpy.types.Region.callback_add, use bpy.types.SpaceView3D.draw_handler_add instead (or any other subclass of bpy.types.Space). 0287b394680441b