January 19, 2015, 19:21 (GMT) |
Presets for hair dynamics. This is necessary because the hair dynamics settings are not part of the ParticleSettings datablock, but part of the convoluted cloth modifier inside the particle system struct. In the future this will be recoded properly, but in the meantime presets provide a simple an unobtrusive way to have reusable dynamics settings for hair. Conflicts: release/scripts/startup/bl_ui/properties_particle.py |
January 19, 2015, 19:20 (GMT) |
Radical simplification of the wind effect on hair, since the previous approach does not work very well. Using a cross section estimate still causes large oscillations due to varying hair force based on angles. It also requires a sensible hair thickness value (particle radius) which is difficult to control and visualize at this point. The new model is based purely on per-vertex forces, which seems to be much more stable. It's also somewhat justified by the fact that each hair vertex represents a certain mass. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp |
January 19, 2015, 19:20 (GMT) |
Fix for wind force function call. |
January 19, 2015, 19:18 (GMT) |
Improved force field effects on hair strands. The previous calculation was modulated with the angle between the wind direction and the segments, which leads to very oscillating behavior. Now the formula includes an estimate for the geometric cross section of a hair segment based on the incident angle and the hair thickness (currently just the particle size). This gives a more stable behavior and more realistic response to wind. Conflicts: source/blender/blenkernel/intern/particle_system.c source/blender/physics/intern/BPH_mass_spring.cpp |
January 19, 2015, 19:15 (GMT) |
New python submodule `mathutils.interpolate` for various mesh interpolation and weighting methods. This module will contain mirrored functions for calculating and applying weights for points on a mesh. This includes barycentric and UV weighting and possibly more advanced global weighting such as harmonic weights. The naming should follow this scheme: <type>_{2d,3d}_{calc,apply} e.g. poly_2d_calc poly_2d_apply uv_3d_calc ... Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D939 |
January 19, 2015, 19:12 (GMT) |
Fix for missing library linking in blenderplayer. |
January 19, 2015, 19:12 (GMT) |
Another fix for particle instance child lookups, was not subtracting parent amount. |
January 19, 2015, 19:12 (GMT) |
Fix for invalid particle pointer access in mixed particle/child loop. |
January 19, 2015, 19:11 (GMT) |
Better update function for particle settings affecting nested cloth modifier. |
January 19, 2015, 19:11 (GMT) |
Fix for applying the bending randomness factor. A stupid hack is needed here, changing the way the factor is applied to angular bending springs. In cloth sim the bending factor of individual springs is applied as a mix value between the bending stiffness and a max value, but this max value isn't even used in hair sim so that approach becomes useless. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp |
January 19, 2015, 19:11 (GMT) |
Randomness factor for hair bending stiffness. This helps to create some variation in a hair system, which can otherwise become very uniform and boring. It's yet another confusing setting in a system that should have been nodified, but only option for now (broken windows ...) Conflicts: source/blender/blenkernel/intern/particle_system.c source/blender/physics/intern/BPH_mass_spring.cpp |
January 19, 2015, 19:09 (GMT) |
Fix for particle instance initial frames. These were not orthonormal and tended to flip with changing hair direction, now use the particle hair matrix which is stable wrt. the mesh surface. |
January 19, 2015, 19:08 (GMT) |
Fix for particle instance modifier: use a stable parallel-transport framing method instead of the Frenet frame. The Frenet frame is very succeptible to sudden twists along straight sections of a curve where the second derivative (curvature) becomes 0. |
January 19, 2015, 19:08 (GMT) |
Nicer hashing functionality for sim debugging using a variadic macro to support multiple hash identifiers. Using explicit hashing functions for every sim debug call defeats the purpose of having a quick feedback system. Now this can be done simply by passing an arbitrary number of hash inputs (integers) at the end of the function calls, which are then combined by a system of variadic macros (based on the ELEM feature). Up to 8 identifiers are supported currently, but more could be added easily if needed. Conflicts: source/blender/blenkernel/intern/particle_system.c source/blender/physics/intern/BPH_mass_spring.cpp |
January 19, 2015, 19:07 (GMT) |
Some tweaking of value ranges for hair target density and removed density factor (already included in grid velocity). Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp |
January 19, 2015, 19:06 (GMT) |
Inverted effect of target density was unstable, the divergence term needs to be substracted instead. |
January 19, 2015, 19:06 (GMT) |
Use dedicated debug values in cloth settings instead of abusing unused other values. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp |
January 19, 2015, 19:05 (GMT) |
Fixed wrong stride values used for offsetting the index of Eigen values. The Eigen solver for hair grids uses an extra margin of 1, which means greater stride values. |
January 19, 2015, 19:05 (GMT) |
Hair grid code was using an invalid hair segment at each hair end with zero vectors, leading to bad density values. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp |
January 19, 2015, 19:04 (GMT) |
A bunch of debug drawing changes. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021