Add Lattice Magic to Addons #48

Merged
Nick Alberelli merged 36 commits from feature/lattice_magic into main 2023-05-17 20:48:52 +02:00
Showing only changes of commit 2809210b19 - Show all commits

View File

@ -17,15 +17,13 @@ This is meant to be possible to be used in conjunction with a character rig: Bef
### Deletion ### Deletion
If you want to delete a lattice, don't just delete the empty object that was created for you. This would leave behind a big mess of broken modifiers and drivers which will cause tremendous error printing spam in your console/terminal. Instead, use the "Delete Tweak Lattice" button. If you want to delete a lattice, don't just delete the empty object that was created for you. This would leave behind a big mess of broken modifiers and drivers which will cause tremendous error printing spam in your console/terminal. Instead, use the "Delete Tweak Lattice" button.
### Adding/Removing objects ### Adding/Removing meshes
When creating a lattice, it will affect all mesh objects which were selected at the moment of its creation. When creating a lattice, it will affect all mesh objects which were selected at the moment of its creation.
If you want more objects to be affected by a single lattice, you don't need to delete it and re-create it. Just select the objects you want to be affected, then finally select the lattice control. There will now be an "Add Selected Objects" button, which should do what it says. If a selected object was already affected by the lattice, it won't be affected. If you want more meshes to be influenced by a lattice, you don't need to delete it and re-create it with a different selection. Just select the objects you want to add to or remove from the lattice's influence, then finally select the lattice control. There will now be an "Add Selected Objects" and "Remove Selected Objects" button.
Removing objects from being influenced works exactly the same way.
### Going under the hood ### Going under the hood
With the lattice control selected, you can see a "Helper Objects" section in the UI. This lists two objects which are taking care of things under the hood. If you want, you can enable them with the screen icon, which will let you mess with them. This should rarely be necessary though. With the lattice control selected, you can see a "Helper Objects" section in the UI. This lists two objects which are taking care of things under the hood. If you want, you can enable them with the screen icon, which will let you mess with them. This should rarely be necessary though, and you should only do it at your own risk, since there's no way to get these back to their original states once modified.
# Camera Lattice # Camera Lattice
@ -34,12 +32,14 @@ Camera Lattice lets you create a lattice in a camera's view frame and deform a c
![](docs/camera_lattice.gif) ![](docs/camera_lattice.gif)
### Creation ### Creation
At first the Camera Lattice UI just shows an empty list. You can add an entry with the + icon. Each entry corresponds to deforming a single collection with a single lattice object from the perspective of a single camera. Add an entry to the Camera Lattice list with the + icon. Each entry corresponds to deforming a single collection with a single lattice object from the perspective of a single camera.
You must select a collection and a camera, then hit Generate Lattice. Note that you cannot change the resolution after the fact, so find a resolution that you're happy with, as you will be locked into that. You must select a collection and a camera, then hit Generate Lattice. Note that you cannot change the resolution after the fact, so find a resolution that you're happy with, as you will be locked into that.
### Parenting ### Parenting
Although on creation, the lattice is parented to the camera, you can feel free to remove or change this parenting to your heart's desire, it shouldn't cause any issues. The lattice object also has a Damped Track constraint, the same applies there: You can remove it if you want. On creation, the lattice is parented to the camera. You can feel free to remove or change this parenting to your heart's desire, it shouldn't cause any issues. The lattice object also has a Damped Track constraint, the same applies there: You can remove it if you want.
Just remember, there's no reset button for these sort of things.
### Animation ### Animation
Feel free to animate the lattice in object mode as you wish, although unless the above mentioned Damped Track constraint is enabled, you will only be able to rotate it on one axis. Feel free to animate the lattice in object mode as you wish, although unless the above mentioned Damped Track constraint is enabled, you will only be able to rotate it on one axis.
@ -47,16 +47,17 @@ Feel free to animate the lattice in object mode as you wish, although unless the
Animating the lattice's vertices is possible using shape keys. The addon provides some UI and helper operators for this, but at the end of the day it's up to you how you organize and keyframe these shape keys. Animating the lattice's vertices is possible using shape keys. The addon provides some UI and helper operators for this, but at the end of the day it's up to you how you organize and keyframe these shape keys.
The intended workflow is that a shape key should only be active for a single frame. To help with this, shape keys are named when they are added, according to the current frame. There are also some buttons above the list: The intended workflow is that a shape key should only be active for a single frame. To help with this, shape keys are named when they are added, according to the current frame. There are also some buttons above the list:
- Zero All Shape Keys: Operator to set all shape key values to 0.0. This does not insert a keyframe! - Zero All Shape Keys: Operator to set all shape key values to 0.0. This does not insert a keyframe!
- Keyframe All Shape Keys: Operator to inserts a keyframe for all shape keys on the current frame with their current value. - Keyframe All Shape Keys: Operator to insert a keyframe for all shape keys on the current frame with their current value.
- Update Active Shape key: Toggle to automatically change the active shape key based on the current frame. - Update Active Shape Key: Toggle to automatically change the active shape key based on the current frame. Useful when switching into edit mode quickly on different frames.
Note that Blender is not capable of displaying the effect of multiple shape keys on a lattice at the same time, which is another reason to go with the intended workflow, since that will always only have one shape key active at a time.
### Deletion ### Deletion
Similar to Tweak Lattice, never ever delete a lattice setup the usual way by simply pressing the X or Del keys, as this will leave behind a huge mess that Blender won't be happy about. Instead use the various ways of deletion in the addon's own UI: The "Delete Lattice" button, or the "-" (minus) button in the top list. Similar to Tweak Lattice, never ever delete a lattice setup by simply pressing the X or Del keys, as this will leave behind a huge mess. Instead, use the "Delete Lattice" button, or the "-" button in the top list.
Note: If you want to delete a lattice, make sure to do it through the addon's UI, which is in the sidebar. This will make sure to delete all modifiers, drivers and animation datablocks that were created along with the lattice.
### TODO ### TODO
Some things not implemented yet: Some ideas that could be implemented for Camera Lattice:
- Automatically inserting new shape key in the correct place in the list. Eg., when Frame 1 and Frame 10 already exist, creating a shape key on Frame 5 should insert it in between them. - Automatically inserting new shape key in the correct place in the list. Eg., when Frame 1 and Frame 10 already exist, creating a shape key on Frame 5 should insert it in between them.
- Adding or removing objects to the influence of the lattice is not currently possible. - Adding or removing objects to the influence of the lattice is not currently possible.