Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanne Karhu <jhkarh@gmail.com>2009-07-04 07:50:12 +0400
committerJanne Karhu <jhkarh@gmail.com>2009-07-04 07:50:12 +0400
commit66918b3add4dfc90a8074f4bdc1c797ae9bf1371 (patch)
treeb1cae9c0532cac2288b157034a3fa83c699bbbfb /release
parent2c71b12998e380ff191b9cb94de22685595afaac (diff)
A bunch of fun stuff now possible because of new pointcache code:
* Baked normal particles can now use the "Path" visualization. * Path "max length" & "abs length" are now history: - New option to set path start & end times + random variation to length. - Much more flexible (and calculated better) than previous options. - This works with parents, children, hair & normal particles unlike old length option. - Only known issue for now is that children from faces don't get calculated correctly when using path start time. * New option "trails" for "halo", "line" and "billboard" visualizations: - Draws user controllable number of particle instances along particles path backwards from current position. - Works with children too for cool/weird visualizations that weren't possible before. * Normal particle children's velocities are now approximated better when needed so that "line" visualization trails will look nice. * New particle instance modifier options: - "path"-option works better and has controllable (max)position along path (with random variation possible). - "keep shape"-option for hair, keyed, or baked particles allows to place the instances to a single point (with random variation possible) along particle path. - "axis" option to make rotation handling better (still not perfect, but will have to do for now). Some fixes & cleanup done along the way: * Random path length didn't work for non-child particles. * Cached & unborn particles weren't reset to emit locations. * Particle numbers weren't drawn in the correct place. * Setting proper render & draw visualizations was lost somewhere when initializing new particle settings. * Changing child mode wasn't working correctly. * Some cleanup & modularization of particle child effector code and particle drawing & rendering code. * Object & group visualizations didn't work. * Child simplification didn't work.
Diffstat (limited to 'release')
-rw-r--r--release/ui/buttons_data_modifier.py9
-rw-r--r--release/ui/buttons_particle.py35
2 files changed, 30 insertions, 14 deletions
diff --git a/release/ui/buttons_data_modifier.py b/release/ui/buttons_data_modifier.py
index 2400461b623..477be27e820 100644
--- a/release/ui/buttons_data_modifier.py
+++ b/release/ui/buttons_data_modifier.py
@@ -300,9 +300,18 @@ class DATA_PT_modifiers(DataButtonsPanel):
col.itemR(md, "normal")
col.itemR(md, "children")
col.itemR(md, "path")
+ if md.path:
+ col.itemR(md, "keep_shape")
col.itemR(md, "unborn")
col.itemR(md, "alive")
col.itemR(md, "dead")
+ if md.path:
+ col.itemR(md, "axis", text="")
+
+ if md.path:
+ row = layout.row()
+ row.itemR(md, "position", slider=True)
+ row.itemR(md, "random_position", text = "Random", slider=True)
def particlesystem(self, layout, ob, md):
layout.itemL(text="See Particle panel.")
diff --git a/release/ui/buttons_particle.py b/release/ui/buttons_particle.py
index 49ceaf6aae1..93ce9c5c745 100644
--- a/release/ui/buttons_particle.py
+++ b/release/ui/buttons_particle.py
@@ -353,19 +353,14 @@ class PARTICLE_PT_render(ParticleButtonsPanel):
colsub.itemR(part, "adaptive_pix")
sub.itemR(part, "hair_bspline")
sub.itemR(part, "render_step", text="Steps")
- sub = split.column()
- sub.itemL(text="Length:")
- sub.itemR(part, "abs_length", text="Absolute")
- sub.itemR(part, "absolute_length", text="Maximum")
+ sub = split.column()
+
+ sub.itemL(text="Timing:")
+ sub.itemR(part, "abs_path_time")
+ sub.itemR(part, "path_start", text="Start", slider= not part.abs_path_time)
+ sub.itemR(part, "path_end", text="End", slider= not part.abs_path_time)
sub.itemR(part, "random_length", text="Random", slider=True)
- #row = layout.row()
- #row.itemR(part, "timed_path")
- #col = row.column(align=True)
- #col.active = part.timed_path == True
- #col.itemR(part, "line_length_tail", text="Start")
- #col.itemR(part, "line_length_head", text="End")
-
row = layout.row()
col = row.column()
@@ -384,7 +379,6 @@ class PARTICLE_PT_render(ParticleButtonsPanel):
elif part.ren_as == 'OBJECT':
- #sub = split.column()
sub.itemR(part, "dupli_object")
elif part.ren_as == 'GROUP':
sub.itemR(part, "dupli_group")
@@ -428,7 +422,19 @@ class PARTICLE_PT_render(ParticleButtonsPanel):
row.itemR(part, "billboard_animation", expand=True)
row.itemL(text="Offset:")
row.itemR(part, "billboard_split_offset", expand=True)
-
+ if part.ren_as == 'HALO' or part.ren_as == 'LINE' or part.ren_as=='BILLBOARD':
+ row = layout.row()
+ col = row.column()
+ col.itemR(part, "trail_count")
+ if part.trail_count > 1:
+ col.itemR(part, "abs_path_time", text="Length in frames")
+ col = row.column()
+ col.itemR(part, "path_end", text="Length", slider=not part.abs_path_time)
+ col.itemR(part, "random_length", text="Random", slider=True)
+ else:
+ col = row.column()
+ col.itemL(text="")
+
class PARTICLE_PT_draw(ParticleButtonsPanel):
__idname__= "PARTICLE_PT_draw"
__label__ = "Display"
@@ -475,11 +481,12 @@ class PARTICLE_PT_draw(ParticleButtonsPanel):
col.itemR(part, "draw_health")
col = row.column()
+ col.itemR(part, "material_color", text="Use material color")
+
if (path):
box = col.box()
box.itemR(part, "draw_step")
else:
- col.itemR(part, "material_color", text="Use material color")
subcol = col.column()
subcol.active = part.material_color==False
#subcol.itemL(text="color")