December 2, 2020, 19:27 (GMT) |
Asset Browser: Support dragging assets and appending on drop Idea is simple: When dragging an asset, store the source file-path and data-block name and when dropping, append the data-block. It uses existing drop operators, but the function to get the dropped ID is replaced with one that returns the local ID, or, in case of an external asset, appends the ID first. Note that I expect this to be a short-lived change. A refactor like D4071 is needed to make the drag & drop system more future proof for assets and other use cases. Differential Revision: https://developer.blender.org/D9721 |
December 2, 2020, 18:41 (GMT) |
Nodes: add Collection socket type The implementation of this socket works almost the same as object sockets. I did not define a color for this socket yet (it's black for now). |
December 2, 2020, 17:48 (GMT) |
Merge branch 'greasepencil-object' into greasepencil-io |
December 2, 2020, 17:47 (GMT) |
Merge branch 'master' into greasepencil-object |
Revision 064bf63 by Alexander Gavrilov December 2, 2020, 17:25 (GMT) |
tweak: copy transforms |
Revision 1eae309 by Alexander Gavrilov December 2, 2020, 17:24 (GMT) |
Copy Transforms: implement Invert, Fix Shear and more Mix options. This constraint can be naturally viewed as a prototype for a future 4x4 matrix math node (or subset thereof), since its basic semantics already is matrix assignment. Thus it makes sense to add math options to this constraint to increase flexibility in the meantime. This patch adds support for several operations that would be useful: - An option to fix shear in the incoming target matrix. - An option to invert the target matrix. - More ways to combine target and owner matrix. Shear is known to cause issues for various mathematical operations, so an option to remove it at key points is useful. In the future node system this would be a separate operation, but due to the limits of the constraint stack it has to be built in for now. Inverting a matrix is also an operation that can be useful to have. For some uses it may be useful to invert components separately, so implement this by checking the Mix mode setting to avoid UI options. Finally, add two more ways to combine the matrices (multiplied by two due to the necessity for the Before/After choice). Now there are three combine modes: Full implements regular matrix multiplication as the most basic option. Split Channels combines location, rotation and scale separately. Looking at D7547 there is demand for such a mode in some cases, and even with nodes it's cumbersome to rig manually every time. Finally, Aligned emulates the 'anti-shear' Aligned Inherit Scale mode, and basically uses Full for location, and Split for rotation/scale. Differential Revision: https://developer.blender.org/D9469 |
Revision 06f6f4a by Alexander Gavrilov December 2, 2020, 17:24 (GMT) |
Limit Rotation: add an Euler Order option and orthogonalize the matrix. Since Limit Rotation is based on Euler decomposition, it should allow specifying the order to use for the same reasons as Copy Rotation does, namely, if the bone uses Quaternion rotation for its animation channels, there is no way to choose the order for the constraint. In addition, add a call to orthogonalize the matrix before processing for the same reasons as D8915, and an early exit in case no limits are enabled for a bit of extra efficiency. Since the constraint goes through Euler decomposition, it would remove shear even before the change, but the rotation won't make much sense. Differential Revision: https://developer.blender.org/D9626 |
Revision 4efa126 by Alexander Gavrilov December 2, 2020, 17:24 (GMT) |
Constraints: add support for a new Owner Local Space for targets. Add a new transformation space choice for bone constraints, which represent the local transformation of the bone in the constraint owner's local space. The use case for this is transferring the local (i.e. excluding the effect of parents) transformation of one bone to another one, while ignoring the difference between their rest pose orientations. Owner Local Space replaces the following setup: * A `child` bone of the `target`, rotated the same as `owner` in rest pose. * A `sibling` bone of the `target`, positioned same as `child` in rest pose and using Copy Transforms in World Space from `child`. * The `owner` bone constraint uses Local Space of `sibling`. Differential Revision: https://developer.blender.org/D9493 |
Revision 42da073 by Alexander Gavrilov December 2, 2020, 17:24 (GMT) |
Refactor the Custom Space patch. Instead of modifying all the get_constraint_targets and flush_constraint_targets callbacks, introduce wrapper API functions and handle the new reference there. Also, it is not needed to do all the target dance to compute the space_obj_world_matrix. |
December 2, 2020, 17:24 (GMT) |
Add Custom Space to Constraints Constraints can currently only use World Space, Local Space, Pose Space, Local with Parent. This patch adds Custom Space with a custom object to define the evaluation space. The Custom Space option uses the Local Space of an other object/bone/vertex group. If selected on owner or target it will show a box for object selection. If an armature is selected, then it will also show a box for bone selection. If a mesh object is selected it will show the option for using the local space of a vertex group. It looks like this in the UI: {F8731291} The motivation for this patch is the following situation. If you have a copy location constraint in your armature you are already limited when you want to use a specific axis. It can be done, but its unneccessarily difficult (as far as I know). But the situation is close to impossible as soon as you have a root bone in your armature (which I was told you always want). I need to only copy the location along a custom axis for a lot of things. The same goes for copy rotation/scale and all the limit constraints because I need to make that axis relative to the root bone transform. Here is a demo video: {F8498960} This is the file of that video: {F8647541} This is the file for the tests included in this patch: {F8699677} File intended for acceptance test: {F8879818} Reviewed By: #animation_rigging, sybren, Severin, angavrilov Differential Revision: https://developer.blender.org/D7437 |
December 2, 2020, 17:24 (GMT) |
Asset Browser: Various changes for previews * Operator to set a custom data-block preview. Copies an image from a selected path to the ID's preview buffer. * Object preview support (threaded). Creates a localized copy of the object, creates a temporary main, scene, view-layer and depsgraph, uses the "Frame Selected" logic to place a camera in front of the object, and renders that offscreen. * Support defining (not necessarily rendering) icons in threads. Needed so the File Browser can expose file previews with an icon-id to scripts. ** For that, ported the C++ to be able to use scope based mutex locks. ** Also support ImBuf icons. * Tag previews as "unfinished" while they render in a thread, for the File Browser to dynamically load previews as they get finished. * Better handle cases where threaded preview generation is requested, but the ID type doesn't support it (fallback to single threaded). Differential Revision: https://developer.blender.org/D9719 |
December 2, 2020, 16:50 (GMT) |
AlembicProcedural: add a socket for the objects |
December 2, 2020, 16:26 (GMT) |
Asset Browser: "Make Asset" operator and UI integration Exposes "Make Asset" in Outliner context menus and button context menus. The Outliner can tell operators which IDs are selected via a new "selected_ids" context member. We can use that for more operators and editors in future. Other UI code can set a new "focused_id" context member (automatically done for ID pointer property buttons). That way, data-block search menus or other buttons representing a data-block (e.g. materal slots) can hand an ID to operators via context. Differential Revision: https://developer.blender.org/D9717 |
December 2, 2020, 16:25 (GMT) |
Fix crash in outliner on cursor hover The previous commit surfaced a bug introduced in rBab4654cdfe8f in which a boolean wasn't initialized to false. |
December 2, 2020, 16:21 (GMT) |
cleanup, format |
Revision 390c4ef by Jacques Lucke (geometry-nodes, geometry-nodes-distribute-points, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) December 2, 2020, 15:58 (GMT) |
Merge branch 'master' into geometry-nodes |
December 2, 2020, 15:58 (GMT) |
Outliner: Highlight icons on cursor hover The icons for collapsed children already draw highlighted when hovered. Because the item icons are now select targets (for outliner to properties editor tab switching) this adds highlights on hover for all outliner element icons. |
December 2, 2020, 15:54 (GMT) |
add support for reading face sets |
December 2, 2020, 15:44 (GMT) |
Cleanup: Store "is_active" instead of pointer property in panel type This is consistent with the way other panel type fields are stored. |
December 2, 2020, 15:42 (GMT) |
Asset Browser: "Make Asset" operator and UI integration |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021