If you define multiple RenderLayers with different view-layers, these
view-layers are rendered entirely, not looking at the faces that are
invisible. This allows layered composite, but only when geometry does
not intersect or overlap partially.
This new Renderlayer option "All Z values" will fill in the Z of not
visible faces (in the Scene view-layers) as well, which then allows
masking out as if these faces were set to Material option "Env".
Here's an example composite to show the effect:
Two cubes, in view-layers 1 and 2, and rendered in 2 RenderLayers:
http://www.blender.org/bf/all_z0.jpg
Same scene, but with both RenderLayers set to "All Z values":
http://www.blender.org/bf/all_z.jpg
Added to existing scn.objects
scn.objects.active (get/set the active object for the scene)
scn.objects.selected - an iterator that only uses selected objects
scn.objects.context - an iterator on objects in the user context (visible in the current 3d views layer and selected)
These are the same type as scn.objects but .add() .remove() .new() .active etc raise errors. so scn.objects.selected.add() will raise an error.
Made nested loops possible with scn.objects, metaball.elements and ob.modifiers, by initializing the iter value as NULL and creating copys of the pyobject when _getIter() is called if ->iter is not NULL.
This is how pythons xrange() works.
Previously had Vertex snapping in knife tool adjustable by the 'threshold'
value in the 'Mesh Tools' panel. This was actually a misunderstanding on
my part of a user request (oops). What was really needed was to make the
sensitivity of intersection code for vertex cutting adjustable. Vertex Snap
is now set at same tolerance as vertex selection.
feature. Old files that had "sticky" set would not show "sticky" under
the new system. Not that anyone ever actually used "sticky".
Also, these commits only add support for rotated external target objects,
not target bones inside the same armature.
making it much more useful. Requested and taunted for frequently by
Plumiferos folks. Click on "Use Rot" to take target object rotations
into account.
Good for using rotated empties, etc., as a sloped floor.
This made nested loops with the same python object mess up.
eg-
faces= me.faces
for f1 in faces:
for f2 in faces:
print f1.index,f2.index
This didnt work, fixed by initializing the iter value at -1, so any greater value will create a new BPyObject with its own iter value.
once iteration is finished, its set back to -1.
Also made face and edges iter value a char instead of an int to save some memory.
Cutting through vertices and vertex snap was only supported in
'knife exact' mode. Now works for 'Knife Midpoint' as well.
(Multicut and vertex cutting would require N-Gons)
When using a particle system in a dupli-group, and the group is in the
current scene but not visible, the particles are calculated on wrong
position. This is the recurring trouble with particle calculating... which
doesn't do despgraph stuff.
This commit fixes the error, but it will still display particles *once*
(one draw) on the wrong location. That's a lag in the system I cannot
solve quickly...
Note that this system does work OK when you put the group in another Scene,
or linked from another file. That's what it was coded for...
Patch for this bug provided by Johannes Meng.
Here's his log:
When using the mouse wheel on an inverted 3d view (that is back, left or
bottom) the name display changed to front (right, top). Also when using
mouse wheel with modifier keys (strg/shift) on a normal view, it changed
the display to the inverted variant.
What I did was check the type of event that is handeled before
setting/unsetting V3D_OPP_DIRECTION_NAME. I simply added two if statements
and expanded the comment by a line explaining it a bit.
- Using NLA stride didn't work at all for Motion Blur render... appeared to
be a typo even, using 'ctime' instead of 'stime'. :)
- When entering editmode on a striding Armature, the position of the
armature was incorrect (missing depsgraph refresh)
- changes in constraint.c is just a small cleanup, unused 'ctime' arg.
exactly the same as mesh_create_derived_render(ob) except it uses the view modifier settings.
Added an optional arg to getFromObject to 'render' so you can choose to get the mesh displayed in the 3d view or generate one with render settings.
Solved bug 4612 getFromObject now works with soft body meshes (error was caused by getting the derived mesh from a copy of the object)
removed workaround for softbody bug in object_apply_def.py
applied patch #4998 (array count), as well as adding other array settings, updated documentation as well.
added EXPP_setVec3Clamped() as a way to set a vector from getset attrs (used with array offset and scale)
Small tweak in depsgraph usage of transform: to make sure recalc tags get
set in invisible objects (in other layers) as well. That way switching
layers won't give errors with child-objects not being in the correct place.
Proportional editing sometimes failed to work by a missing initialization.
It was caused by the combination of having manipulators on, and saving the
file with an active Armature Object in PoseMode.
- code for adding 'c:\' on Windows missed fact that BLI_convertstringcode is also used for databrowse.
- now only replacing when path starts with '/', which isn't the case with databrowse
but for images user counts work differently.
(just noticed this is what blender does so Image.New() now does the same)
Many of the sys functions had maximum path thengths that were too short.
char path[FILE_MAXFILE];
rather then
char path[FILE_MAXDIR + FILE_MAXFILE];
* removed get/set in favor of setsetattrs
* added an element iterator to the metaball data type.
* now accepts vectors and quat for location dimensions and rotation.
and other small changes.
Docs updated shortly at.
http://members.iinet.net.au/~cpbarton/ideasman/BPY_API/Metaball-module.html
other changes
typo in image.c
metaballs constants in buttons_editing
Added: Scale node in Compositor.
- Only works for RGBA buffers now
- I have added an option "Relative" or "Absolute" scale. So you can also
define actual pixels for scale. Values for scale are reset when you
switch, to prevent too weird situations.
- Scaling wasn't foreseen to work with the preview-panel in UV window, this
preview cropping only happens for Image and RenderResult nodes... actually
should be done for the scale too. I wait with t hat though... this preview
method isn't very advanced yet.
- The pass_on_compbuf() here crashed in tests with preview panel, that's
weak code... I have to recode that. For time being I use the
dupalloc_compbuf to have it stable.
- Panel with Shape keys now shows for lattice too
- Supports VGroup weight value for Shapes
NOTE: this doesn't support Shape editing with linked duplicates. The
modifier system for Lattices (as for Curve/Surface) has no local Object
storage, so linked duplicates will all show identical.
New option: "Select Collumn" in Action editor. This selects all 'keys' on
the same time, based on already existing selection. Works for Actions as
well as Shape Keys. Hotkey K.
aside from avoiding unneeded memory alloc/dealloc and bing faster this works around a recently discovered bug with the user count of copied Mesh keys... causing getFromObejct leak memory when used with mesh keys.
It also fixes a bug where getFromObejct with fluid-sim would corrupt memory.
When using the "Load without UI" option, and having a textfile open in the
Text Editor with syntax coloring, Blender crashed. Just a missing NULL
check here.