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>2012-03-19 01:33:00 +0400
committerJanne Karhu <jhkarh@gmail.com>2012-03-19 01:33:00 +0400
commit709ca0ece9b28858cea8084f8040ce0b7455958a (patch)
tree155f9061bdb676283be269767f1f3cb40ddf325f /release
parent9db821a5db8e45b671af665062732c08c7fc2b13 (diff)
"Fix" for [#30098] Particle rotation wrong / explode modifier
- The main problem was that in order to be accurate all particle rotations have to be calculated incrementally so the only working solution is to store rotations to the point cache (previously this was only done for dynamic rotations). This can nearly double the point cache size so it's not ideal to have this as a default as in many cases you don't care about particle rotations. - Particle rotation panel now has a new "enable" checkbox that enables rotation calculations and the storing of rotations to point cache. - Old files will have rotations enabled via do_versions so that in the worst case old files will only get bigger point caches, but no sudden loss of particle rotations.
Diffstat (limited to 'release')
-rw-r--r--release/scripts/startup/bl_ui/properties_particle.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index 4e511f18cd4..c987ceb2562 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -380,6 +380,7 @@ class PARTICLE_PT_velocity(ParticleButtonsPanel, Panel):
class PARTICLE_PT_rotation(ParticleButtonsPanel, Panel):
bl_label = "Rotation"
+ bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@classmethod
@@ -394,6 +395,15 @@ class PARTICLE_PT_rotation(ParticleButtonsPanel, Panel):
else:
return False
+ def draw_header(self, context):
+ psys = context.particle_system
+ if psys:
+ part = psys.settings
+ else:
+ part = context.space_data.pin_id
+
+ self.layout.prop(part, "use_rotations", text="")
+
def draw(self, context):
layout = self.layout
@@ -403,7 +413,7 @@ class PARTICLE_PT_rotation(ParticleButtonsPanel, Panel):
else:
part = context.space_data.pin_id
- layout.enabled = particle_panel_enabled(context, psys)
+ layout.enabled = particle_panel_enabled(context, psys) and part.use_rotations
layout.prop(part, "use_dynamic_rotation")