variant_set_name) continue material_name = target_description.find('name').text.replace(' ', '_') actors = [] if not material_name in material_actors: print("did not find actors with material " + material_name) else: actors = material_actors[material_name] variant_list = variant_switch.find('VariantList') variants = variant_list.find('Variants') for variant in variants: # create new mariant instance variant_name = variant.find('Name').text variant = unreal.Variant() variant.set_display_text(variant_name) unreal.VariantManagerLibrary.add_variant(variant_set, variant) # create new dummy material instance variant_sanitized_name = unreal.PackageTools.sanitize_package_name( variant_name).replace(')', '_').replace('(', '_') variant_path = content_output + variant_sanitized_name if unreal.EditorAssetLibrary.does_asset_exist(variant_path): material = unreal.EditorAssetLibrary.load_asset(variant_path) else: material = asset_tools.create_asset( variant_sanitized_name, content_output, unreal.MaterialInstanceConstant, unreal.MaterialInstanceConstantFactoryNew()) unreal.EditorAssetLibrary.save_loaded_asset(material) # capture the actor material in the variant
# detail than test_variant_manager.py import unreal # Create all assets and objects we'll use lvs = unreal.VariantManagerLibrary.create_level_variant_sets_asset( "LVS", "/Game/") lvs_actor = unreal.VariantManagerLibrary.create_level_variant_sets_actor(lvs) if lvs is None or lvs_actor is None: print "Failed to spawn either the LevelVariantSets asset or the LevelVariantSetsActor!" quit() var_set1 = unreal.VariantSet() var_set1.set_display_text("My VariantSet") var1 = unreal.Variant() var1.set_display_text("Variant 1") # Adds the objects to the correct parents lvs.add_variant_set(var_set1) var_set1.add_variant(var1) # Spawn a simple cube static mesh actor cube = unreal.EditorAssetLibrary.load_asset( "StaticMesh'/Engine/BasicShapes/Cube.Cube'") spawned_actor = None if cube: location = unreal.Vector() rotation = unreal.Rotator() spawned_actor = unreal.EditorLevelLibrary.spawn_actor_from_object( cube, location, rotation)
if lvs is None: print( "Failed to spawn either the LevelVariantSets asset or the LevelVariantSetsActor!" ) quit() var_set_colors = unreal.VariantSet() var_set_colors.set_display_text("Colors") var_set_letters = unreal.VariantSet() var_set_letters.set_display_text("Letters") var_set_fruits = unreal.VariantSet() var_set_fruits.set_display_text("Fruits") var_red = unreal.Variant() var_red.set_display_text("Red") var_green = unreal.Variant() var_green.set_display_text("Green") var_blue = unreal.Variant() var_blue.set_display_text("Blue") var_a = unreal.Variant() var_a.set_display_text("A") var_b = unreal.Variant() var_b.set_display_text("B") var_apple = unreal.Variant()
lvs = unreal.VariantManagerLibrary.create_level_variant_sets_asset( "LVS", "/Game/") lvs_actor = unreal.VariantManagerLibrary.create_level_variant_sets_actor(lvs) if lvs is None or lvs_actor is None: print( "Failed to spawn either the LevelVariantSets asset or the LevelVariantSetsActor!" ) quit() var_set1 = unreal.VariantSet() var_set1.set_display_text("My VariantSet") var_set2 = unreal.VariantSet() var_set2.set_display_text("VariantSet we'll delete") var1 = unreal.Variant() var1.set_display_text("Variant 1") var2 = unreal.Variant() var2.set_display_text("Variant 2") var3 = unreal.Variant() var3.set_display_text("Variant 3") var4 = unreal.Variant() var4.set_display_text("Variant 4") var5 = unreal.Variant() var5.set_display_text("Variant 5") # Adds the objects to the correct parents
if __name__ == "__main__": lvs = unreal.VariantManagerLibrary.create_level_variant_sets_asset( "LVS", "/Game/") lvs_actor = unreal.VariantManagerLibrary.create_level_variant_sets_actor( lvs) if lvs is None or lvs_actor is None: print( "Failed to spawn either the LevelVariantSets asset or the LevelVariantSetsActor!" ) quit() var_set1 = unreal.VariantSet() var_set1.set_display_text("My VariantSet") varTexture = unreal.Variant() varTexture.set_display_text("From texture") varPath = unreal.Variant() varPath.set_display_text("From path") varCam = unreal.Variant() varCam.set_display_text("From cam") varViewport = unreal.Variant() varViewport.set_display_text("From viewport") lvs.add_variant_set(var_set1) var_set1.add_variant(varTexture) var_set1.add_variant(varPath) var_set1.add_variant(varCam)