Commit Graph

72 Commits

Author SHA1 Message Date
Janne Karhu
44fb6bd1fa Hair ui simplification:
* There were a lot of settings in the particle panels that made no sense for simple hair and only cluttered up the ui.
* Now these settings are hidden by default unless "advanced" hair options are shown.
* Without advanced options the particle velocity controls are replaced by a simple "hair length" value, which actually corresponds to the grown hair length in blender units.
* Some hair effector options that are actually very useful were not shown in ui. These are now found in the "field weights" panel.
2011-02-07 11:43:33 +00:00
Janne Karhu
4e8a8d1e8f Improvements for particle grid distribution:
* Particles that aren't shown are now actually deleted (huge memory savings for flat objects).
* Grid distribution for flat objects is now done on the surface object surface without offset.
* Invert grid option wasn't in ui and it didn't work for non-volume grids.
* New parameter to randomize the grid point locations.
* Resolution soft/hard limits changed to even 50/250.
2011-02-04 15:48:13 +00:00
Janne Karhu
f39c794c7c Own mistake in fluid particles ui cleanup commit.
* Emission tab was shown without particle settings.
2011-01-22 21:22:29 +00:00
Janne Karhu
f4598728c4 "Fix" for [#25766] Fluid Particle Bugs
* Argh, particles tab was showing the whole "non applicable settings for fluid particles"-galore as the particle type "fluid" can't be checked from rna using the settings type value. Now the ui is a lot cleaner and only settings that actually effect the fluid particles are shown.
2011-01-22 20:38:27 +00:00
Campbell Barton
9146ca06dd pep8 corrections. 2011-01-13 23:00:51 +00:00
Janne Karhu
9231ff4160 Viscoelastic springs for sph particle fluids, original patch by Stephen Whitehorn (chickencoop)
* Viscoelastic springs between the fluid particles can simulate all kinds
  of viscous and elastic substances, such as jelly and honey. This is
  achieved by creating springs dynamically between neighboring particles
  and adjusting their rest length based on stretching/compression.
* This nearly completes the currently intended functionality for particle
  fluids. The last missing thing is a surfacing extraction algorithm,
  which is needed for a proper representation of a sph fluid.
* I also cleaned up and renamed some of the fluid parameters to make the
  ui a bit easier to understand.
* One addition to the patch is an option to use "initial rest length" for
  the springs, which uses the lengths between the particles at the time of
  spring creation as the spring rest lengths instead of interaction radius/2.
  This makes the fluid keep it's original shape better (good for very
  viscoelastic materials), but can create large density differences inside
  the fluid (not really physically correct for a fluid).
* Viscoelastic springs are stored in point cache as extra data.
2011-01-09 19:09:41 +00:00
Janne Karhu
29efbf8a04 New hair child options:
* Renamed children to "simple" and "interpolated" as this is
  easier to explain and more descriptive than "from particles"
  and "from faces".
* Also shuffled the child ui around a bit to make it clearer.
* Child seed parameter allows to change the seed for children
  independent of the main seed value.
* Long hair mode for interpolated children:
  - Making even haircuts was impossible before as the child
    strand lengths were even, but their root coordinates were
    not similar in relation to the parent strands.
  - The "long hair" option uses the tips of the parent strands
    to calculate the child strand tips.
* Hair parting options:
  - Hair parting can now be calculated dynamically on the fly
    when in 2.49 there was a cumbersome way of using emitter mesh
    seams to define parting lines.
  - For long hair parting can be created by a tip distance/root
    distance threshold. For example setting the minimum threshold
    to 2.0 creates partings between children belonging to parents
    with tip distance of three times the root distance
    ((1+2)*root distance).
  - For short hair the parting thresholds are used as angles
    between the root directions.
* New kink parameters:
  - Kink flatness calculates kink into a shape that would have
    been achieved with an actual curling iron.
  - Kink amplitude clump determines how much the main clump value
    effects the kink amplitude.
  - The beginning of kink is now smoothed to make the hair look
    more natural close to the roots.
* Some bugs fixed along the way too:
  - Child parent's were not determined correctly in some cases.
  - Children didn't always look correct in particle mode.
  - Changing child parameters caused actual particles to be
    recalculated.
* Also cleaned up some deprecated code.

All in all there should be no real changes to how old files look
(except perhaps a bit better!), but the new options should make
hair/fur creation a bit more enjoyable. I'll try to make a video
demonstrating the new stuff shortly.
2011-01-07 11:24:34 +00:00
Campbell Barton
a41ec761fd rename layout.red_alert to alert, may be themeable some day. 2011-01-03 13:33:07 +00:00
Campbell Barton
676d795d7e bugfix [#25240] Custom properties panel on pinned data fail. 2010-12-17 10:33:28 +00:00
Janne Karhu
7bf5d9449c "Fix" for [#25184] Forces for growing hair - update inconsistency - as discussed with Jahka on Saturday on IRC
* New option to "Regrow hair" for each frame.
* This was perhaps more a feature request, but there was a similar useful feature called "animated hair" in particles at some point.
* The previous behavior for hair growing was inconsistent to say the least, so this is a nice option to have.
2010-12-13 10:45:24 +00:00
Janne Karhu
4cd06a6526 Fix for [#25185] Toggling hair dynamics without deleting cache leaves hair disattached when mesh animation is controlled by deformers - discussed with Jahka on IRC on Sat 2010-12-13 09:39:14 +00:00
Janne Karhu
782d7b312f "Fix" for [#24934] Particle single user crash
* Changing anything related to particle settings shouldn't be allowed when in particle mode, so disabled the buttons in ui.
2010-11-26 15:37:08 +00:00
Janne Karhu
6ca186fc5a Fix for [#24107] Hair/General particle glitch- Presets 2010-10-05 09:32:35 +00:00
Janne Karhu
12be522cbe Fix for [#24031] Baked Physics with Phsics set to NO can't be freed
* Should fix the cause ("no physics" gets baked) and old files that are effected (ui allows freeing if cache isn't really used)
2010-09-28 08:47:59 +00:00
Dalai Felinto
3e1ff2e590 UI fix: psys.hair_dynamics -> psys.use_hair_dynamics 2010-09-18 00:19:53 +00:00
Janne Karhu
e7a393d2e1 Tiny addition to boids functionality: pitch value
* Controls maximum rotation around side vector (as opposed to banking, which controls rotation around forward vector)
2010-09-16 20:06:10 +00:00
Campbell Barton
115b256738 ran through pep8 checker 2010-09-07 15:17:42 +00:00
Janne Karhu
b06abafe7a "Fix" for [#23640] particle system partially indifferent to vertex groups
* Some particle vertex groups haven't yet been reimplemented so commented these out in ui.
2010-09-03 05:48:19 +00:00
Janne Karhu
35535c2cb9 Fix for [#23136] Particle display percentage "forgotten" after render
* The actual problem was that the total amount of particles was rendered at all, since only the displayed percentage was calculated correctly.
* New behavior is that before baking (baking is always done for full % of particles) the display % is used for rendering too for dynamic particles.
* Also added a warning below the display % slider to inform about the situation.
2010-09-02 06:58:54 +00:00
Thomas Dinges
614eb41c56 RNA Renaming Fixes for particle UI. 2010-08-31 15:12:24 +00:00
Campbell Barton
e7c4a0d53b rna api - replace panel properties bl_default_closed and bl_show_header with bl_options which has 2 flags: 'DEFAULT_CLOSED' and 'HIDE_HEADER'.
this matches operators which also uses bl_options like this
2010-08-26 01:05:37 +00:00
Campbell Barton
379fea2d0d move more active variables to be nested in collections. 2010-08-24 04:02:50 +00:00
Campbell Barton
b844792bd5 rename UI function
layout.prop_object() --> prop_search().

The internal name is uiItemPointerR, in python this can translate into into an Object, however this is misleading.
It can be confused with a blender Object and uiItemPointerR can also be used for strings.
2010-08-23 05:47:45 +00:00
Brecht Van Lommel
de35361b11 Fix python errors in particles render panel and rigid body joint constraint. 2010-08-22 09:18:26 +00:00
Campbell Barton
93ffe7d7f1 rna renaming (manual edits) 2010-08-21 04:51:00 +00:00
Campbell Barton
4f5f868a52 rna data path names which are more likely to break animations.
Added an operator "Update Animation Data",
access from the search menu to update drivers and fcurves.
2010-08-20 06:09:58 +00:00
Campbell Barton
eee445590a rna naming mainly forBoids 2010-08-19 15:49:30 +00:00
Campbell Barton
486b3cd2f5 more rna renaming for non-animated properties: mainly Texface, Particle & Pointcache changes.
Changed some names when applying.
- render was use_render, changed to show_viewport so call it show_render
- texface shadow was use_shadow_face, changed to use_shadow_cast since this only affects casting.
- transp was alpha_mode, changed to blend_type since its similar to other overlay blending where this property name is used.
2010-08-19 12:51:31 +00:00
Campbell Barton
b00c0526c7 missed this with recent renaming 2010-08-19 10:54:41 +00:00
Campbell Barton
55ed0f0507 more rna renaming. 2010-08-18 08:26:18 +00:00
Campbell Barton
7da5d9faec rna renaming, still only adjusting properties that wont be animated (at least its very unlikely). 2010-08-18 07:14:10 +00:00
Campbell Barton
3bd039eff9 apply rna rename most of the show_*, names. 2010-08-17 17:03:52 +00:00
Thomas Dinges
7394e1a312 * Put "Custom Properties" panel to bottom in particle buttons as well. 2010-08-17 09:05:44 +00:00
Campbell Barton
a6f13f9d7b poll() as a python '@staticmethod' was too limiting and didnt allow useful base class poll functions in many cases.
now rna functions that dont have a 'self' are automatically assumed '@classmethods'.

de-duplicated poll functions and made some minor tweaks too.
2010-08-09 01:37:09 +00:00
Campbell Barton
acca04bf33 remove narrow ui feature
- re-arranged UI in a way that gave far too much vert scrolling.
- was added all over for simple things like making text="", layout engine should handle this.
- Ton and Brecht are ok with removing this now. Ton would like to work on the layout engine to make it better support these cases.
2010-08-06 15:17:44 +00:00
Campbell Barton
163f6055d2 bugfix [#23182] Using self.report() inside poll() gives crash
poll() function is now a static method in python, this is more correct, matching C where the operator is not created to run poll.


    def poll(self, context): ...

is now...

    @staticmethod
    def poll(context): ...

Pythons way of doing static methods is a bit odd but cant be helped :|

This does make subclassing poll functions with COMPAT_ENGINES break, so had to modify quite a few scripts for this.
2010-08-05 16:05:30 +00:00
Martin Poirier
5b345524ea RNA Types metaclass registration
See mailing list posts for details [1][2][3]

Addons still need to be fixed; Campbell said he'd do it today.

See any of the py files (outside netrender) in this commit for how to do it (it's rather simple).

[1] http://lists.blender.org/pipermail/bf-committers/2010-February/026328.html
[2] http://lists.blender.org/pipermail/bf-committers/2010-August/028311.html
[3] http://lists.blender.org/pipermail/bf-committers/2010-August/028321.html
2010-08-02 02:55:12 +00:00
Janne Karhu
6ec87e6095 Fix for [#22128] particle sizes and physics
* size wasn't updated at all for particles with keyed or no physics
2010-07-25 14:40:18 +00:00
Mitchell Stokes
4497bd3b90 Adding COMPAT_ENGINE stuff to the particle panels so that they no longer show up when using the "Blender Game" render engine.
Also, "Maximize Gain" on the sound actuator was incorrectly labeled "Minimize Gain", so I fixed it.
2010-07-11 08:48:21 +00:00
Janne Karhu
f8ecc3fd2f Some cleanup of particle path drawing logic:
* Path drawing now works for non hair particles.
* Should fix the following bugs too:
  [#21316] Hair weight drawing is wrong
  [#21923] Consistent Crash When Rendering Particle Scene.
  [#21950] Path rendering option for particles causes crash
2010-05-30 14:53:26 +00:00
Thomas Dinges
e1bf9d30bc Properties Window:
*The narrowui value was hard coded in all ui scripts, made an user preferences option. Basically this value determines on which area width, it should switch between dual/single column layout. 

ToDo: The Changes only take effect when reloading scripts/restarting Blender (after saving as default). Will maybe add the "Reload Scripts" operator next to the button in the future. 

* Small fix for Fluid Add Button, when in single column mode. Didn't expand like the other "Add" Buttons.
2010-05-16 10:21:00 +00:00
Joseph Eagar
aaa7c493e4 merge of last commit to trunk 2010-05-11 20:06:20 +00:00
Campbell Barton
245ab753f5 misc uninteresting stuff (killing time at airport commit)
- pep8 updates
- RNA_TwoDFilterActuator --> RNA_Filter2DActuator
- minor changes to conolse namespace init.
2010-05-03 16:00:42 +00:00
Daniel Salazar
449d6a3cac Some work on the cluthered particles UI; lot's more to do 2010-04-26 09:33:59 +00:00
Campbell Barton
749f027e1d rna rename start/end --> frame_start/end 2010-04-22 17:35:00 +00:00
Janne Karhu
919565f196 Subframe calculations for particles, original patch by Raul Fernandez Hernandez
* Increasing subframe count increases stability for SPH fluid and Newtonian particles
* Also small tweaks into physics ui panel to better fit new subframes value
* This commit also fixes the moving fluid emitter problem as described by Raul in the mailinglist
2010-04-12 17:34:06 +00:00
Janne Karhu
c5871b8750 Fluid physics for particles by Raul Fernandez Hernandez (Farsthary) and Stephen Swhitehorn:
This patch add SPH (Smoothed Particle Hydrodynamics)fluid dynamics to the
blender particle system. SPH is an boundless Lagrangian interpolation
technique to solve the fluid motion equations.
 
From liquids to sand, goo and gases could be simulated using the particle
system.
 
It features internal viscosity, a double density relaxation that accounts
for surface tension effects, static internal springs for plastic fluids,
and buoyancy for gases.

---------------------------------------

This is a commit of the core fluid physics. Raul will work on proper
documentation soon and more features such as surface extraction from
the particle point cloud and increasing stability by sub-frame calculations
later.
2010-04-04 12:29:06 +00:00
Janne Karhu
cf4ba30f79 Few small hair dynamics goodies:
* Effectors now work with hair dynamics.
* Hair dynamics has a new "Collider Friction" parameter that works similarly to internal friction except now all collision objects effect the hair velocity. Useful for quick'n'dirty interaction with objects as the calculations are really fast, but doesn't really take away the need for proper hair-object collisions.
2010-02-26 03:24:21 +00:00
Campbell Barton
97bdfe6f1b pep8 cleanup + correction for external player operator return value. 2010-02-22 23:32:58 +00:00
Campbell Barton
23efeff6a9 [#21177] Text editor
Running scripts directly didnt call the register function, even though this is not essential its good to be able to run a script directly and see changes in the UI.
2010-02-16 09:55:07 +00:00