From 8c0a639fbaf1d84010ba38e613be507fd92fe31b Mon Sep 17 00:00:00 2001 From: Vysyr Date: Sat, 31 Oct 2026 17:21:00 +0100 Subject: [PATCH] blender customization --- Content/Python/ue_workshop/assets.py | 28 +++++++-- Content/Python/ue_workshop/materials.py | 57 ++++++++++++++++++ Content/Python/ue_workshop/paths.py | 6 ++ Content/Python/ue_workshop/scene.py | 40 +++++++++++- README.md | 56 +++++++++++++++++ docs/cheatsheet.md | 6 ++ docs/validation.md | 7 +++ exercises/my_shot.py | 26 +++++++- .../character/character_custom.blend | Bin 0 -> 118239 bytes source_assets/models/README.md | 13 ++++ tools/run_workshop.py | 2 +- tools/smoke_models.py | 31 ++++++++++ 12 files changed, 264 insertions(+), 8 deletions(-) create mode 100644 source_assets/character/character_custom.blend create mode 100644 source_assets/models/README.md create mode 100644 tools/smoke_models.py diff --git a/Content/Python/ue_workshop/assets.py b/Content/Python/ue_workshop/assets.py index aed8299..c5cc8b5 100644 --- a/Content/Python/ue_workshop/assets.py +++ b/Content/Python/ue_workshop/assets.py @@ -3,11 +3,12 @@ from pathlib import Path import unreal -from .paths import GENERATED, slug +from .paths import GENERATED, PROJECT, slug def import_model(filename, name="Character"): - source = Path(filename).resolve() + source = Path(filename).expanduser() + source = (source if source.is_absolute() else PROJECT / source).resolve() if not source.is_file(): raise FileNotFoundError(f"Brak modelu: {source}") if source.suffix.lower() not in {".glb", ".gltf", ".fbx", ".obj"}: @@ -31,6 +32,10 @@ def import_model(filename, name="Character"): pipeline = unreal.AssetToolsHelpers.get_asset_tools().duplicate_asset( "GLTFWorkshop", GENERATED + "/Pipelines", template) pipeline.set_editor_property("reimport_strategy", unreal.ReimportStrategyFlags.APPLY_PIPELINE_PROPERTIES) + pipeline.common_meshes_properties.set_editor_property( + "force_all_mesh_as_type", unreal.InterchangeForceMeshType.IFMT_STATIC_MESH) + pipeline.mesh_pipeline.set_editor_property("combine_static_meshes", True) + pipeline.mesh_pipeline.set_editor_property("import_skeletal_meshes", False) pipeline.material_pipeline.set_editor_property("import_materials", True) # PBR images are imported explicitly into WorkshopTextures below. This # avoids Interchange's dependency-preserving material reimport behavior. @@ -47,9 +52,11 @@ def import_model(filename, name="Character"): unreal.SoftObjectPath(pipeline.get_path_name()), unreal.SoftObjectPath("/Interchange/Pipelines/DefaultGLTFPipeline.DefaultGLTFPipeline")]) task.set_editor_property("options", options) - if source.suffix.lower() == ".fbx": + if source.suffix.lower() in {".fbx", ".obj"}: options = unreal.FbxImportUI() + options.set_editor_property("import_mesh", True) options.set_editor_property("import_as_skeletal", False) + options.set_editor_property("import_animations", False) options.set_editor_property("mesh_type_to_import", unreal.FBXImportType.FBXIT_STATIC_MESH) options.set_editor_property("automated_import_should_detect_type", False) options.static_mesh_import_data.set_editor_property("combine_meshes", True) @@ -59,10 +66,23 @@ def import_model(filename, name="Character"): if len(meshes) != 1: raise RuntimeError( f"Import {source.name}: oczekiwano jednego StaticMesh, otrzymano {len(meshes)}. " - "Polacz obiekty przed eksportem albo uzyj workshop.blender.import_character().") + "Plik musi zawierac statyczna geometrie modelu.") if source.suffix.lower() in {".glb", ".gltf"}: # UE preserves material edits on mesh reimport. In this workflow Blender # owns the look; explicitly synchronize the supported PBR parameters. from ._gltf import link_textures link_textures(source, meshes[0], destination) + else: + # Optional single-atlas convention, also used by the bundled FBX demos. + files = {file.stem.lower(): file for file in source.parent.iterdir() + if file.suffix.lower() in {".png", ".jpg", ".jpeg"}} + maps = {parameter: files.get(source.stem.lower() + suffix) + for suffix, parameter in (("_bc", "base_color"), ("_n", "normal"), + ("_r", "roughness"), ("_m", "metallic"), ("_e", "emissive"))} + if maps["base_color"] is not None: + from .materials import texture_set + material = texture_set(name + "Imported", **maps) + for index in range(len(meshes[0].static_materials)): + meshes[0].set_material(index, material) + unreal.EditorAssetLibrary.save_loaded_asset(meshes[0]) return meshes[0] diff --git a/Content/Python/ue_workshop/materials.py b/Content/Python/ue_workshop/materials.py index 83048af..0dc4054 100644 --- a/Content/Python/ue_workshop/materials.py +++ b/Content/Python/ue_workshop/materials.py @@ -1,6 +1,8 @@ """Small opaque PBR materials, generated without external assets.""" import unreal +from pathlib import Path + from .paths import GENERATED, slug @@ -32,3 +34,58 @@ def assign(actor, material, slot=0): if component is None: raise TypeError("Material mozna przypisac do aktora ze StaticMeshComponent.") component.set_material(slot, material) + + +def texture_set(name, *, base_color, normal=None, roughness=None, metallic=None, emissive=None): + """Create one atlas material from adjacent PBR textures (PNG/JPEG).""" + slug(name) + tools = unreal.AssetToolsHelpers.get_asset_tools() + path = f"{GENERATED}/Materials/M_{name}" + material = unreal.load_asset(path) + if material is None: + material = tools.create_asset("M_" + name, GENERATED + "/Materials", + unreal.Material, unreal.MaterialFactoryNew()) + lib = unreal.MaterialEditingLibrary + lib.delete_all_material_expressions(material) + entries = [("BaseColor", base_color, unreal.MaterialProperty.MP_BASE_COLOR, "RGB", "color"), + ("Normal", normal, unreal.MaterialProperty.MP_NORMAL, "RGB", "normal"), + ("Roughness", roughness, unreal.MaterialProperty.MP_ROUGHNESS, "R", "linear"), + ("Metallic", metallic, unreal.MaterialProperty.MP_METALLIC, "R", "linear"), + ("Emissive", emissive, unreal.MaterialProperty.MP_EMISSIVE_COLOR, "RGB", "color")] + for index, (label, filename, prop, channel, role) in enumerate(entries): + if filename is None: + if label in {"Roughness", "Metallic"}: + node = lib.create_material_expression(material, unreal.MaterialExpressionConstant, -300, index * 180) + node.set_editor_property("r", 0.6 if label == "Roughness" else 0.0) + lib.connect_material_property(node, "", prop) + continue + source = Path(filename).resolve() + if not source.is_file(): + raise FileNotFoundError(source) + task = unreal.AssetImportTask() + task.filename = str(source) + task.destination_path = f"{GENERATED}/Materials/Textures/{name}" + task.destination_name = "T_" + label + task.automated = True + task.replace_existing = True + task.save = True + task.set_editor_property("async_", False) + tools.import_asset_tasks([task]) + textures = [obj for obj in task.get_objects() if isinstance(obj, unreal.Texture2D)] + if len(textures) != 1: + raise RuntimeError("Nie mozna zaimportowac tekstury " + str(source)) + texture = textures[0] + texture.set_editor_property("srgb", role == "color") + texture.set_editor_property("compression_settings", unreal.TextureCompressionSettings.TC_NORMALMAP + if role == "normal" else unreal.TextureCompressionSettings.TC_MASKS + if role == "linear" else unreal.TextureCompressionSettings.TC_DEFAULT) + unreal.EditorAssetLibrary.save_loaded_asset(texture) + node = lib.create_material_expression(material, unreal.MaterialExpressionTextureSample, -300, index * 180) + node.set_editor_property("texture", texture) + node.set_editor_property("sampler_type", unreal.MaterialSamplerType.SAMPLERTYPE_NORMAL + if role == "normal" else unreal.MaterialSamplerType.SAMPLERTYPE_MASKS + if role == "linear" else unreal.MaterialSamplerType.SAMPLERTYPE_COLOR) + lib.connect_material_property(node, channel, prop) + lib.recompile_material(material) + unreal.EditorAssetLibrary.save_loaded_asset(material) + return material diff --git a/Content/Python/ue_workshop/paths.py b/Content/Python/ue_workshop/paths.py index 01cf372..a5c6ab7 100644 --- a/Content/Python/ue_workshop/paths.py +++ b/Content/Python/ue_workshop/paths.py @@ -16,6 +16,12 @@ def slug(value): def executable(name, explicit=None): candidate = explicit or os.environ.get("WORKSHOP_" + name.upper()) or shutil.which(name) + if not candidate and name == "blender" and os.name == "nt": + # Standard Windows installs do not necessarily add Blender to PATH. + root = Path(os.environ.get("PROGRAMFILES", r"C:\Program Files")) / "Blender Foundation" + installed = [path for path in root.glob("Blender */blender.exe") if path.is_file()] + if installed: + candidate = max(installed, key=lambda path: tuple(int(part) for part in re.findall(r"\d+", path.parent.name))) if candidate and Path(candidate).is_file(): return str(Path(candidate).resolve()) raise FileNotFoundError( diff --git a/Content/Python/ue_workshop/scene.py b/Content/Python/ue_workshop/scene.py index 1a3407d..4d58be7 100644 --- a/Content/Python/ue_workshop/scene.py +++ b/Content/Python/ue_workshop/scene.py @@ -1,7 +1,10 @@ """An isolated generated map, simple meshes and a ready-to-use character.""" +import math +from pathlib import Path + import unreal -from .paths import GENERATED, slug +from .paths import GENERATED, PROJECT, slug class Scene: @@ -65,6 +68,41 @@ class Scene: raise ValueError("Ksztalt: Cube, Sphere, Cylinder, Cone lub Plane.") return self.mesh(f"/Engine/BasicShapes/{shape}.{shape}", **kwargs) + def model(self, filename, name="Character", height=200, rotation=(0, 0, 0)): + """Import a model, fit its height (cm), and give it a floor-centered pivot. + + Returns a parent actor for transform animation; imported materials stay + on its mesh child. Rotation is (roll, pitch, yaw), applied before fitting. + """ + if height is not None and (not isinstance(height, (int, float)) or + not math.isfinite(height) or height <= 0): + raise ValueError("Wysokosc modelu musi byc dodatnia; None zachowuje rozmiar pliku.") + source = Path(filename).expanduser() + source = source if source.is_absolute() else PROJECT / source + if source.suffix.lower() == ".blend": + from .blender import import_character + mesh = import_character(source, name=name) + else: + from .assets import import_model + mesh = import_model(source, name=name) + actor = self.mesh(mesh, name=name + "Mesh") + roll, pitch, yaw = rotation + actor.set_actor_rotation(unreal.Rotator(roll=roll, pitch=pitch, yaw=yaw), False) + origin, extent = actor.get_actor_bounds(False) + if extent.z <= 0: + self.subsystem.destroy_actor(actor) + raise ValueError("Model ma zerowa wysokosc. Sprawdz geometrie i MODEL_ROTATION.") + if height is not None: + factor = float(height) / (2 * extent.z) + actor.set_actor_scale3d(unreal.Vector(factor, factor, factor)) + origin, extent = actor.get_actor_bounds(False) + actor.set_actor_location(unreal.Vector(-origin.x, -origin.y, extent.z - origin.z), False, False) + root = self.spawn(unreal.StaticMeshActor, name) + root.static_mesh_component.set_mobility(unreal.ComponentMobility.MOVABLE) + actor.attach_to_actor(root, "", unreal.AttachmentRule.KEEP_WORLD, + unreal.AttachmentRule.KEEP_WORLD, unreal.AttachmentRule.KEEP_WORLD, False) + return root + def character(self, material=None, head_scale=1.0): root = self.spawn(unreal.StaticMeshActor, "Character") root.static_mesh_component.set_mobility(unreal.ComponentMobility.MOVABLE) diff --git a/README.md b/README.md index 405a5ec..1398bd1 100644 --- a/README.md +++ b/README.md @@ -128,8 +128,64 @@ python3 tools/run_workshop.py --check --blender Ścieżki nie są zapisane na sztywno w bibliotece. Launcher ma domyślną lokalizację instalacji UE 5.7 na Windows; na Linuksie korzysta ze zmiennej lub PATH. +## Wybór postaci i model pobrany z internetu + +W `exercises/my_shot.py` wybierz `MODEL`: + +| Wartość | Postać | +|---|---| +| `"primitive"` | Dotychczasowa postać z brył, bez importu. | +| `"robot"` | RobotPolice z dołączonego `DemoAssets`. | +| `"pilot"` | Humanoid z `DemoAssets/pilot`. | +| `"file"` | Własny plik wskazany w `MODEL_FILE`. | + +Przykład własnego modelu: + +```python +MODEL = "file" +MODEL_FILE = PROJECT / "source_assets/models/my_character.glb" +MODEL_HEIGHT = 200 +MODEL_ROTATION = (0, 0, 90) +``` + +Rozpakuj pobrany model razem z teksturami. Możesz użyć ścieżki absolutnej +albo ścieżki względem projektu. GLB z osadzonymi teksturami PNG/JPEG pozwala +przenieść podstawowe materiały PBR w jednym pliku. FBX i OBJ wymagają zachowania +plików tekstur i powiązanych FBM/MTL. Nie wczytujemy ZIP ani plików `.uasset`. +Import zawsze odbywa się do wydzielonego katalogu generowanych assetów. + +Biblioteka łączy części modelu, ustawia jego wysokość w centymetrach i przesuwa +podstawę na Z=0. `MODEL_HEIGHT=None` zachowuje rozmiar źródłowy. Jeśli model leży +na boku, popraw `MODEL_ROTATION` (roll, pitch, yaw); obrót jest stosowany przed +dopasowaniem wysokości. Pivot animacji znajduje się na środku podstawy. + +Dla pojedynczego atlasu FBX/OBJ można dołączyć mapy `NazwaModelu_BC.png`, +`_N`, `_R`, `_M`, `_E` (również JPG/JPEG). Biblioteka odtworzy z nich jeden +materiał dla wszystkich slotów. Robot i pilot korzystają z tej konwencji. +Bez pliku `_BC` pozostają materiały zaimportowane przez UE. W GLB zachowywany +jest osobny materiał dla każdego slotu. + +Po zmianie postaci reszta skryptu działa tak samo: klucze `location`, `rotation` +i `scale` animują cały model. W przykładzie jest też opcjonalny podskok. +Modele z rigami są w tej wersji importowane jako statyczna geometria: +animacje kości, chodzenie z Mixamo i retargeting nie są jeszcze obsługiwane. +Wybrany model działa zarówno w edytorze, jak i przez `my_shot_headless.py`. + ## Blender → UE → film +Własną kopię wybierzesz też bezpośrednio w `my_shot.py`: + +```python +MODEL = "file" +MODEL_FILE = PROJECT / "source_assets/character/character_custom.blend" +``` + +Zapisz zmiany w Blenderze i ponownie uruchom ćwiczenie. Za każdym razem plik +jest eksportowany w tle i aktualizuje ten sam asset `CustomCharacter` w UE. +Nie trzeba ręcznie usuwać poprzedniego modelu. Eksport obejmuje kolekcję `Character`. +Na Windows biblioteka wykrywa też standardowe instalacje w `Blender Foundation`, +jeśli Blender nie jest w PATH; `WORKSHOP_BLENDER` pozwala wybrać inną instalację. + Przykładowy model znajduje się w `source_assets/character/character.blend`. Można go też odtworzyć (generator nie nadpisuje istniejącego pliku): diff --git a/docs/cheatsheet.md b/docs/cheatsheet.md index 0599b3f..b34a22a 100644 --- a/docs/cheatsheet.md +++ b/docs/cheatsheet.md @@ -11,6 +11,8 @@ Import: `from ue_workshop import Scene, Sequence, Renderer, camera, lighting, ma | Import statycznego modelu | `mesh = assets.import_model("C:/models/model.glb", name="MyModel")` | | Eksport + import Blendera | `mesh = blender.import_character("C:/models/character.blend")` | | Model na scenie | `actor = scene.mesh(mesh, name="Hero")` | +| Import z dopasowaniem rozmiaru i pivotu | `actor = scene.model("source_assets/models/hero.glb", name="Hero", height=200)` | +| Korekta osi modelu przed dopasowaniem | `actor = scene.model("hero.fbx", rotation=(0, 0, 90))` | | Światła studyjne | `lights = lighting.studio(scene)` | | Pojedyncze światło | `lighting.area(scene, location=(200, -200, 350), intensity=10000, color=(1, 0.5, 0.2))` | | Kamera | `cam = camera.create(scene, location=(450, -550, 300), target=(0, 0, 100), focal_length=45)` | @@ -35,5 +37,9 @@ Cały obrót: klucze 0 i 360, nie 0 i 0. Kamera i modele to oryginalne obiekty U możesz wywoływać ich metody, np. `actor.set_actor_label("MyHero")`. `shot.asset` to oryginalny LevelSequence, `shot.bind(actor)` zwraca binding UE. +W `my_shot.py`: `MODEL="robot"` lub `MODEL="pilot"` wybiera dołączony model. +`MODEL="file"` wczytuje `MODEL_FILE`. Obiekt z `scene.model()` ma pivot na podstawie +i zachowuje materiały; animacja dotyczy całego modelu, nie jego kości. + Przy pojedynczym podglądzie nie uruchamiaj dodatkowo pełnego renderu: jednocześnie może pracować tylko jeden renderer warsztatowy. diff --git a/docs/validation.md b/docs/validation.md index 540b4da..f994191 100644 --- a/docs/validation.md +++ b/docs/validation.md @@ -27,6 +27,13 @@ Nie uruchamiano testów na Linuksie ani na Blenderze 4.x. StaticMesh pod tą samą ścieżką po zmianie geometrii. - Zmiana koloru materiału oraz dodanie osadzonej tekstury: sprawdzone wartości parametrów UE, przypisanie tekstury i render do MP4. +- Import lokalnych RobotPolice i pilot z FBX, automatyczne dopasowanie wysokości + do 200 cm i ustawienie podstawy na Z=0. Odtworzenie materiałów z tekstur PBR. +- Pełny `my_shot.py` z robotem: 48 klatek 1920×1080, MP4 i poprawne zamknięcie UE. +- GLB po włączeniu łączenia części modelu: zaliczony test eksportu/importu + Blendera, aktualizacji materiałów i tekstury oraz renderu. +- `character_custom.blend`: dwukrotne wykonanie `my_shot.py`, dwa eksporty + Blendera do GLB i aktualizacja tego samego assetu UE; podgląd renderu zaliczony. Uruchamianie sprawdzeń jest opisane w README. Wyniki każdego renderu są zapisane w jego `result.json`; logi UE znajdują się w `Saved/Logs`. diff --git a/exercises/my_shot.py b/exercises/my_shot.py index 41e4c53..4cee837 100644 --- a/exercises/my_shot.py +++ b/exercises/my_shot.py @@ -17,12 +17,30 @@ if "ue_workshop" in sys.modules: importlib.reload(sys.modules["ue_workshop"]) from ue_workshop import Scene, Sequence, Renderer, camera, lighting, materials +from ue_workshop.paths import PROJECT + +# WYBOR POSTACI: "primitive", "robot", "pilot" lub "file". +MODEL = "file" +MODEL_FILE = PROJECT / "source_assets/character/character_custom.blend" +MODEL_HEIGHT = 200 # centymetry; None zachowuje oryginalny rozmiar +MODEL_ROTATION = (0, 0, 0) # roll, pitch, yaw; np. (0, 0, 90) obraca model # 1. MODEL I SCENA. Jednostki: centymetry. Os Z wskazuje gore. scene = Scene("MyShot") -blue = materials.color("Character", rgb=(0.04, 0.35, 0.8), metallic=0.2) floor = materials.color("Floor", rgb=(0.07, 0.08, 0.11)) -character = scene.character(material=blue, head_scale=1.0) +if MODEL == "primitive": + blue = materials.color("Character", rgb=(0.04, 0.35, 0.8), metallic=0.2) + character = scene.character(material=blue, head_scale=1.0) +else: + sources = { + "robot": (PROJECT / "DemoAssets/RobotPolice/RobotPolice.fbx", "RobotPolice"), + "pilot": (PROJECT / "DemoAssets/pilot/pilot.fbx", "Pilot"), + "file": (MODEL_FILE, "CustomCharacter"), + } + if MODEL not in sources: + raise ValueError("MODEL: primitive, robot, pilot lub file.") + source, name = sources[MODEL] + character = scene.model(source, name=name, height=MODEL_HEIGHT, rotation=MODEL_ROTATION) scene.primitive("Cube", name="Floor", location=(0, 0, -10), scale=(20, 20, 0.2), material=floor) lighting.studio(scene, key_color=(1.0, 0.75, 0.5), fill_color=(0.3, 0.6, 1.0)) cam = camera.create(scene, location=(450, -550, 300), focal_length=45) @@ -33,6 +51,10 @@ shot.camera(cam) # Rotacja: (roll, pitch, yaw), w stopniach. shot.transform_key(character, 0, rotation=(0, 0, 0)) shot.transform_key(character, 47, rotation=(0, 0, 360)) +# Opcjonalny podskok (dziala tak samo dla robota i wlasnego modelu): +# shot.transform_key(character, 0, location=(0, 0, 0), interpolation="auto") +# shot.transform_key(character, 24, location=(0, 0, 80), interpolation="auto") +# shot.transform_key(character, 47, location=(0, 0, 0), interpolation="auto") shot.save() # 3. WYNIK. Najpierw obejrzyj animacje w Sequencerze, potem zmien RENDER na True. diff --git a/source_assets/character/character_custom.blend b/source_assets/character/character_custom.blend new file mode 100644 index 0000000000000000000000000000000000000000..e3480d9deb6d5ebe94f71802893fa7adf5938479 GIT binary patch literal 118239 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 wYg9as-tQp@xvxwCm%Vk;%Tw;tSHNPJ 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

1(WvNz&o?o5V<$sm8@inTK26`b?1_OZ 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 literal 0 HcmV?d00001 diff --git a/source_assets/models/README.md b/source_assets/models/README.md new file mode 100644 index 0000000..1c24e12 --- /dev/null +++ b/source_assets/models/README.md @@ -0,0 +1,13 @@ +Tutaj możesz wrzucić rozpakowany model i jego tekstury. + +W `exercises/my_shot.py` ustaw `MODEL = "file"`, a w `MODEL_FILE` wskaż plik. +Ścieżka może być względem projektu albo absolutna, np. `"D:/Modele/hero.glb"`. +Najwygodniejszy jest GLB z osadzonymi teksturami PBR PNG/JPEG. +FBX i OBJ wymagają zachowania plików tekstur oraz powiązanych plików MTL/FBM. +ZIP trzeba wcześniej rozpakować. Plik `.blend` wymaga zainstalowanego Blendera +i kolekcji `Character`, zgodnie z przykładem w README projektu. + +Model jest importowany jako geometria statyczna. Można animować jego pozycję, +obrót i skalę. Rig, retargeting i animacje chodzenia nie są obecnie importowane. +Tekstury i nazwy materiałów powinny być zachowane w eksporcie; obsługujemy +podstawowe PBR, a nie dowolne shadery konkretnego programu. diff --git a/tools/run_workshop.py b/tools/run_workshop.py index 35b5b0f..ceb2e1e 100644 --- a/tools/run_workshop.py +++ b/tools/run_workshop.py @@ -66,7 +66,7 @@ def main(argv=None): command = [editor, str(ROOT / "ExampleProject.uproject"), "-ExecutePythonScript=" + (ROOT / "tools/ue_bootstrap.py").as_posix(), "-RenderOffscreen", "-unattended", "-nosplash", "-nosound", "-stdout", - "-FullStdOutLogOutput", "-NoLoadingScreen"] + "-FullStdOutLogOutput", "-NoLoadingScreen", "-nocef"] if args.verbose: # UE writes its own log when console output is streamed directly. command.append("-abslog=" + log_path.as_posix()) diff --git a/tools/smoke_models.py b/tools/smoke_models.py new file mode 100644 index 0000000..3573361 --- /dev/null +++ b/tools/smoke_models.py @@ -0,0 +1,31 @@ +"""Check local FBX characters, automatic fitting, stable pivots and MRQ.""" +import unreal + +from ue_workshop import Scene, Sequence, Renderer, camera, lighting +from ue_workshop.paths import PROJECT + +scene = Scene("ImportedModelsSmoke") +characters = [] +for name, file in (("RobotSmoke", "DemoAssets/RobotPolice/RobotPolice.fbx"), + ("PilotSmoke", "DemoAssets/pilot/pilot.fbx")): + root = scene.model(PROJECT / file, name=name, height=200) + child = root.get_attached_actors()[0] + origin, extent = child.get_actor_bounds(False) + assert abs(2 * extent.z - 200) < 0.1, (name, origin, extent) + assert abs(origin.z - extent.z) < 0.1, (name, origin, extent) + assert abs(origin.x) < 0.1 and abs(origin.y) < 0.1 + mesh = child.static_mesh_component.static_mesh + assert len(mesh.static_materials) > 0 + assert all(slot.material_interface for slot in mesh.static_materials) + assert all(slot.material_interface.get_name() == "M_" + name + "Imported" for slot in mesh.static_materials) + characters.append(root) +characters[1].set_actor_location(unreal.Vector(0, 160, 0), False, False) +scene.primitive("Cube", name="Floor", location=(0, 0, -10), scale=(20, 20, 0.2)) +lighting.studio(scene) +cam = camera.create(scene, location=(600, -850, 400), target=(0, 70, 100)) +shot = Sequence(scene, frames=2) +shot.camera(cam) +for character in characters: + shot.transform_key(character, 0, rotation=(0, 0, 0)) + shot.transform_key(character, 1, rotation=(0, 0, 45)) +Renderer(width=640, height=360, samples=2, warmup=8).render(shot)