was found. Restore warm fuzzy msg. Text is now
Looking for installed Python version XXX
followed by either
Got it!
or
'import site' failed; use -v for traceback
No installed Python found.
Only built-in modules are available. Some scripts may not run.
Continuing happily.
And while we are at it, clean up a couple of compiler warnings.
Using "International Fonts" (silly name, it's pixmap fonts) the special
characters (values above 127) were disregarded completely.
This was caused with the extremely confusing unicode conversion call, which
actually only was needed when translations were set.
Disabling the unicode conversion then gives correct text drawing. However,
I suspect that this code will give issues for translations too... that I
cannot judge nor fix.
Zero-sized bones in an Armature didn't result in a stable rest position.
This caused bones to rotate to random positions on each editmode exit.
This commit will automatically remove such bones on exit editmode now, and
adds a warning print for it. I've tried to code exception handling for
zero-sized bones, but this is just too hard to get stable. Better to define
by default that Bones always should have a length.
Typically zero-sized bones only get added by accident, for example while
ctrl+clicking new bones.
Bug #3779: In camera view with center cursor (on camera), it's impossible to use translations.
Initgrabz didn't account for negative zero values (nor near zero values). Works now.
Of course, this is just a safety to give back the appearance of working, since the cursor is on the point of convergence, there's no way to properly calibrate anything.
Word of advice: Always check where the transform center is.
Bug #3733
Constraining on a perpendicular axis was broken on (half - 1) cases.
Silly oversight on my side which didn't turn out in the test case (moving camera in and out) and only appeared in front view (not side nor top) because of positive reasons.
Frankly, I still think translating an object perpendicular to the viewport is a bit silly, but now, at least, people can be silly in a predictable fashion.
Running this script is usefull for moving projects to new computers and fixing broken image paths.
It works by taking a searchdir and finding all the images in that dir, then using the largest images (if doubles are found) to avoid using thumbnails.
This should be mived from the UV to the image menu when a python slots available.
Exporter free's mesh vertex data each run (was causing memory errors when exporting fluidsim meshes... poke ken for Mesh.Unlink() since many meshes are still created)
Exporter had an indentation error also.
Added an NMesh wrapper around Mesh for importers to use, so as to work around slow 1 by 1 adding of data. used in upcoming flt_importer update.
Mesh cleanup now has the dangerous option to perform a cleanup on ALL mesh data. (needed it for a project)
Using stride-bone in an NLA, on a path without speed Ipo, didn't correct
the case when an action starts on a non-zero value.
Patch provided by Roland Hess. Thanks!
Removed the haha-fun "eekadoodle" error, which was popping up for each
faulty face (could be 1000s), and renamed it to give a proper message:
"This Mesh has old style edgecodes, please put it in the bugtracker!"
Using the new "Add constraint" hotkey (CTRL+ALT+C) or the option in the
pulldown menu, didn't set a proper flag in Curve object when a "Follow
Path" constraint was choosen.
Restored animated background picture, using a bad call actually, but thats
clearly noted in comments in code. Is remainder work for cleaning up the
whole render api. :)
Wire render normals were exactly opposite to the normals for solid faces.
This caused displacement to work inverse too. Flipped them.
(Note; for shading normals are corrected to point towards viewer)
Reading DXF curves can result in corrupted edges (with 2 identical
vertex indices). Probably thats OK for autocad or so.. but it made
Blender crash on entering editmode.
The issue was that particle emittors were still transformed by the object
matrix itself. That was solved in the previous commit, but there was
still an error in correctly evaluating dependencies for the object...
Current commit uses depsgraph to recalculate all objects that influence
the emittor.
The depsgraph code doesn't like particles much (because it uses baking).
Current construct is still weak, is on the list to solve nice.
"Full OSA" render used wrong subsample pattern for accumulating passrender
info. Was only noticable for the 'normal' pass, for example on raytraced
images. Image looked as if it had a wireframe render.
Raymirror didn't use proper texture-space 'osa vectors' for sky texture,
causing extremely blurred reflections of sky.
Error was actually a mixup of arguments for sky render...
When using CTRL+L for materials, you can end up with non-existing material
indices in faces. The drawing code then was still happily drawing the old
situation (or something random, its a static array).
This commit checks the maximum amount of materials on an object, and draws
the last available material for a non-existing index. It uses an ugly
global yes, but this code is bad anyway. :)
Dynamic particles sometimes didn't properly use global coordinates.
Meaning they were transformed by an Object, for example when it has
animation constraints.
Error caused by attempt to get duplicators to work for particles. Will
need re-evaluation this.. for now restored old functionality, with
exception of dupli-groups.
Particle strands with a width set (like 10 pixels), and with extreme
bending of strands (like a very course subdivision), could create non-flat
quads. For speed reasons, the quad-to-triangle splitting was turned off
for hair, but in this case that should be done nevertheless.
Solves another Dandruff issue for furry bunnies!
oblivious of each other, so setting/clearing the face edit mode select status
did not set/clear the corresponding vertex select statuses. This patch makes
a change of any select status recalculate the selection state of all edges an
faces. One unresolved issue is what effect this should have on the recent
edge mesh's stored selection. Currently changing the selection state will
delete store selection info, but it may be desirable to emulate the stored
selection (but I need to discuss how this should work in more depth with
Geoffrey Bantle).
As an added bonus (while I was messing with this), I added a "sel" attribute
to edges so they are the same as faces and vert.
meshes, and actually fix the bug that caused the crash. The fluidsim result
doesn't preserve a mapping to the original mesh, so it shouldn't be displayed
in face select mode.
Made obj_export use getMeshFromObject
obj_export now copies images from mtex as well as texface when copy images enabled.
obj_export tested to work with exporting fluidsim animations (somebody reported it was broken, must have been fixed at some point?)
variable blah at a higher scope is already defined...
(one of these was introduced by me when I moved a variable declaration
to the top of the function.)
Kent
at the moment it only has meshWeight2Dict and dict2MeshWeight
These allow you to deal with vertex weights as a list of dicts which makes scrips short and easy to understand.
(kh_python, perhaps dict access to the python verts could replace this )
Used the above util functions to update mesh_cleanup.
Copied from the source
'Material Clean', 'Remove unused materials.'
'VGroups'
'Group Clean', 'Remove vertex groups that have no verts using them.'
'Weight Clean', 'Remove zero weighted verts from groups (limit is zero threshold).'
'Weight Normalize', 'Make the sum total of vertex weights accross vgroups 1.0 for each vertex.'
Normalizing lets you see how much % of the vertex a bone owns just by looking at 1 of the bone weights.
Would be nice to have this functionality in Blender but theres not much room for new buttons in teh vgroup and material area :/
Outliner, Group view, operation menu "unlink group" also set the group user
counter to zero, which it should not do.
Note; the definition of this command is to make sure no users exist of this
group, but the group itself can still be there with objects.