blendify 2.0.0 Release
This release, among other minor improvements, introduces a more flexible way of defining the material, more material presets, support for different rotation representations, improved light parsing, and fast rendering with the eevee engine to preview the result.
Some of the changes are not backward compatible with the previous version of blendify; the breaking changes are listed below:
Breaking changes
- Removed
attach_blend_w_camerafromScene;
now parsing is controlled viawith_cameraparameter inScene.attach_blend() - Removed
PrinsipledMaterial, a mistyped name forPrincipledBSDFMaterial; - Renamed the
quaternionparameter inPositionabletorotation;
rotation mode is now controlled via therotation_modeparameter; - To compress the repository, we have cleaned the history of modifications for big files (mostly
gif), resulting in a new commit tree; - Flipped texture reading row order in
TextureColorsto be compatible withFileTextureColors.
Summary of other changes and improvements:
Materials
- Implemented a flexible way to define new materials using shading nodes from Blender;
This allowed us to implement a combination of materials, e.g.,PrincipledBSDFwithWireframeon top; - Added several presets for
PrincipledBSDFMaterialto ease material creation (PlasticMaterial,MetalMaterial, and similar materials with wireframe on top);
Lights
- Implemented parsing of light sources to
LightsCollectionfrom.blendfile (viaScene.attach_blend()); - Added
set_background_lightmethod toLightsCollectionto set ambient lighting via world shading nodes in Blender;
Object manipulation
- Extended support for different rotation representations in
Positionableobjects;
Now all common representations (quaternion, Euler angles, axis-angle, rotation matrix) are supported; - Implemented
look_atas a rotation mode forPositionableobjects to ease camera positioning;
Other
- Unified
.blendparsing logic for parsing with and without a camera; - Implemented fast preview via
eeveeengine to allow for intermediate previews of the scene; - Added plane primitive to ease implementing shadow catchers (code is provided in
Example 7); - Added pointcloud to textured mesh conversion function in
blendify.utils; - Updated the code to rely on
Blender 3.6.0 LTS.