blenderproc.python.loader.ShapeNetLoader module

class blenderproc.python.loader.ShapeNetLoader.ShapeNetLoader[source]

Bases: object

static _correct_materials(obj)[source]

If the used material contains an alpha texture, the alpha texture has to be flipped to be correct

Parameters:obj (MeshObject) – object where the material maybe wrong
static _get_files_with_synset(used_synset_id, used_source_id, path_to_taxonomy_file, data_path)[source]

Returns a list of a .obj file for the given synset_id

Parameters:
  • used_synset_id (str) – the id of the category something like: ‘02691156’, see the data_path folder for more ids
  • used_source_id (str) – object identifier of the a particular ShapeNet category, see inside any ShapeNet category for identifiers
  • path_to_taxonomy_file (str) – path to the taxonomy.json file, should be in the data_path, too
  • data_path (str) – path to the ShapeNetCore.v2 folder
Return type:

list

Returns:

list of .obj files, which are in the synset_id folder, based on the given taxonomy

static find_parent_synset_id(data_path, synset_id, json_data)[source]

Returns the parent synset_id if it exists. If the synset_id is already parent synset_id, it is just returned :param data_path: path to the ShapeNetCore.v2 folder :param synset_id: the id of the category something like: ‘02691156’, see the data_path folder for more ids :param json_data: loaded data from the ShapeNet taxonomy.json file :return: parent synset_id

blenderproc.python.loader.ShapeNetLoader.load_shapenet(data_path, used_synset_id, used_source_id='', move_object_origin=True)[source]

This loads an object from ShapeNet based on the given synset_id, which specifies the category of objects to use.

From these objects one is randomly sampled and loaded.

Todo: not good: Note: if this module is used with another loader that loads objects with semantic mapping, make sure the other module is loaded first in the config file.

Parameters:
  • data_path (str) – The path to the ShapeNetCore.v2 folder.
  • used_synset_id (str) – The synset id for example: ‘02691156’, check the data_path folder for more ids.
  • used_source_id (str) – Object identifier of the a particular ShapeNet category, see inside any ShapeNet category for identifiers
  • move_object_origin (bool) – Moves the object center to the bottom of the bounding box in Z direction and also in the middle of the X and Y plane, this does not change the .location of the object. Default: True
Return type:

MeshObject

Returns:

The loaded mesh object.