[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43822] trunk/blender: Optional offset for fluid cache frame reading.

Lukas Toenne lukas.toenne at googlemail.com
Wed Feb 1 16:58:34 CET 2012


Revision: 43822
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43822
Author:   lukastoenne
Date:     2012-02-01 15:58:26 +0000 (Wed, 01 Feb 2012)
Log Message:
-----------
Optional offset for fluid cache frame reading.

This was a request by Daniel Salazar. It adds a new frame offset variable to fluid sim settings, which can be used to display baked fluid sims at different times. Eventually this could be replaced by real NLA strips for cached data, but until then this is a simple way to have more flexible cache result usage.

Not strictly a BCon3 patch, but after IRC discussion with Genscher, ZanQdo and kaito decided to commit it anyway, since it's a small feature and makes fluid sim a bit more usable. Similar patch for point cache (particles, smoke, cloth) is being worked on as well.

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/properties_physics_fluid.py
    trunk/blender/source/blender/makesdna/DNA_object_fluidsim.h
    trunk/blender/source/blender/makesrna/intern/rna_fluidsim.c
    trunk/blender/source/blender/modifiers/intern/MOD_fluidsim_util.c

Modified: trunk/blender/release/scripts/startup/bl_ui/properties_physics_fluid.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/properties_physics_fluid.py	2012-02-01 13:38:23 UTC (rev 43821)
+++ trunk/blender/release/scripts/startup/bl_ui/properties_physics_fluid.py	2012-02-01 15:58:26 UTC (rev 43822)
@@ -85,6 +85,7 @@
             col.label()
             col.prop(fluid, "use_speed_vectors")
             col.prop(fluid, "use_reverse_frames")
+            col.prop(fluid, "frame_offset", text="Offset")
 
             layout.prop(fluid, "filepath", text="")
 

Modified: trunk/blender/source/blender/makesdna/DNA_object_fluidsim.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_object_fluidsim.h	2012-02-01 13:38:23 UTC (rev 43821)
+++ trunk/blender/source/blender/makesdna/DNA_object_fluidsim.h	2012-02-01 15:58:26 UTC (rev 43822)
@@ -74,6 +74,9 @@
 	float animStart, animEnd;
 	/* bake start end time (in blender frames) */
 	int bakeStart, bakeEnd;
+	/* offset for baked frames */
+	int frameOffset;
+	int pad;
 	/* g star param (LBM compressibility) */
 	float gstar;
 	/* activate refinement? */

Modified: trunk/blender/source/blender/makesrna/intern/rna_fluidsim.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_fluidsim.c	2012-02-01 13:38:23 UTC (rev 43821)
+++ trunk/blender/source/blender/makesrna/intern/rna_fluidsim.c	2012-02-01 15:58:26 UTC (rev 43822)
@@ -335,6 +335,11 @@
 	RNA_def_property_range(prop, 0, 100);
 	RNA_def_property_ui_text(prop, "End Time", "Simulation time of the last blender frame (in seconds)");
 	
+	prop= RNA_def_property(srna, "frame_offset", PROP_INT, PROP_NONE);
+	RNA_def_property_int_sdna(prop, NULL, "frameOffset");
+	RNA_def_property_ui_text(prop, "Cache Offset", "Offset when reading baked cache");
+	RNA_def_property_update(prop, NC_OBJECT, "rna_fluid_update");
+	
 	prop= RNA_def_property(srna, "simulation_scale", PROP_FLOAT, PROP_NONE);
 	RNA_def_property_float_sdna(prop, NULL, "realsize");
 	RNA_def_property_range(prop, 0.001, 10);

Modified: trunk/blender/source/blender/modifiers/intern/MOD_fluidsim_util.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_fluidsim_util.c	2012-02-01 13:38:23 UTC (rev 43821)
+++ trunk/blender/source/blender/modifiers/intern/MOD_fluidsim_util.c	2012-02-01 15:58:26 UTC (rev 43822)
@@ -475,6 +475,9 @@
 		break;
 	}
 
+	/* offset baked frame */
+	curFrame += fss->frameOffset;
+
 	BLI_path_abs(targetFile, modifier_path_relbase(ob));
 	BLI_path_frame(targetFile, curFrame, 0); // fixed #frame-no
 




More information about the Bf-blender-cvs mailing list