/
vasandi
/
AirSimGeorefWorld
Обзор
Документация
Войти
/
vasandi
/
AirSimGeorefWorld
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
create_level.py
84 строки
3 KB
Андрей Васильченко
добавлен мир Москва
08 июл 2026, 13:02
08 июл 2026, 13:02
d82816d
Код
Авторство
О чём код?
import unreal import os log = unreal.log def main(): log("[MoscowWorld] Создание уровня...") # Создаём новый уровень result = unreal.EditorLevelLibrary.load_level("/Engine/MapTemplates/Default") log("Default level загружен: " + str(result)) # Настраиваем освещение # Directional Light sun = unreal.EditorLevelLibrary.spawn_actor_from_class( unreal.DirectionalLight, unreal.Vector(0, 0, 10000), unreal.Rotator(-45, -30, 0) ) if sun: sun.set_actor_label("Sun") log(" Sun создан") # Sky Light sky = unreal.EditorLevelLibrary.spawn_actor_from_class( unreal.SkyLight, unreal.Vector(0, 0, 5000) ) if sky: sky.set_actor_label("SkyLight") log(" SkyLight создан") # Sky Atmosphere atm = unreal.EditorLevelLibrary.spawn_actor_from_class( unreal.SkyAtmosphere, unreal.Vector(0, 0, 0) ) if atm: atm.set_actor_label("SkyAtmosphere") log(" SkyAtmosphere создан") # Height Fog fog = unreal.EditorLevelLibrary.spawn_actor_from_class( unreal.ExponentialHeightFog, unreal.Vector(0, 0, 0) ) if fog: fog.set_actor_label("HeightFog") log(" HeightFog создан") # Player Start (обязательно для AirSim!) ps = unreal.EditorLevelLibrary.spawn_actor_from_class( unreal.PlayerStart, unreal.Vector(0, 0, 0), unreal.Rotator(0, 0, 0) ) if ps: ps.set_actor_label("PlayerStart") log(" PlayerStart создан") # Camera для обзора cam = unreal.EditorLevelLibrary.spawn_actor_from_class( unreal.CameraActor, unreal.Vector(0, -5000, 3000), unreal.Rotator(-15, 0, 0) ) if cam: cam.set_actor_label("OverviewCamera") log(" Camera создана") # Сохраняем уровень — сначала в текущее место, потом через EditorLoadingAndSavingUtils log("Сохранение уровня...") saved = unreal.EditorLoadingAndSavingUtils.save_loaded_levels([]) log("Сохранение уровней: " + str(saved)) # Если уровень не имеет пути — сохраняем через AssetRegistry current_level = unreal.EditorLevelLibrary.get_editor_world() if current_level: log("Текущий мир: " + current_level.get_name()) log("[MoscowWorld] Готово! Сохраните уровень через File → Save Current Level As → Content/Maps/MoscowLevel") main()