Page MenuHome

Blender asset tracer (v1.1.1) does not work with FluidSimModifier in Blender 2.81
Closed, ResolvedPublic

Description

BAT: blender_asset_tracer-1.1.1-py3-none-any.whl
BLENDER: the night build of Blender 2.81

Description:

I tried to use blender_asset_tracer (which uses flamenco addon), but there is problem with fluid modifier_fluid_sim:

KeyError: "Struct(b'FluidsimModifierData') has no field b'point_cache', only [b'fss', b'modifier']"

There is no point_cache in FluidsimModifierData (C implementation) in Blender 2.81.

Solution:

I commented few lines in trace/modifier_walkers.py:

#TODO(Sybren): check whether this is actually used
   # (in Blender's source there is a point_cache pointer, but it's NULL in my test)
   #pointcache = modifier.get_pointer(b'point_cache')
   #if pointcache:
   #    yield from _walk_point_cache(ctx, block_name, modifier.bfile, pointcache, cdefs.PTCACHE_EXT)

I added few lines into pack/__init__.py (line 256):

if not os.path.exists(usage.asset_path):
          log.info('Skipping missing path: %s', usage.asset_path)
          continue

Note: os.path has to be replaced by pathlib