Blender asset tracer (v1.1.1) does not work with FluidSimModifier in Blender 2.81 #69976

Closed
opened 2019-09-17 13:42:47 +02:00 by Milan Jaros · 4 comments

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

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
Author

Added subscriber: @MilanJaros

Added subscriber: @MilanJaros
Sybren A. Stüvel was assigned by Milan Jaros 2019-09-17 13:44:42 +02:00
Author

Added subscriber: @fsiddi

Added subscriber: @fsiddi

This issue was referenced by 5988f3599a

This issue was referenced by 5988f3599a1b5702c0f67ac9f07a2dd0ac15e9d7

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-asset-tracer#69976
No description provided.