Skip to content

4.12.0 Beta 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@JannisX11 JannisX11 released this 19 Dec 17:01
· 82 commits to next since this release

Welcome to the first beta for Blockbench 4.12!

To test this beta, download the required installation files from below, or enable the setting "Update to Pre-releases" inside Blockbench. Enabling this setting will tell Blockbench to always update to the latest pre-release, allowing you to test the latest features.
Please note that pre-release versions in general may be unstable and have more issues than release versions.

To test the web app, visit https://blockbench-dev.netlify.app/

Please report issues you find in the beta, make sure to specify the correct version.

Main Features

This beta is not a feature complete version of 4.12, a few more smaller feature are planned.
With this beta, I am looking for feedback on three features in particular:

1. Collections

There have been a lot of requests for creating "selection presets" for certain elements in projects regardless of outliner hierarchy, to toggle visibility on sets of elements, and for ways to only export certain sets of elements.
Collections are an attempt to combine all of those features. Collections are "selection presets" that contain references to a selection of elements in your projects, completely independently of the outliner.

Please test collections in particular in this beta and let me know if you have additional ideas to improve them.

Selection

You can select a collection to select all elements inside them in one click. Collections also have a visibility button to toggle visibility on everything inside them at once. Just like element visibility buttons, you can click while holding Alt to "solo" the visibility and only make the collection visible while hiding everything else.
One element can belong to one collection, multiple collections, or no collection at all. Adding a group to a selection will add everything inside the group, even elements that you may add at a later time.

Export

Collections can be exported using a select number of exporters (codecs). This allows you to have multiple objects in one Blockbench project and export them to individual files. Or, you can export the whole project to one file, but export smaller sections to extra files in addition.
Collections will remember the last codec and file location that they were exported to, and you can save them to that location again at any time directly from the context menu.

Collection Panel

Collections are intended as an optional feature for experienced users.
Collections introduce the concept of optional panels, which are not on screen by default.
If you want to use collections, you can enable the Collections panel. Go to View > Panels > Collections > Enable, and pick which slot you want to add the panel to.
You can add the panel to any sidebar or keep it floating. You can hide it again from the same menu if you no longer need it, or you can collapse it to save space.

2. PBR

This update adds physically based rendering options to Blockbench textures. This adds the concept of "Materials", which are optional and are an extension of texture groups.
PBR materials are currently enabled and optimized for Minecraft: Bedrock Edition formats, with plans to add support for more general applications in the future.

To create a PBR material, open a Minecraft Bedrock project, right click a texture and click "Create Material". This will create a Material texture group, which includes the selected texture as albedo, and a configuration file called "*.texture_set.json".
Right click the configuration file to change its properties. You can set uniform values for certain rendering options here, or assign maps.

To add a map to your material, for example a height map, import a texture to your material texture group. Right click the new texture and set PBR Channel to "Height".
You can also generate a map based on an existing texture. To do this, select the base texture, right click your texture group, and click "Generate PBR Map". This will open a dialog to generarte a map.

To preview physically based rendering, switch your View Mode to Material Preview. PBR maps can be edited just like regular textures, even in Material preview mode. Just make sure to select the texture you want to edit.

To apply a material to a face or element, just apply the color/albedo texture.

3. Group Multi-select

This update also finally adds the ability to select multiple groups at once. Please let me know if you find any issues with this change!

API Change

From a technical standpoint, group selection was previously referenced by Group.selected, which returned the one selected group.
With multi-selection, this has been split into Group.first_selected, which returns the first group in the selection, and Group.multi_selected, which returns an array of all directly selected groups.
The old Group.selected will return the first selected group for now to provide backwards compatibility for plugins. But this is deprecated and in a future update this will be changed to return an array of selected groups.
For now it is recommended to use Group.multi_selected in mose cases and Group.first_selected if you really need the first selected group. These two properties will continue to work even after Group.selected is switched over to an array.

Keep in mind that in addition to these you can also use something to the extend of Group.all.filter(group => group.selected) to get ALL selected groups, including those that are marked as selected because their parent group was selected. Which one you use depends on the particular use case.

Collections

  • Added Collections
  • Added Collection Panel
  • Added options to export Collections using enabled codecs (#2235)

General changes

  • Groups can now be multi-selected
  • Added UV navigation arrow
  • Tool config system with custom forms, currently implemented by
    • Mirror Painting
    • Tiled View
    • Image Editor Onion Skin
    • Animation Onion Skin
    • Proportional Editing
    • Mirror Modeling (planned)
      image
  • Added linked ratio toggle for vector form inputs (#2521)
  • Convert element property toggles to toggles to display state in icon (#952)
  • Added option to sync GIF turntable speed to animation length
  • Added Bluesky to About window
  • 3D brush outlines now properly aligns to stretched and sheared UVs (#2529, thanks @Nestorboy)
  • Optimized rendering of 3D brush outline (#2559, thanks @Nestorboy)
  • Added Panels menu under View
  • Some panels are now optional and can be set to hidden
  • Implement JPM as copy of JPM with minor changes (#456) (Work in progress and not fully functional yet)
  • Increased start screen thumbnail resolution
  • Detect if texture is applied and not export as default in JEM (#2457)

Modeling

  • Added Vertex Snap Rotation snap mode (#665)
  • Added option to ignore axis in vertex snap
  • Added Apply Mirror Modeling action
  • Added direction options for extruding
  • Add "even extend" option for extruding
  • Add unit option to Loop Cut amend edit menu

Image Editing

  • Added line tool snapping
  • Added image export option in File menu

Physically-based Rendering

  • Added materials as an extension of texture groups
  • Added "Material Preview" view mode
  • Added option to generate PBR maps from existing textures
  • Added import and export support for bedrock texture_set.json files
  • Added Tone Mapping setting with 6 tone mapping presets

Settings

  • Added classroom mode
  • Added navigation sensitivity settings
  • Added setting to adjust 2D editor zoom speed
  • Added pop-up to offer restart if changing a setting requires it

Animation

  • Added timeline scrubbing audio preview
  • Made timeline audio preview no longer clickable
  • Menu option to edit animations and controllers externally (#1899)
  • Added ability to rearrange animators in the timeline by dragging

Technical changes

  • Added inline multi select form option
  • Updated font-awesome
  • PSA start screen section ID
  • Add plugin contributors metadata field
  • Move beta version to subdomain (#2098) (WIP)
  • Upgraded electron to 33.2.1

Fixes

  • Fixed #1185 trackpad viewport zoom too sensitive
  • Fixed texture bleeding when using anti-aliasing (#2518, thanks @Nestorboy)
  • Fixed #2563 Image reference rotation isn't applied for color picking
  • Fixed #2588 Blender keymap conflicts
  • Fixed shift clicking face in UV editor selecting it multiple times
  • Localization string for toolbox menu (#2544)
  • Fixed #2568 UV not updating when applying a texture from menu
  • Fixed issues with cluster select mode
  • Fixed #2555 pasted selection layer appears outside of canvas