# Ściąga — ue_workshop Import: `from ue_workshop import Scene, Sequence, Renderer, camera, lighting, materials, assets, blender, render` | Operacja | Przykład | |---|---| | Własna mapa | `scene = Scene("MyShot")` | | Kolor PBR (wartości liniowe 0–1) | `mat = materials.color("Red", (0.8, 0.02, 0.01), roughness=0.4)` | | Prosta postać | `actor = scene.character(material=mat, head_scale=1.3)` | | Bryła | `scene.primitive("Sphere", name="Ball", location=(0, 100, 50), material=mat)` | | 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)` | | Zmiana kierunku | `camera.look_at(cam, (0, 0, 150))` | | Sekwencja | `shot = Sequence(scene, fps=24, frames=48)` | | Aktywna kamera | `shot.camera(cam)` | | Klucz pozycji | `shot.transform_key(actor, 0, location=(0, 0, 0))` | | Klucz rotacji | `shot.transform_key(actor, 47, rotation=(0, 0, 360))` | | Klucz skali | `shot.transform_key(actor, 24, scale=(1.2, 1.2, 1.2), interpolation="auto")` | | Zapis + otwarcie Sequencera | `shot.save()` | | Własny renderer | `renderer = Renderer(width=1920, height=1080, samples=8, warmup=32, mp4=True)` | | Preset z własnymi wartościami | `renderer = Renderer.from_preset("final", samples=8)` | | Render z własnymi ustawieniami | `renderer.render(shot)` | | Podgląd tym samym rendererem | `renderer.render(shot, single_frame=24)` | | PNG + MP4 | `render.start(shot, preset="preview")` | | Tylko PNG | `render.start(shot, mp4=False)` | | Jedna klatka | `render.start(shot, single_frame=24)` | UE: centymetry, Z w górę. Rotacja w kluczach: **roll, pitch, yaw**, stopnie. Klatki: **0..frames-1**, koniec zakresu wyłączny. Interpolacja: `linear`, `auto`, `constant`. Cały obrót: klucze 0 i 360, nie 0 i 0. Kamera i modele to oryginalne obiekty UE: 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.