Commit Graph

1309 Commits

Author SHA1 Message Date
ce5c1466a1 2.5 Fluid UI Python Script:
* Code cleanup, no UI changes, reduced code from 1244 lines to 1228 lines.
2011-03-12 15:24:16 +00:00
5b75593c23 Completely refactored sph fluid particles. Only the very core of the algorithm remains
the same, but big changes have happened both on the outside and on the inside.

New UI:
* The old parameters were quite true to the underlying algorithm, but were quite obscure
  from a users point of view. Now there are only a few intuitive basic parameters that
  define the basic fluid behavior.
** By default particle size is now used to determine the interaction radius, rest
   density and spring rest lengths so that it's easy to get stable simulations by simply
   emitting particles for a few frames and adjusting the particle size (easy when the
   particle size is drawn) so that the fluid appears continuous (particles are touching
   eachother).
** Stiffness - in reality most fluids are very incompressible, but this is a very hard
   problem to solve with particle based fluid simulation so some compromises have to be
   made. So the bigger the stiffness parameter is the less the fluid will compress under
   stress, but the more substeps are needed for stable simulation.
** Viscosity - how much internal friction there is in the fluid. Large viscosities also
   smooth out instabilities, so less viscous fluids again need more substeps to remain
   stable.
** Buoancy - with high buoancy low pressure areas inside the fluid start to rise against
   gravity, and high pressure areas start to come down.

* In addition to these basic parameters there are separate advanced parameters that can
  either be tweaked relative to the basic parameters (or particle size) or defined
  independently.
** Repulsion - the stiffness parameter tries to keep the fluid density constant, but this
   can lead to small clumps of particles, so the repulsion keeps the particles better
   separated.
** Stiff viscosity - the normal viscosity only applies when particles are moving closer to 
   eachother to allow free flowing fluids. Stiff viscosity also applies smoothing to
   particles that are moving away from eachother.
** Interaction radius - by default this is 4 * particle size.
** Rest density - by default this is a density that the particles have when they're packed
   densely next to eachother.
** Spring rest length - by default this is 2 * particle size.

* There are also new options for 3d view particle coloring in the display panel to show
  particle velocity and acceleration. These make it easier to see what's happening in the
  fluid simulations, but can of course be used with other particles as well.

* Viscoelastic springs have some new options too. The plasticity can now be set to much
  higher values for instant deletion of springs as the elastic limit is exeeded. In addition
  to that there is an option to only create springs for a certain number of frames when a
  particle is born. These options give new possibilities for breaking viscoelastic fluids.

New in the code:
* Most of the fluids code is now thread safe, so when particle dynamics go threaded there
  will be a nice speed boost to fluids as well.
* Fluids now use a bvh-tree instead of a kd-tree for the neighbor lookups. The bvh-tree 
  implementation makes the code quite a bit cleaner and should also give a slight speed
  boost to the simulation too.
* Previously only force fields were calculated with the different integration methods, but
  now the fluid calculations are also done using the selected integration method, so there
  are again more choices in effecting simulation accuracy and stability. This change also
  included a nice cleanup of the whole particle integration code.

As the internals are pretty stirred up old particle fluid simulations will probably not
work correctly straight away, but with some tweaking the same level of control is still
available by not using the "relative versions" of the advanced parameters (by default these
are not used when loading old files).
2011-03-12 12:38:11 +00:00
01b547f993 Fix for [#26457] Physics Size attribute affects hair particle DupliObjects while hidden
* Forgotten settings for the "simple hair" ui.
2011-03-11 11:15:35 +00:00
102c5e0ad4 2011-03-11 07:59:43 +00:00
9c032756e9 when checking for windows check sys.platform starts with "win" rather then '== "win32"' & avoid importing platform.
also add some notes to CMake options.
2011-03-11 01:24:16 +00:00
d59e208216 also enable edge-seam unwrapping when running the mark_seam operator. 2011-03-10 06:06:55 +00:00
3ad8fd44c4 request from Jedrzej Slewczuk's:
Option for tagging creases (Ctrl+RMB) to also re-unwrap the mesh.
 In 2.42 this could be done by setting rt==8 (very hidden), now its a little less hidden (in the toolbar).
2011-03-10 05:52:16 +00:00
6a32442855 revert r35438, Martin doesn't like having this option tacked on. 2011-03-10 00:38:23 +00:00
1110c80696 add option requested [#25598] projection surface snap issue
for retopo workflow you don't wan't to project the mesh onto its self, added option not to.
2011-03-09 22:45:34 +00:00
3a43e08deb Bugfix & Feature fix: Only Shadow Material options
Patch from Miika Hämäläinen.

The old Material "Only Shadow" used an ancient 'best guess'
formula using Lamp Distance and some averaging for converting
shadow values to alpha.
A couple of bug reporters already complained about the not
very predictable renders. Miika fixed this by adding two
new options, to only give the true shadow factor exclusively,
or to give a result including light intensity values.

More info:
http://projects.blender.org/tracker/index.php?func=detail&aid=26413&group_id=9&atid=127
2011-03-08 16:08:43 +00:00
988886a73d Fix keymap operator polling functions to be a bit safer. 2011-03-07 23:53:08 +00:00
c9685af1ff use set's, since pythons 3.2's optimizer converts these to frozensets, lookups are also faster then tuples (though this isn't a bottleneck). 2011-03-07 13:23:45 +00:00
cfd9d6d190 Drop support for python 3.1.
for building py3.2 on *nix see:
  http://wiki.blender.org/index.php?title=Dev:2.5/Doc/Building_Blender/Linux/Troubleshooting#Python

also fixed possible buffer overrun with getting the fake filepath for a blender textblock.
2011-03-07 11:53:40 +00:00
6288eb2ef7 2.5 Armature Panel UI Script:
* Code cleanup, no layout changes.
2011-03-04 19:57:05 +00:00
a18e1043e8 solidify material offsets for 2nd surface and rim faces.
run do_versions() on use_rim_material option so Sintel's jacket loads ok.
(request from Bassam)
2011-03-03 05:09:07 +00:00
Dalai Felinto
13d5f6005e BGE: Material Force Field renaming + reorganization
the old FH setting was blended with the other physics settings (friction and elastic)
Also in the Physics panel it was saying "Use Material Physics" but the button is only for Force Field.

Since I was here I decided to change the Constraint FH ui name from Fh to Force. I don't think users really understand what FH is (I for once don't).
Thanks to Carsten Wartmann for pointing that out.
2011-03-03 01:47:17 +00:00
0e8d313f0e Fix #26218: texture paint
- Added option "Fixed Texture" to the UI. Because of strange reason,
  this feature was implemented but hidden from users.
  Would be cool, if somebody familiar with 2d texture paiting check.
- Fixed some issues in existing code of fixed texture paiting.
  It now handles brush radius and curve correct.
- Also fixed issue with paiting with texture from node tree - it used
  to be painted with regular brush color instead of texture.
2011-03-01 17:58:12 +00:00
c8de6195c8 fix [#26252] Py error when installing addon through UI
Py3.1 for windows doesn't have os.path.samefile(), has been added in 3.2.
2011-03-01 08:28:37 +00:00
cbf976e7a6 2.5 UI scripts:
* Removed some unused code.
2011-02-28 14:25:40 +00:00
da27e6889a Info > Help Menu:
Finally, the Blender icon can be used for the splash screen menu entry, on own todo for almost 1 year!
Thanks to elubie for fixing this in the code. :)
2011-02-27 17:11:56 +00:00
fc0c016940 replace import *'s with named imports (using * is convenient for some scripts but considered bad practice by python devs) 2011-02-27 15:25:24 +00:00
52f92b4cb1 lazy load modules for more scripts. 2011-02-27 14:16:32 +00:00
b51fb00654 2.5 particle UI File:
* Code cleanup and some assignment names fixes. 
We still have the code guidelines. http://wiki.blender.org/index.php/Dev:2.5/Py/Scripts/Guidelines/Layouts

So please only use subsub if absolutely necessary!
2011-02-27 11:06:01 +00:00
77959fe893 2.5 Constraint Ui File:
* Minor fix for my commit yesterday, label in FLOOR constraint was missing for location property.
2011-02-27 10:47:32 +00:00
Dalai Felinto
bc52b996e3 small UI cleanup - "Mouse Cursor" instead of "Show Mouse" and s/subcol/sub and a new line in the end of constraints ui file 2011-02-27 09:36:29 +00:00
Dalai Felinto
ac1b08a928 BGE patch: [#26223] Some RigidBody joints fixes (ui angles, conetwist/hinge limits etc) by Juha Mäki-Kanto + ui changes pour moi
From the tracker:::
Issues fixed:
- ConeTwist-constraint's params weren't making it to the CcdPhysicsEnvironment, also added Hinge's params.
- UI wasn't using angles where applicable.
- btHingeConstraint's constructor can create frame-matrices which don't align so the hinge doesn's start at 0 degree tilt.
This is an issue when setting limits.

Changes:
- UI: Hinge limits can be set (and disabled).
- UI: ConeTwist only has max-limits and only the twistX can be disabled
- PyApi via rna_constraint.c: added the functions limit_xyz_min, limit_xyz_max (for 6dof), limit_angle_xyz_min,
limit_angle_xyz_max (for 6dof), limit_angle_x_min, limit_angle_x_max (for hinge).
- PyApi: dropped python-function limit_cone_min. 

.:. Extra:
UI Changes:
- renamed "RigidBody Joint" to "Rigid Boidy Joint" 
- reorganized UI to conform with other parameters (e.g. Limit Rot)
- added dis/active all over the place :)
2011-02-27 09:21:13 +00:00
039940e1e9 Image Editor:
* Added back selector for active UV texture. IRC Request by _BigWings_ :)
2011-02-26 19:18:02 +00:00
2f0d93ba56 clean whitespace 2011-02-26 16:27:58 +00:00
ab9490f8ea 2.5 UI Scripts:
* More code cleanup.
When removing the narrow_ui feature, a lot of split functions were kept. Changed them to rows, which are more easily readable. Check out properties_data_lattice.py for a good example.
2011-02-26 16:04:14 +00:00
7a55884b62 Added operator which makes selected scene markers into local 'pose'
markers.

This is useful for when working with lipsync shots, where you've used
markers for noting down key syllables and want to separate these out
into chunks to manage things better.
2011-02-26 06:28:24 +00:00
ce81cce75d Fix #26158: The layer hight of the layer tool cannot longer be controled by the strength of the brush, as it was in 2.49
Layer height used to be controlled with brush radius, quite confusing decision.
Added new property for brushes - height for adjusting affectable brush height
(it could be not only layer height in the future).
2011-02-25 16:54:09 +00:00
b25db7c8cb pep8 cleanup 2011-02-25 16:06:14 +00:00
2158d05866 adjustments to recent commit:
* inv_ -> inverted_
* flagged image dirty after invert.
* restored properties accidently cut out of unpack operator.

brecht.beers[lmg]++
 thanks for paying attention! :)
2011-02-23 19:40:24 +00:00
3bee6abb74 Fix for [#26133] Explode modifier doesn't care about UVs (Option "split edges")
* This is basically a total rewrite of the edge split algorithm. The old one didn't handle tris at all and quads were cut wrong in some cases too with the addition of not handling uv coordinates at all.
* This new algorithm uses a flag system to categorize different splits and the identical but rotated cases in a similar way to how marching cubes indexes different cases.
* It cuts quads and tris and creates proper uv's for the new faces too.
* I also renamed the option to "edge cut" to differentiate if from the edge split modifier and added an option to override a uv-channel in the exploded mesh with particle age as x-coordinate so that the shrapnel can be faded out nicely etc.
2011-02-23 19:29:59 +00:00
f0f3d9a2ff added image-editor operators:
Invert Image Colors (RGB)
--
Invert Red Channel
Invert Green Channel
Invert Blue Channel
Invert Alpha Channel

mostly because of the recent changes in normalmap channels,
so users can adopt old bakes quickly.
though they might aswell prove useful in other situations.
2011-02-23 12:02:43 +00:00
9349374359 add back view 1:1 operator from 2.4x (Shift+PadEnter) 2011-02-23 06:48:47 +00:00
2f472ccd60 add back 2.4x mesh vertex sort/randomize operators, were called xsort and hash in 2.4x.
available from vertex menu.
2011-02-23 05:17:29 +00:00
0a7fecac8f add 2.4x posemode & weightpaint feature as an operator - Flip Active, Shift+F. 2011-02-23 04:58:08 +00:00
43007d7fed - fix python error for poselib UI when none is active.
- add info to create_dupli_objects rna function docstring.
- transform snap had bad define, disabling BVH accelerated snap (own fault).
2011-02-23 03:08:14 +00:00
86e6c39f60 Material UI, patch by Ervin Weber (lusque). Thanks!
Now we have the old UI again, as suggested by several developers on the Mailing List. 
At least for simple materials. For Node Materials we keep the new Pipeline panel.

This should make both sides happy. :)
2011-02-22 19:22:27 +00:00
b26a4dc4af fix [#26093] Install Add-On Fails and deletes script
problem was on installing a file which was already installed, when the source and target paths match python deleted the file.

now check if the selected file is inside any of the addon search paths and abort with an error.
2011-02-21 07:33:59 +00:00
eee4a62e87 move addon utilities into their own module, these were getting mixed between bpy.utils and space_userpref. 2011-02-21 07:07:44 +00:00
863ac9e07f change shrinkwrap modifier cull front/back options from 2 booleans into an enum since it makes no sense to have front and back enabled at once. 2011-02-19 09:53:38 +00:00
8856b598fd Another small text space usability: option to show right margin (aka print marign) 2011-02-18 13:57:54 +00:00
063a7f217b python api docs & examples for registrable Menu/Panel/Operator/PropertyGroup classes. 2011-02-18 08:47:37 +00:00
c4d7bb80f5 "Fix" for [#26130] Turbulence Force Field seed does not look to generate a new texture when the seed changes via IPO keyframe
* Small force field ui changes to make things a bit clearer.
2011-02-18 07:42:38 +00:00
d17df68c24 - clear some warnings
- rename layout.operator_enums -> operator_enum (since we have operator_menu_enum, only called in 4 places)
2011-02-18 06:07:41 +00:00
1dc4db7775 Fix for [#26120] Particle Grid options available when shouldn't 2011-02-18 00:40:15 +00:00
a241ce1fd1 patch [#26056] fix for ValueError when no addons are present
by Amorilia (amorilia), fix modified.
2011-02-17 22:38:51 +00:00
812f238494 pep8 cleanup and remove unused vars/imports 2011-02-17 04:35:41 +00:00