December 11, 2020, 10:39 (GMT) |
Small fixup |
Revision 4a2f74c by Alexander Gavrilov December 11, 2020, 08:53 (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 29cafa6 by Alexander Gavrilov December 11, 2020, 08:53 (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 69d2227 by Alexander Gavrilov December 11, 2020, 08:53 (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`. (This analogy applies provided both bones use Local Location) Since the space list is getting long, this adds a couple of separators. Differential Revision: https://developer.blender.org/D9493 |
Revision 90002da by Alexander Gavrilov December 11, 2020, 08:48 (GMT) |
Constraints: refactor the D7437 patch adding Custom Space for constraints. As mentioned in the comments to that patch, I had an idea for a different way to do some technical aspects, but it was too complicated to force changes in the original patch. Thus I submit this follow up patch. First, instead of modifying all the get_constraint_targets and flush_constraint_targets callbacks, introduce wrapper functions for accessing constraint targets, convert all code to use them, and handle the new reference there uniformly for all constraints. This incidentally revealed a place in the Collada exporter that didn't clean up after retrieving the targets. Also, tag the special target with a flag so other code can handle it appropriately where necessary. This for instance allows dependency graph to know that the Use B-Bone Shape option doesn't affect this specific target. Finally, rename and simplify the function for initializing the custom space, and make sure it is called everywhere necessary. Differential Revision: https://developer.blender.org/D9732 |
December 11, 2020, 05:20 (GMT) |
Use new UI data system for nodes modifier |
December 11, 2020, 04:41 (GMT) |
Mainly finish versioning code |
December 11, 2020, 02:02 (GMT) |
USD importer: import shapes as empties. Added support for importing USD shapes (e.g., sphere, cube, etc.) as Blender empty objects, to allow visual debugging of transforms. Eventually, this logic will be extended to create meshes corresponding to the actual shapes. |
Revision d33b874 by Dalai Felinto (temp-geometry-nodes-distribute-points-cleanup) December 11, 2020, 00:58 (GMT) |
Updated status (and small cleanup) The code is working fine until the heap. [x] Tiling [x] Weighting [-] Heap: Implemented but producing a different result than with cyHeap [ ] Progressive |
December 11, 2020, 00:56 (GMT) |
Merge branch 'master' into refactor-idprop-ui-data |
Revision 47b7f77 by Dalai Felinto (temp-geometry-nodes-distribute-points-cleanup) December 11, 2020, 00:51 (GMT) |
Move the tiling code to its own function |
Revision 7be999b by Dalai Felinto (temp-geometry-nodes-distribute-points-cleanup) December 11, 2020, 00:26 (GMT) |
Big fix: was using size_t instead of float |
Revision 4d0d1e1 by Dalai Felinto (temp-geometry-nodes-distribute-points-cleanup) December 10, 2020, 23:48 (GMT) |
Credit in the top of the file |
Revision dca0821 by Dalai Felinto (temp-geometry-nodes-distribute-points-cleanup) December 10, 2020, 23:47 (GMT) |
Cleanup: Remove unused function |
December 10, 2020, 23:46 (GMT) |
Use the correct function for the min distance |
December 10, 2020, 23:44 (GMT) |
cySampleElim: remove unused code and cleanup |
December 10, 2020, 23:28 (GMT) |
Temporary - to be rewritten soon |
December 10, 2020, 19:27 (GMT) |
Merge branch 'temp-review-asset-browser-ui' into asset-browser |
December 10, 2020, 19:19 (GMT) |
Merge branch 'temp-review-asset-filelists' into temp-review-asset-browser-ui |
December 10, 2020, 19:11 (GMT) |
Fix crash when splitting area with invisible file browser data |
|