[Bf-blender-cvs] [7b0ffd69e04] fluid-mantaflow: fix for active fields (cache read)
Sebastián Barschkis
noreply at git.blender.org
Thu Aug 2 13:47:45 CEST 2018
Commit: 7b0ffd69e0439c86d7c32b5417703f5c4cdac77b
Author: Sebastián Barschkis
Date: Thu Aug 2 13:27:54 2018 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rB7b0ffd69e0439c86d7c32b5417703f5c4cdac77b
fix for active fields (cache read)
new cache does not save active fields, e.g. fire. so for now, just
reload them during cache read step
===================================================================
M source/blender/blenkernel/intern/smoke.c
===================================================================
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c
index 3ab0d4633d7..04225a3e2fc 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -3304,6 +3304,8 @@ static void smokeModifier_process(
SmokeDomainSettings *sds = smd->domain;
int startframe, endframe, framenr;
Object *guiding_parent = NULL;
+ Object **objs = NULL;
+ unsigned int numobj = 0;
SmokeModifierData *smd_parent = NULL;
bool is_first_frame;
framenr = scene->r.cfra;
@@ -3345,6 +3347,12 @@ static void smokeModifier_process(
/* Read cache. For liquids update data directly (i.e. not via python) */
if (!is_baking)
{
+ /* Cache does not keep track of active fields yet. So refresh them here */
+ objs = get_collisionobjects(scene, ob, sds->fluid_group, &numobj, eModifierType_Smoke);
+ update_flowsflags(sds, objs, numobj);
+ objs = get_collisionobjects(scene, ob, sds->coll_group, &numobj, eModifierType_Smoke);
+ update_obstacleflags(sds, objs, numobj);
+
if (sds->cache_flag & FLUID_CACHE_BAKED_DATA)
{
if (sds->type == MOD_SMOKE_DOMAIN_TYPE_GAS)
More information about the Bf-blender-cvs
mailing list