def get_scene_asset_paths(
    scene_paths, abs_paths=False, skip_failures=True, progress=None
):
    """Extracts all asset paths for the specified 3D scenes.

    Args:
        scene_paths: an iterable of ``.fo3d`` paths
        abs_paths (False): whether to return absolute paths
        skip_failures (True): whether to gracefully continue without raising an
            error if metadata cannot be computed for a file
        progress (None): whether to render a progress bar (True/False), use the
            default value ``fiftyone.config.show_progress_bars`` (None), or a
            progress callback function to invoke instead

    Returns:
        a dict mapping scene paths to lists of asset paths
    """
    if not scene_paths:
        return {}

    _scene_paths, all_local = _get_scene_paths(scene_paths)

    if all_local:
        if progress is None:
            progress = False
    else:
        logger.info("Getting asset paths...")

    _get_scene_asset_paths_single_bound = functools.partial(
        _get_scene_asset_paths_single,
        abs_paths=abs_paths,
        skip_failures=skip_failures,
    )
    all_asset_paths = fos.run(
        _get_scene_asset_paths_single_bound,
        list(zip(_scene_paths, scene_paths)),
        progress=progress,
    )

    asset_map = dict(zip(scene_paths, all_asset_paths))

    return asset_map
Extracts all asset paths for the specified 3D scenes.

    Args:
        scene_paths: an iterable of ``.fo3d`` paths
        abs_paths (False): whether to return absolute paths
        skip_failures (True): whether to gracefully continue without raising an
            error if metadata cannot be computed for a file
        progress (None): whether to render a progress bar (True/False), use the
            default value ``fiftyone.config.show_progress_bars`` (None), or a
            progress callback function to invoke instead

    Returns:
        a dict mapping scene paths to lists of asset paths
    
fiftyone/utils/utils3d.py