In a quick glance: (temp image)
http://www.blender.org/bf/rt.png
Main reason is that Lattices are useful a lot for Armature deformation.
Lattices just provide much more precise and interesting control. However,
with only bone envelopes it's very hard to use.
Working with Lattice vertex groups is nearly identical to Mesh:
- on CTRL+P 'make parent' you can choose the deform option now
- In editmode, the buttons to control vertex groups are available
- In outliner you can select vertexgroups too
- Deforming Lattices with Armatures has all options as for Mesh now.
Note:
- No WeightPaint has been added yet. To compensate, the editmode
drawing for a Lattice with vertex group shows weight values for the active
vertex group.
- Lattice editmode doesn't undo/redo weight editing yet.
- Softbody for Lattice still uses own vertex weights
Implementation notes:
- derivedmesh weight_to_rgb() is now exported to drawobject.c
- been doing cleanups in code (order of includes, var declarations, etc)
- weightpaint button handling now is generic
I've checked on Brecht's proposal for Custom Element data;
http://mediawiki.blender.org/index.php/BlenderDev/CustomElementData
It could have been used, but that would mean the existing code for
vertexgroup handling and armature deform couldn't be re-used. I guess this
is really a later todo.
object. groupTarget tells the animation system which object within a
dupligroup should be used for NLA. Equivalent to filling in the "target"
field in the NLA N-key panel.
Set groupTarget to None to remove the target.
Also, cleaned up some bad copy and pastes in existing NLA docs.
Also, cleaned up some bad copy and pastes in existing NLA docs.
Fix uninitialized pointer bug in ActionStrips.remove(), caused by too zealous
code optimization and insufficnet gcc warning flags. Thanks to Roland for
catching it.
animation. Object.enableNLAOverride=True sets to use NLA;
Object.enableNLAOverride=False sets to use active Action;
status=Object.enableNLAOverride shows current status
New API for accessing surface data (SurbNurb type). Right now it's hooked in
through the Curve API, since Curve.Get() doesn't differentiate between curves
and surfaces. If the curve object is 2D (pntsv > 1), the SurfNurb object is
created.
It is similar to the CurNurb type but not identical. There are only
attributes and no methods yet, and the only methods which will be added are
the non-getStuff/setStuff kind. Read the documentation to see how it works
(sorry, no examples yet).
This is a work in progress. Don't be surprised if the API changes some more.
More additions for Mesh.faces.extend(); allow faces with 2 verts or duplicate
verts to remain in the input list (although they are still not added to the
mesh) so that indexList option can return None for them. The goal is for all
faces which are discarded to still be ignored but return None.
New keyword parameters for Mesh.faces.extend() method:
* ignoreDups: turns off checks for duplicate faces in the input list and
existing mesh faces. Intended for constructing new meshes where the
faces are known to be unique.
* indexList: makes the method return a list of new faces indices, which
can be used to index new faces to add other attributes like color. If
duplicate faces are removed, None is placed in their list slot.
(inverted, normalized, transposed)
making an inverted copy of an objects matrix used to be.. (2.42)
imat= Mathutils.Matrix(ob.matrixWorld)
imat.invert()
# inverted.. I added but now removed
imat= ob.matrixWorld.inverted()
# with copy (current functionality)...
imat= ob.matrixWorld.copy().invert()
Long-awaited refactor of Object module. Should not break backward
compatibility -- at least it didn't in my tests -- but I'm requesting users
to put it through heavier testing and report problems through the bug
tracker.
- It saves a file with indicated type on each change, with number
appended denoting the current frame (like ANIM saving).
- Output filename button supports relative paths ("//")
- Shows optional preview image too
- For now, added a print on each file save as feedback
To make this option work nicely, changed the BKE_makepicstring() function
to have less globals inside, so it is more generic. Todo: allow amount of
digits in filenames to be set (to support files like tmp_123456.jpg)
* Renamed Text3d.Font.New() to Text3d.Font.Load() since New was acring like load anyway.
* Text3d.Font.Get() was just calling Text3d.Font.New(),
made it get from a name or return a list of all fonts.
* implimenetd getsetattrs
* removed references to bones in the error messages
* added users variable
* renamed name to filename and added access to id.name