What's new in this version:
- Blender now supports a fully integrated Multi-View and Stereo 3D pipeline
- Cycles has much awaited initial support for AMD GPUs, and a new Light Portals feature.
- UI now allows font previews in the file browser.
- High quality options for viewport depth of field were added
- Modeling has a new Corrective Smooth modifier.
- The Decimate modifier was improved significantly.
- 3D viewport painting now supports symmetry and the distribution of Dynamic Topology was improved
- Video Sequence Editor: Placeholders can now replace missing frames of image sequences
- Game Engine now allows smoother LOD transitions, and supports mist attributes animation
- And: 100s of bug fixes and smaller feature improvements.
Multi-View and Stereo 3D:
- For this 5-minute guide we will take an existent .blend file that was made for monoscopic rendering and transform it in stereo-3d ready.
- Start opening up your project file, in this case turntable.blend from the Creature Factory 2 Open Movie Workshop series from the Blender Institute by Andy Goralczyk.
- Go to the Render Layers panel and enable Views for this scene.
- To tweak the stereo 3d parameters select the camera in the Outliner. In the Camera panel go to the Stereoscopy tab and change the Convergence Distance.
- The viewport will respond in real-time to those changes allowing you to preview the current depth value of the scene.
- Before fine-tuning the camera parameters you can set the convergence plane in the viewport based in your scene depth layout. Go outside the camera view and you will instantly see the convergence plane in front of the camera.
- You can toggle this and other display settings in the Stereoscopy tab of the viewport properties panel. In the following image the cameras frustum volumes are also visible.
Stereo 3D Display:
- If you have a real 3d display at some point you can change the 3D display mode in the Window menu, by calling the Stereo 3D operator. Be aware that some modes require a fullscreen editor to work.
- Before rendering your scene you can save an OpenGL preview of the animation for testing in the final display. In the Render Output panel you can chose the output Views Format.
- The options include individual files per view, top-bottom, anaglyph among others. Pick the one that fits your display requirements.
Rendering and Image Editor:
- Once you are happy with the results you can render out the final animation. In the Image Editor you can inspect the individual views and the stereo result.
- Your final animation can be saved in more robust formats than the ones used by the OpenGL render preview. In this example we saved as cross-eyed side-by-side stereo 3d.
- As this guide showed, there is more to stereo 3d rendering than just generate two images. The earlier the stereo pipeline is considered the smoother it will get. The following sections are a more in-depth view of the individual components we visited in the workflow.
Window Stereo 3D Display:
- An essential component of the Stereoscopy pipeline is the ability to display the stereo image in a proper display. Blender supports from high-end 3D displays to simple red-cyan glasses. On top of that you can set a different display mode for each window.
- The display mode can be changed via the Window menu or if you create your own shortcuts for the wm.stereo_3d operator.
- Render two differently filtered colored images for each eye. Anaglyph glasses are required. We support Red-Cyan, Green-Magenta and Yellow-Blue glasses.
- Render two images for each eye into one interlaced image. A 3D-ready monitor is required. We support Row, Column and Checkerboard Interleaved. An option to Swap Left/Right helps to adjust the image for the screen. This method works better in fullscreen.
- Renders alternate eyes. This method is also known as Page Flip. This requires the graphic card to support Quad Buffer and it only works in fullscreen.
- Render images for left and right eye side-by-side. There is an option to support Cross-Eye glasses. It works only in fullscreen, and it should be used with the Full Editor operator.
- Render images for left and right eye one above another. It works only in fullscreen, and it should be used with the Full Editor operator.
Stereo 3D Camera:
- When using the Stereo 3D scene view setup a stereo pair is created on-the-fly and used for rendering and previsualization. For all the purposes this works as two cameras that share most parameters (focal length, clipping, ...). The stereo pair, however, is offsetted, and can have unique rotation and shift between itself.
- Set the distance between the camera pair. Although the convergence of a stereo pair can be changed in post-production, different interocular distances will produce different results due to the parts of the scene being occluded from each point of view.
Convergence Plane Distance:
- The converge point for the stereo cameras. This is often the distance between a projector and the projection screen. You can visualize this in the 3D Viewport.
- The stereo camera pair is separated by the interocular distance, and shifted inwards so it converges in the convergence plane. This is the ideal format since it is the one closest to how the human vision works.
- This method produces two parallel cameras that do not converge. Since this method needs to be manually converged it can’t be used for viewing. This method is common when combining real footage with rendered elements.
- A less common approach is to rotate the cameras instead of shifting their frustum. The Toe-in method is rarely used in modern 3D productions.
- The stereo pair can be constructed around the active camera with a new camera built for each eye (Center Pivot) or using the existing camera and creating (Left or Right). The latter is what is used when only one eye needs to be rendered for an existing mono 2D project.
Viewport Stereo 3D:
- When you enable ‘Views’ in the Render Layer panel a new are is available in the 3D Viewport properties panel. In this panel you can pick whether to see the stereo 3d in the viewport, or which camera to see. It also allow you to see the Cameras, the Plane and the Volume of the stereo cameras.
- When working with the Stereo 3D views setup you can inspect what each individual generated camera is looking or the combined result of them. In the Multi-View mode you can see the combined result of the left and right cameras (when available) or the current selected camera.
- The convergence plane represents the screen as it is perceived by the audience. Visualizing it in the 3D Viewport allows you to layout your scene based on your depth script outside the camera view.
- The intersection of the stereo cameras frustums helps planning the show by avoiding elements being visible by only one camera. The volume is defined by the cameras start and end clipping distances. The areas that are in the frustum of one camera only are known as retinal rivalry areas. They are tolerated in the negative space (the region from the convergence plane into the image) but are to be avoided at all costs in the positive space (the area from the convergence plane to the camera).
Multi-View and Stereo 3D Image I/O:
Multi-View and Stereo 3D:
- Multi-View images can be saved in special formats according to the production requirements. By default the system saves each view as an individual file, thus generating as many files as views to be rendered. In stereo 3d productions, for the final deployment or even intermediary previews it’s convenient to save stereo 3d images, that are ready to use with 3D displays or simple anaglyph glasses. The formats supported match the display modes available for the window.
- Some stereo 3D formats represent a considerable loss of data. For example, the Anaglyph format will cap out entire color channels from the original image. The Top-Bottom compressed will discard half of your vertical resolution data. The Interlace will mash your data considerably. Once you export in those formats, you can still import the image back in Blender, for it to be treated as Stereo 3D. You will need to match the window stereo 3d display mode to the image stereo 3d format though.
- Some formats will preserve the original data, leading to no problems on exporting and importing the files back in Blender. The Individual option will produce separate images that (if saved in a lossless encoding such as PNG or OpenEXR) can be loaded back in production with no loss of data. For the Stereo 3D formats the only lossless options are Top-Bottom and Side-by-Side without the Squeezed Frame option.
- Another option is to use Multi-View OpenEXR files. This format can save multiple views in a single file and is backward compatible with old OpenEXR viewers (you see only one view though). Multi-View native support is only available to OpenEXR.
- After you render your scene with Stereo 3D you will be able to see the rendered result in the combined stereo 3d or to inspect the individual views. This works for Viewer nodes, render results or opened images.
- When you drag and drop an image into the Image Editor, Blender will open it as a individual images at first. If your image was saved with one of the Stereo 3D formats you can change how Blender should interpret the image by switching the mode to Stereo 3D, turning on Use Multi-View and picking the corresponding stereo method.
- The compositor works smoothly with Multi-View. The compositing of a view is completed before the remaining views start to be composited. The pipeline is the same as the single-view workflow, with the difference that you can use Image, Movies or Image Sequences in any of the supported Multi-View formats.
- The views to render are defined in the current scene views, in a similar way as you define the composite output resolution in the current scene render panel, regardless of the Image nodes resolutions or RenderLayers from different scenes.
Switch View Node:
- If you need to treat the views separately you can use the Switch View node to combine the views before an output node.
- By default when compositing and rendering from the user interface all views are rendered and then composited. During test iterations you can disable all but one view from the Scene Views panel, and re-enable it after you get the final look.
- Cycles improvements include: Long awaited (initial) support for rendering with AMD GPUs, a new Light Portals feature, a new built-in way for animated Seed, lot's of performance and memory optimizations.
Support for AMD GPUs:
- The OpenCL Cycles kernel has been split into smaller parts, improving performance and stability.
- Therefore, AMD GPUs can now be used to render with Cycles. Please check the GPU Rendering docs for more information about required hardware and supported features.
- Currently only Windows and Linux are officially supported. On OSX there are still issues, which appear from the OpenCL compiler side and we can not work around yet from Blender.
- For hardware which is not officially supported, it's possible to test split kernel work by setting the `CYCLES_OPENCL_SPLIT_KERNEL_TEST` environment variable to 1. It'll make all the OpenCL devices appear in User Preferences and will make sure split kernel is used on them.
- Area lamps can function as light portals now and help to sample the environment light, therefore improving convergence. Light portals help guide rays towards the environment light sources in interior scenes. It's like guiding rays towards openings in the scene, like for example windows. You can enable the Portal option in the lamp settings. Note: Rendering with Portals is usually slower, but as it converges more quickly, less samples are required. Every portal adds a render time penalty so use as few as possible.
Scene preparation / Rendering:
- Free caches used by the synchronized objects
- Free polygons after tessellation in order to reduce peak memory usage
- Free unused images when rendering with locked interface
- Reduce peak memory usage of scene synchronization by passing data ownership when converting derived mesh to mesh
- Synchronize images after building BVH, reducing peak memory usage in production files
- Avoid sloppy memory usage by BVH leaf nodes by splitting BVH nodes storage into inner and leaf nodes
- The memory footprint was considerably reduced when baking more than one object. The Baking-API changed to accommodate that
- World MIS table building is now multi threaded, reducing scene startup/update time.
- Skip consecutive empty steps in Volume Decoupled Ray Marching code.
- Make material preview rendering more responsive for complex shaders
- Remove Emission shaders from the graph if color or strength is 0.
- Use curve approximation for blackbody instead of lookup table
- Record all possible volume intersections for SSS and camera checks
- Use native float->half conversion instructions for Haswell CPUs
- Speedup CMJ on GPU, makes it almost same speed as Sobol pattern
- Optimize Beckmann slope sampling on GPU
- Optimize clamp(x, 0, 1) into a single instruction
- Panorama camera: Mirror ball is now available as projection.
- Make animated seed a built-in feature.
- User interface improvements include: File Browser font preview support, a new high quality option for viewport depth of field, initial support for editing values of multiple objects/bones/sequencer-strips, ability to reorder material slots, search buttons now contain an eyedropper button for accessing the eyedropper, a new way to open/close multiple panels was added.
Depth of Field:
- Better quality depth of field effect with proper blur radius calculation. It can be enabled in the camera DoF settings when DoF is enabled in the viewport
- Uses a more accurate representation of the DoF effect. Slower. Greyed out if not supported by the GPU.
Viewport Camera Blades:
- Number of blades in aperture for polygonal bokeh in the viewport
- You can now preview font files in filebrowser by enabling the thumbnail view.
- This works in much the same way as previewing images and movies. The previewed string is translatable and you're able to colorize it by setting the appropriate theme color available under "File Browser -> Theme Space Settings -> Text".
Custom Size for Previews:
- In preview display mode, thumbnails now can be resized to be "Tiny", "Small", "Normal", and "Large". This is done using a "Tumbnails Size" menu in the File Browser header.
- Initial support for editing all selected items: Holding Alt, all selected objects/bones/sequencer-strips are affected when tweaking a property from the GUI.
- Material slots can now be reordered in the UI
- This affects polygons' material indices (since polygons reference their assigned material by its material slot index).
- "Panel Drag-Collapse" allows to click and drag over multiple panels to quickly open/close them all. If the first panel was closed before clicking and dragging, all affected panels including the first one are opened, if the first one was open, all panels are closed.
- Numpad-9 now switches to the opposite side of the view
- Search buttons for choosing an object now contain an eyedropper icon as long as no object is set, that can be clicked to activate the eyedropper
- The online manual of a button can now be accessed by mouse hovering it and pressing AltF1
- Shift? Tab to enable snapping and Ctrl? Shift? Tab to open the Snap Node Element menu now also work in the Node Editor (Exit Group now uses Ctrl? Tab)
- Cycling button values (numbers, dropdowns) now uses CtrlWheel Template-MW.png, was AltWheel
- Modelling improvements include: A new Corrective Smooth modifier for smoothing deformed areas was added, the Decimate modifier was improved, Metaballs got a great performance boost, the Rip Tool has new split off options, Edge Slide sliding can now be done un-clamped, Subdivde Smooth output was improved to be more even, more options for selection.
Corrective Smooth Modifier:
- New corrective smooth modifier to smooth over ugly deformation areas.
- Flat surfaces would give poor topology.
- Improved geometry distribution for flat surfaces
- Improved quality of weighted decimate with support for scaling the weight influence
- Subdivide smooth now gives more even output
- Rip Tool: Improved support for detaching different kinds of connected regions
- Can now split off isolated faces-fans
- Can now split off non-manifold vertices
- Edge Slide: support for un-clamped sliding (Holding Alt allows to slide past bounds)
- Select linked, showing wire edges, delimiting by material. (not possible previously)
- Checker de-select now has the option to skip steps to give more control
- Select linked: Improved delimiter options and support for vertex and edge modes
- Support for different kinds of delimiters (UV, Sharp Edges, Materials)
- Select linked (LKey to pick whats under the mouse cursor) now supports redo
- Significant speedup calculating geometry (replace Octree with BVH)
- Material slots can now be reordered in the UI.
- Painting/Sculpting improvements include: Painting with symmetry is now possible, some great improvements were made for Dynamic Topology distribution, a new Dynamic Topology detail mode was added, the crease brush was improved.
Symmetry Texture Painting in 3D:
- Projection Paint now has Symmetry support.
- Access from symmetry panel (as with sculpt)
- Supports multiple axis at once
- Supports all brush types including clone
- Improved dynamic topology distribution
- Crease brush now creates a more curved profile, to sculpt tighter grooves
- New dyntopo detail mode, "Brush", uses edge detail size as a percentage of the brush radius.
- Constraining a line stroke to 45 degree increments is now done using the Alt key. Ctrl key is back to being used for negative strokes.
- Vertex Paint colors no longer influence the viewport color when painting in texture painting (except when used in the material and user toggles material shading mode)
- Animation improvements include: The new dependency graph which is the base needed for developing loads of neat features in the future (disabled by default), new features and updates aiming towards the planned workflow enhancements were made, the Action Editor got new features for unlinking Actions and to prevent unwanted/unintentional loss of data, strips in the NLA Editor now update their influence and time curves properly, new rigging tools, a bunch of Grease Pencil improvements.
- Following on from the initial stopgap measures introduced in 2.74, this release introduces some additional features and polish to flesh out the planned workflow enhancements (see the planning docs for more details about the plans).
Switch to Next/Previous Action Layer:
- With this feature (bcf1abb), it is now possible to quickly switch between different actions stacked/stashed on top of each other in the NLA Stack without having to go to the NLA Editor and doing a tab-select-tab dance, thus saving quite a few clicks. It was specifically designed with Game Animation / Action Library workflows in mind, but also helps layered animation workflows.
- Simply click on the up/down arrow buttons (between the mode selector and datablock selector) to go to the action in the NLA Track above/below the NLA Strip being whose action is being tweaked in the Action Editor.
- These still work when you're not editing the action used by a NLA Strip. If you're just animating a new action normally, it is possible to use the "down arrow" to temporarily jump down to the previous action without losing the new action you're working on, and then use the "up arrow" to get back to it once you're done checking the other action(s).
- If there are multiple actions/strips on the same layer/track, then only the one closest to the current frame will be used.
- The Next Layer/Previous Layer operators will take into account the settings to view/edit the action in isolation (i.e. Solo and NLA Muting). This was done to make it easier to preview different stashed actions.
- If moving from a solo'd NLA Track to the active action, the NLA stack will be muted so that the action can be edited in isolation.
- Likewise, if the NLA stack is muted when editing the action action, the NLA Track below it will be edited with solo enabled.
- If switching between NLA Tracks, the solo status for the previous track will be transferred to the new track.
Safety Fixes for Browse Actions Dropdown (Action Editor):
- The "browse" button in the Action Editor had a number of bugs, causing it to do "Evil Things (TM)". A number of fixes were made to fix these problems:
- When in NLA tweakmode, the Browse menu would clobber the NLA state. Now, it exits tweakmode first, before trying to assign a new active action.
- When changing away from a newly created action, this action will now get stashed in the NLA to prevent it from being lost. Although no data loss will happen now in this case, it is still recommended that previewing / switching between actions should be done using the NLA (i.e. enter tweakmode on the action you wish to preview) or Up/Down buttons (Action Editor header) instead.
Safety Features for Unlinking Actions:
- Dedicated operators have been added for unlinking actions (X) from Animation Data/Animation Editors, in place of the generic datablock unlinking that used to be performed (53f4aa7). This allows us to perform a number of additional safety checks that provide some additional protections when unlinking actions.
These protections/conveniences are:
- If the Action doesn't have any other users, there will now be a popup that data is going to get lost, with suggested ways to remedy this. It WILL NOT attempt to stash or retain that action in any way by itself.
- When in Tweak Mode, it shouldn't be possible to unlink the active action. Now, the unlink button acts as a convenient way to exit tweak mode in such cases.
Hotkeys for Entering/Exiting Tweak Mode, Changing Editors, etc.:
- Shift? Tab in the NLA Editor will enter and exit tweakmode as usual, but will also make sure that the action can be edited in isolation (by flagging the NLA track that the action strip comes from as being "solo"). This is useful for editing stashed actions, without the rest of the NLA Stack interfering.
- (Other hotkeys for switching between editors while toggling tweakmode were planned, but have not been included in this release due to a lack of time)
NLA Strips - Local Keyframes for Time and Influence Controls:
- Fixed a long standing bug (T36385) with how NLA Strip Time and Influence properties were getting animated
- Now the keyframes for these settings are added to FCurves stored on the NLA Strips themselves, instead of these being FCurves included as part of the actions included in the NLA stack as before. The old setup did not work well as there were problems with lag, as well as it being unsuitable for use with a renderfarm. This was because by the time the NLA stack has been evaluated (and thus, the FCurves for these properties that were included in an action in that stack), it would already be far too late to alter how the NLA strip time/influence values were getting interpreted.
- These can be found in the Dope Sheet/Graph Editors under the NLA Control Curves headings per datablock. These look like group channels, and they appear before all the groups/FCurves for that channel.
- Name based filtering of animation channels works in the NLA Editor too now. Enable this by toggling the magnifying glass icon in the header, and type the text to filter by in the box beside it. This is case insensitive, and does not support regular expressions or wildcards. It checks the names of the tracks and strips for matches.
- Proportional editing support has been added in the graph and editor editors, they can be toggled by using O key
- Clean keyframes has been moved to a menu in X key and is now operating only on selected keyframes.
- Auto normalization feature now uses the full range of the editor.
- View current frame operator added for action and graph editor by pressing 0 NumPad
- Name-based filtering of animation channels now updates in realtime as you type (i.e. live search)
- Double clicking on a channel selects the channel keyframes.
- Add Armature Symmetrize tool, to make make armatures symmetrical, creating bones where necessary
- Armature/Pose select hierarchy now works more predictably, always following connected bones
- The direction of bones created using the "Fill Bones" tool now point towards the active bone instead of the 3D cursor
- Several tweaks have been made to the "Propagate Pose" tool (in Blender since 2011!):
- The "Selected Keyframes" mode will apply the pose on the selected bones to all selected keyframes, instead of Blender trying to guess which ones it should fix.
- It can now be found from the toolbar and by using AltP in Pose Mode.
- Numeric input now works for the Push, Relax, and Breakdowner tools
The new Dependency Graph has landed! This commit integrates the work done so far on the new dependency graph system, where goal was to replace legacy depsgraph with the new one, supporting loads of neat features like:
- More granular dependency relation nature, which solves issues with fake cycles in the dependencies.
- Move towards all-animatable, by better integration of drivers into the system.
- Lay down some basis for upcoming copy-on-write, overrides and so on.
- The new system is living side-by-side with the previous one and disabled by default, so nothing will become suddenly broken.
- It's a bit early to consider the system production-ready, there are some TODOs and issues were discovered during the merge period, they'll be addressed ASAP. But it's important to merge, because it's the only way to attract artists to really start testing this system.
There are number of assorted documents related on the design of the new system:
There are also some user-related information online:
- Bassam's post about the depsgraph for users
- More experiments with new rigging setups
- Added hotkeys for quickly showing/hiding layers
- H hides the active layer
- ShiftH makes the active layer the only one visible
- AltH makes all layers visible
- A small and simple warning/indicator is now displayed in the top-right corner of editors when Stroke Edit Mode is enabled. This makes it easier to tell what mode you're in.
- Clicking outside the current viewport where you are drawing (e.g. on the properties panels, headers, or in another editor) will exit Continuous Drawing mode (be0dcd4). This makes it easier to work with just a pen, without needing to have a keyboard handy for pressing Escape to exit.
- With the new depsgraph enabled (using the --enable-new-depsgraph option), it is possible to use drivers on Grease Pencil properties. This is useful, as it can be used to automatically adjust the stroke thickness as the camera moves through the scene.
- Game Engine updates include: work on the physics simulation, with constraint improvements, better velocity clamping and collision masking; things have been simplified, by clarifying some options and adding a shadow box for sun lamps that'll help lighting things; Python programmers have more power, as we introduced access to more corners of the engine, and custom KX_GameObjects can now use additional initializer arguments. For details and more fixes, read on.
Level of Detail (LOD):
- A new hysteresis parameter was introduced which prevents rapid alternation between detail levels when the camera moves close to a transition distance.
Hysteresis may be set:
- Per scene, (default 10%) from the Scene context -> Level of Detail panel. This may be disabled if scene-wide hysteresis is not desired.
- Per object (default 10%) from the Object context -> Levels of Detail panel. If active, this setting will overwrite the scene hysteresis setting.
- A new "currentLodLevel" attribute was added to the Python API of KX_GameObject. The attribute returns the current lod level of the game object. This attribute may be used to manage logic routines according to the discrete lod-distance from the camera, avoiding the need to separately compute the Vector distance to the camera in Python.
- For new blend files, the scene hysteresis setting is active by default, and the object setting disabled.
- For the old blends, both hysteresis settings (per scene and per object) are set inactive by default.
- It is now possible to lock the XYZ translation components of dynamic objects via the interface in: Properties » Physics (tab) » Physics (panel)
Rigid Body Joint Constraint Replication:
- Blender now replicates rigid body joint constraints for group instances (DupliGroups).
GLSL Material Animations:
GLSL materials can finally be animated. The animatable material properties are:
- Diffuse color
- Diffuse intensity
- Specular color
- Specular intensity
- World and Mist API with GLSL Animations
GLSL world and mist and can be animated. The animatable properties are:
- Horizon color = Mist color
- Ambient color
- Mist start
- Mist depth
- Mist minimum intensity
- New world module with attributes for mist, background and ambient rendering.
Sun Lamp: New debug draw shadow box:
- Sun Lamps now have a option "Show Shadow Box" to display a debug representation the range of the lamp, providing feedback about which objects project shadows for the selected Sun Lamp
Logic Brick Sensors:
- "Frequency" parameter is renamed to "Skip" in the Logic Brick sensors as it represents skipped frames between pulses.
- A new BGE python attribute 'skippedTicks' was introduced. The old 'frequency' attribute is maintained but deprecated.
Ordering Game Properties:
- Game Properties can now be ordered with the new move up/down buttons
- A Python API for the collision group / mask has been added
- The maximum number of collision groups and masked has been increased from eight to sixteen. This means that the max value of collisionGroup/Mask is (2 ** 16) - 1
- Collision groups that do not intersect used to collide on the first frame. Now this has been fixed so that they collide appropriately.
- Additionally, EndObject will now activate objects that were sleeping and colliding with the removed object. This means that if a rigid body starts sleeping on top of another object, when the latter is removed the rigid body will activate and fall, rather than float midair as before.
- The KX_GameObject.suspendDynamics() method now has an optional boolean "ghost" argument, that (when True) disables collision detection. This effectively makes the object a ghost.
Pre-Drawing Setup Callback:
- There is a new callback available to control the drawing setup. This is useful to setup the camera matrices (model view and projection) before the drawing itself.
Python Sample Code:
- The sample scene would need a default camera (not used for rendering), a dummy camera ('Camera.VR'), and two cameras ('Camera.Left', 'Camera.Right') that will be used for the actual rendering.
PyObjectPlus Subclassing (Mutating):
- BGE Python subclassing now supports additional initialiser arguments.
Optional AddObject reference argument:
- The reference argument has been made optional for the KX_Scene.addObject function. Without a provided reference object, the original rotation, scale and position of the source object is used.
- New objects will then be added to the active layer of the scene.
New isSuspendDynamics attribute:
- This is a new KX_GameObject attribute that returns the suspended state of the game object
Correct velocity clamping:
- Velocity clamping is now applied on every physics subtick, instead of every logic tick (D1364)
New getDisplayDimensions method:
- This new rasterizer method returns the set dimensions (not necessarily the actual dimensions) of the current display device (e.g, the monitor), in pixels
Rigid Body Constraint API keywords:
- createConstraint() now accepts keyword arguments. Omitted arguments will fall back to default values
New color-management setting:
- With the color-management fix, the "Color Management" switch in the BGE "Render > Shading" panel is being removed, use the "Display Device" setting in the "Scene > Color Management" panel instead.
- Rigid body constraint API: initial values for the XYZ axis and Z rotation has been changed from 1.0 to 0.0. If these values were not set in older scripts, it is now necessary to set it on constraint creation, to get the same pivot position and rotation.
- Sequencer improvements include: A placeholder option for replacing missing frames, support for storing multiple proxies in one custom directory and a new option to store proxies per strip or per object.
- It's now possible to store multiple proxies in the same custom directory since the directory names will get appended by the movie file name
- A new option for proxy storage, "Project" allows to store all proxies in a per-project folder instead of storing them per strip
- Image sequences can use placeholder files. This works by ticking "Use placeholders" when adding an image strip. The feature detects the frame range of opened images using blender's frame naming scheme (filename.extension) and makes an image sequence with all files in between even if they are missing. This allows users to render an image sequence with a few frames missing and still the image strip will have the correct range to account for the missing frames. When the missing frames are rendered, users can refresh the sequencer and get the missing frames in the strip. The feature is also available when using the "change paths" operator and allows users to add more images to the range.
- 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:
- The Add Extra Objects Add-on got a big update
- 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
- Export of Custom Normals.
C3D motion capture data importer:
- Clarified some options, and fixed some scale issue.
- 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 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.
- A preview can be used as a custom icon in any place an icon can be used.
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.
- Access to add/remove color palettes `bpy.data.palettes`
- 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`.
- Add support for saving to Dreamworks DWA format and B44 codec
- Metadata tags include the old stamp options. The old "Stamp" panel is changed to "Metadata". Blender now will always attach metadata on output rendered image files.
- Also, the image editor and sequencer have options in their view menus to display blender related metadata.
- For the sequencer, the displayed metadata are the data attached to the upper strip in the sequence.
- Split scene simplification settings into viewport and render
- Starting early 2014, Thomas Beck (BFCT & Blender developer) shows you in his "Blender Developer Sneak Peek" video series once a month new blender features that are currently in development. Over time, many of the features found in this release were topics in the show and can be watched now everytime you like in Full HD.
Filebrowser, VSE, User Interface & Grease Pencil:
- Thumbnails: New display options (Tiny, Small, Normal, Large) 0:53
- Fonts: Previews now supported 1:40
- DoF high quality: Via the new checkbox "High quality" 2:44
- Proxy storage per strip or per project 4:44
- Use placeholders to add not-yet-rendered files 9:40
- Use Ctrl+MW to cycle values (previously Alt+MW) 12:40
- Multi object value change: Hold Alt to change the same value on multiple selected objects. 13:25
- Panel drag-collapse 15:54
- View Online Manual' Shortcut 16:44
- Add eyedropper for selecting object & obdata 17:22
- Add material slot reorder buttons - Attention, Material order changes then... 17:30
- View3D: Quad-view opposite axis switching Pressing Numpad9 now orbits to the opposite side in any viewport 19:02
- H/Shift-H/Alt-H hides and reveals Layers in Strokes Edit Mode 22:00
- Draw status indicator in top-right corner when in Stroke Edit Mode 21:19
Nodes, Rendering, Painting & Sculpting:
Nodes & Rendering:
- Snapping for Node Editor: Shift+Tab to enable it, Ctrl+Shift+Tab to open the menu, exit group now Ctrl+Tab 0:42
- Cycles: Light portals 2:50
- Cycles: Animated seed feature 9:10
- Separate scene simplification into viewport and render 10:30
- Show left/right buttons to change render layer/pass in UV Editor header 12:10
- Cycles: OpenCL kernel split, so AMD cards are now in experimental state supported 12:34
Painting & Sculpting:
- Project Paint: Symmetry support 13:40
- Allow ctrl click to do negative stroke in line strokes 14:25
- Use alt for angle constraints 15:00
- Dyntopo detail expressed in percentage of brush radius 15:43
Simplify option split:
- Scene simplification option was split into two parts: viewport settings and render settings.
- Fix T43997: Paste fcurve keeps handle selection
- Fix T44068: "Layered" option for auto keyframing doesn't "Insert Available Only" is enabled
- Fix T36385: Animated Strip-Time doesnt update
- Fix T44362: no easy way to repeatedly duplicate keyframes in action
- Fix T44558: "Clear Keyframes" complains when operating on an array property and it had deleted the action in the process
- Fix T44717: use_negative_frames ignored /w graph-editor
- Fix T44036: Add option to bake into current action instead of creating a new one
- Fix T45016: mask animation data lost after layer rename .
- Fix T44997: Partial Propagate pose on selected keyframes only included those after the current frame
- Fix unreported: Crash when trying to create new action in Shape Key DopeSheet mode
- Fix unreported: Crash when using "On Selected Markers" mode for Propogate Pose with no markers present
- Fix unreported: Drawing glitch when renaming animation channels
- Fix unreported: Action Editor: Preemptive fix for null-pointer dereference
- Fix unreported: Changing actions in the Action Editor using the Browse dropdown should happen in tweakmode
- Fix unreported: Action Editor "Browse" Fix: Stash active action if nothing else uses it
- Fix unreported: Fix: "Delete Keyframes" RMB-menu option didn't work on NLA Strip properties .
- Fix unreported: Fix: Don't show "Clear Keyframes" option in RMB menu for NLA Strip properties .
- Fix T44408: "Rest Length" property in the Stretch To constraint was getting clipped when using Metric Units
- Fix T44259: Secondary strokes get terminated early when drawing in Continuous Drawing mode
- Fix T44412: Crash when trying to paint on a GPencil frame when the frames are out of order
- Fix T44452: Inconsistent gpencil color in prefs
- Fix T43867: Clicking outside the viewport exits now Grease Pencil "Continous Draw" mode
- Fix T29029: Grease pencil fails in Quad View
- Fix T44685: In grease pencil stroke editing, selecting points is offset by a few pixels
- Fix T44084: Cursor gets reset after MMB scrolling in another area while in GPencil Continous Draw Mode
- Fix T44774: Grease Pencil eraser size reset after exiting session
- Fix unreported: Grease Pencil and negative frames
- Fix unreported: "show_points" setting for Grease Pencil drawing didn't work
- Fix T45051: Curve parent bug .
- Fix unreported: Fix wrong proxy pointer hanging around after making all local
Data / Geometry:
- Fix T44219: Pose Breakdowner bug in Gooseberry rigs
- Fix T43711: dual quaternion deform bug with shearing in deform matrix.
- Fix T44591: Set PBone Group operator did not handled predifined group index in its invoke func.
- Fix unreported: Glitch scaling bone radius
- Fix unreported: parent tips staying selected after separate
- Fix T44186: Bezier Bevel facto mapping broken when 'start' was set to 'Resolution' and 'end' was not.
- Fix T44213: Bevel object from different scene won't update generated bezier curve geometry
- Fix T44737: Missing 'Spin' op entry in surface (NURBS) tools/menu.
- Fix T44497: Crash on deleting curve handle with hook modifier
- Fix T44991: Apply transform skips poly-radius
- Fix T39184: Multisegment bevel profiles should curve in-plane sometimes.
- Fix T43975: Deleting a Shapekey can break the relative pointers
- Fix T44027: Normal Edit Mod : Radial from object normals affected by target object scale.
- Fix T44138: Crash in DataTransfer modifier when selecting a source with no loops
- Fix T44270: Similar face region crash /w wire edge
- Fix T44275: CTRL+LMB to extrude to mouse position conflicts with snapped
- Fix T44258: Can't select similar regions
- Fix T44364: Remove shape key crashes Blender
- Fix T44359: `mesh_normals_loop_custom_set()` would not behave correctly with zero-normals.
- Fix T44411: poll() function of MESH_OT_knife_project was not strict enough. (
- Fix T44419: extruding when using lasso deselect
- Fix T44383: Select face fails in some positions
- Fix T44461: Crash and file corruption after calc_normals_split, calc_tessface execution.
- Fix T44492: knife tool should cut across a split edge.
- Fix T44522: loop remapping between meshes when using 'nearest vert, best matching normal' modes
- Fix T44542: 'extend selection' editmode tool would select hidden elements.
- Fix T44484: Edge-split corrupts mesh
- Fix T44560: Merge Collapse tool - UVs operator panel option ignored with Collapse but not with other merge types.
- Fix T44589: No way to add a skin data layer manualy.
- Fix T44618: Rip Fill on a single vert would only generate one of the two expected faces.
- Fix T44634: Slide edge not responding to ALT + WHEEL to change reference edge in "even mode".
- Fix T42510: Limit by seams fails in edge/vert mode
- Fix T44766: Connect fails /w selected ngon edges
- Fix T44780: Decimate planar creates concave edges
- Fix T44745: non manifold edges of mesh do not work when smoothing in
- Fix T44915: vertex color lost when adding new layer in edit mode.
- Fix T44742: Bevel now avoids vertex meshes when only two edges are beveled.
- Fix T41177: Bevel shouldn't try to slide along edge when can't see it.
- Fix T44964: Bisect tool /w nonuniform scale
- Fix T45009: Bad 'tri area computation' code in knife tool.
- Fix T45096: Bad UVs /w EdgeSlide & zero-area faces
- Fix T44320: UV island overlap considered linked
- Fix unreported: Incorrect assert in lnor code.
- Fix unreported: BMesh: use inverse-square falloff /w smooth-subdiv
- Fix unreported: Data transfer - Loop Islands Hell Fixes.
- Fix unreported: Crash with datatransfer operator when source object was hidden.
- Fix unreported: EdgeSlide: fix divide by zero
- Fix unreported: BMesh: decimate wasn't using face/edge centers
- Fix unreported: Mesh mirror failing on isolated verts
- Fix unreported: join faces ignoring angle limit
- Fix unreported: error joining tris -> quads
- Fix unreported: crash clearing skin data on non mesh
- Fix unreported: Correct vert/edge slide poll functions
- Fix unreported: Fix error calculating bmesh normals )
- Fix unreported: Fix crash transforming UV /w PET-connected mode
- Fix T44361: array modifier "fit curve" mode not working properly
- Fix T44475: Merge option of Mirror Modifier behavior reversed.
- Fix T44530: UV islands fail on subsurf after mirror modifier.
- Fix T42893: Skin Modifier, changes randomly toggling editmode
- Fix T44630: incorrect mirror modifier merge limit tooltip.
- Fix T44611: 'make_links_data' modifiers would fail and crash with multires modifier.
- Fix T44677: Normal Edit Modifier Radial Mode broken with target object.
- Fix T39775: Skin modifier crash
- Fix T44879: data transfer modifier was missing a copy function
- Fix T36994: Make link modifier fails (soft body)
- Fix unreported: modifiers stack not recalculated when mapping requirements change
Physics / Simulations / Sculpt / Paint:
- Fix T44183: particles in linked group offset from object
- Fix T44268: too many virtual parents + non-100 display% = crash
- Fix T44353, T43981: random particle distribution overlaps if number is greater than 256.
- Fix T44593: particle volume distribution not working with large meshes.
- Fix unreported: Crash when using particle emission with clump/roughness curves
- Fix unreported: Yet another fix for crashing particles.
- Fix unreported: Missing particles in render if they're disabled for viewport
Physics / Hair / Simulations:
- Fix T43803: Crash playing smoke animation, when linked as group instance
- Fix T44020: Crash exporting fluid sim to fbx
- Fix T43694: Hair Clumps Point to Scene Center When Density is Texture-Controlled.
- Fix T44193: Hair intersection with duplis causes flickering
- Fix T44185, T44090: hair texture density working unreliable.
- Fix T44960: Crash with 'Shape Cut' in edit hair mode.
- Fix unreported: Unstable particle jittered distribution.
- Fix unreported: rare crash duplicating fluidsim
Sculpting / Painting:
- Fix T43959: jittering in 2D texture painting.
- Fix T44124: Crash deleting brush
- Fix T44308: painting in 2D editor offset by one pixel.
- Fix T44390: Clay brush weirdness part-1
- Fix T41893: inconsistent color management on sculpt texture nodes previews.
- Fix T44627: locking alpha should happen in straight space
- Fix T44627: black spots with lock alpha in projection paint:
- Fix T44604: bad quality of rake with bezier curves.
- Fix T44543: painted texture lost after first save
- Fix T44553: Dyntopo ignores front-face option
- Fix T44791: triangles when painting on a texpaint plane
- Fix T44929, T44927: inconsistencies in texture paint UI
- Fix T45013: negative curve falloff not working.
- Fix T45060: Brush size snaps back to default max .
- Fix unreported: Fix adding to paint-curves from the first point
- Fix unreported: BMesh: resolve skinny face artifacts /w dyntopo
- Fix unreported: Fix project painting on a negative scaled object
- Fix unreported: Rake: store last position from mouse, don't store halfpoint between last
- Fix unreported: Fix project paint worldspace coord calc from seam
Image / Video / Render:
Image / UV Editing:
- Fix T44035: Proportional editing lag
- Fix T44282: Image sampling line disappears after a while
- Fix T44320: selecting islands can fail.
- Fix T44351: Scopes make editmesh lag
- Fix T44724: missing menu entries for 'view fit' (F) in clip/image editors.
- Fix T44823: No menu entry for Circle Select in UV/Image editor.
Movie Clip Editor:
- Fix T44110: Plane track doesn't work when built with scons
- Fix T44752: Clip Editor doesn't respect ColorSpace setting when playback after Prefetch
- Fix T45017: Crash when running 'track markers' operator with no clip loaded.
- Fix unreported: Fix bad memory access freeing viewport which uses movie clip
- Fix unreported: Deselecting with shift-LMB does not work in graph view
- Fix unreported: Selecting curves in graph view always extends tracks selection
Nodes / Compositor:
- Fix T43974: Alpha output of movie clip node crashes blender (rBc4b3b60aad)
- Fix T44040: Blender crashes when nodes are muted
- Fix T44064: Reroute two-node loop crash
- Fix T44149: Node Groups do not work correctly
- Fix T44343: Compositor image node cannot properly load multilayer EXRs
- Fix T44494: crop node changes values during execution.
- Fix T44624: world menu appears in node editor header with Blender internal.
- Fix T44398: Compositing displace node makes image fuzzy with zero displacement
- Fix T44683: Unable to mute movie clip when using stabilized display
- Fix T44715: crash compositing with undefined node due to re-save in older version
- Fix T44755: set_value node output in node tree not properly converted to Fix T44795: same menu item for different command in node editor.
- Fix T44747: Drag toggle /w nodes (glitch)
- Fix T44921: Node editor, nodes position not maintained after Material panel changes
- Fix T44871: Blender hangs when using masking, dilate-erode and soften node.
- Fix unreported: Patch D1283 by Alexander Romanov fixes reroute node type update not
- Fix unreported: Updating node standard value won't work if node is hidden, patch by
- Fix unreported: Node Editor using wrong snap element menu when called from shortcut
- Fix T44021: Crash switching Rendering Engines while viewport rendering + animating
- Fix T44028: Vertex Colors Baking error
- Fix T44102: Mirrored objects render black with Blender Internal and Autosmooth. Fix T44240: Lamp Halo invisible in rendering.
- Fix T43696: Baking tearing normals
- Fix T44310: Other render slots cleared after each render
- Fix T44322: Crash when trying to render spotlight halos.
- Fix T44329: Blender Crash when rendering in 3DView.
- Fix T41092: Bake-API: reduce memory footprint when baking more than one object
- Fix T44541: aka gigapixel image render support in blender.
- Fix T44556: Crash on the World Properties > Preview
- Fix T44598: blender internal not giving same result on repeated texture bakes.
- Fix T44880: transparency filter is only valid with raytransp, not ztransp.
- Fix T44869: Crash rendering >2gb images
- Fix T44984: wrong texture clamping when applying saturation > 1.0
- Fix T44682: Save Buffers canceled renders show nothing in Image Editor .
- Fix unreported: Race condition and bad memory access highlighting render tiles
- Fix unreported: Opengl rendering always looking through camera
- Fix T43967: Background is wrong in 2.74
- Fix T43786: Cycles bake disregards Auto Smooth (vertex per-face normals)
- Fix T43926: Volume scatter: intersecting objects GPU rendering artifacts
- Fix T44128: Ray visibility only enables diffuse if glossy is also enabled
- Fix T44113: Ashikhmin-Shirley distribution of glossy shader at 0 roughness causes artifacts when background uses MIS
- Fix T44222: Crash using pointiness attribute for volume shaders
- Fix T44046: Cycles speed regression in 2.74 (CPU only)
- Fix T44449: sm_52 kernel missing in CMake builds.
- Fix T44512: Cycles fails normal bake /w scale flip
- Fix T44544: Cached BVH is broken since BVH leaf split
- Fix T44548: Cycles Tube Mapping off / not compatible with BI
- Fix T44616: Cycles crashes loading 42k by 21k textures
- Fix T44763: Surface Panel does not update correctly according to Node Output for Cycles UI
- Fix T44989: Crash on linking external OSL material
- Fix T41870: Cycles OSL - Changing rotation value in anisotropic shader crashes Blender .
- Fix unreported: Fix displacement code creating cyclic dependencies in graph
- Fix unreported: Fix wrong render result in certain configuration of render layer's surface/hair
- Fix unreported: Fix wrong order in object flags calculations
- Fix unreported: Fix wrong termination criteria in SSS volume stack update (rB7aab5c6ca9)
- Fix unreported: Fix possible uninitialized XML read state which might cause crashes
- Fix unreported: missing features gathering from the bump graph
- Fix unreported: crash doing render preview of external OSL script
- Fix unreported: wrong name displayed for the debug passes
- Fix unreported: Cycles: Fix missing node distance update when only two child intersected in QBVH.
- Fix T44127: Python does not guarantee to free all objects on exit...
- Fix T44404: freestyle crashes blender.
- Fix T44404: freestyle crashes blender.
- Fix unreported: Fixed a crash due to missing call of StrokeShader.__init__() in Python.
- Fix unreported: Line style ID datablo