diff --git a/sim_lab/wormhole_sim.py b/sim_lab/wormhole_sim.py index 0e977d7f83eed9b67227ec000fd20f4b49415fc6..5ad12914a872e6e97ae8859f971174ee72ddc945 100644 --- a/sim_lab/wormhole_sim.py +++ b/sim_lab/wormhole_sim.py @@ -7,6 +7,7 @@ # python_version :3.9 # ============================================================================== from bodies import Sun, Earth +from sim_scenes.universe_sim_scenes import UniverseSimScenes from simulators.ursina.entities.entity_utils import create_ambient_light from bodies.universe_body import create_universe_body from common.consts import SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH, SECONDS_PER_YEAR, AU @@ -31,7 +32,7 @@ class WormholeInfo: camera_target_speed: int = 2000 camera_target_max_speed: int = 2000 camera_forward_speed: int = - 0.1 - camera_max_speed: int = 5000 + camera_max_speed: int = 4000 camera_acc_speed: int = 1.02 camera_forward_acc_speed: int = 0.01 size_factor: float = 10 @@ -45,16 +46,7 @@ class WormholeInfo: around_acc_speed: int = -2 -# class WormholeInfoParams: -# def __init__(self): -# self.params = [] -# -# def add(self, param_name): -# -# return self - - -class WormholeSim: +class WormholeSim(UniverseSimScenes): SIZE_SCALE = 1 D = AU / 10 * SIZE_SCALE @@ -107,19 +99,20 @@ class WormholeSim: # around_acc_speed: int = -2 wormhole_infos = [ - {"position": [D, 0, -D], "rotation_y": -150}, - {"position": [D, 0, D], "rotation_z": 30, "around_acc_speed": -20, "around_min_speed": 150, - "camera_forward_speed": -0.3,"around_max_count":500}, - {"position": [- D, -D, D]}, - {"position": [- D, 0, -D]}, - {"position": [D, D, D]}, - {"position": [D, -D, D]}, - {"position": [- D, -D, -D]}, - {"position": [- D, 0, D]}, - {"position": [D, D, -D]}, - {"position": [- D, D, -D]}, - {"position": [- D, D, D]}, - {"position": [D, -D, -D]} + {"name": "我们宇宙", "position": [D, 0, -D], "rotation_y": -150, "around_direction": "down", + "camera_forward_speed": 0, "around_max_count": 400}, + {"name": "红色宇宙", "position": [D, 0, D], "rotation_z": 30, "around_acc_speed": -20, + "around_min_speed": 150, "camera_forward_speed": -0.2, "around_max_count": 600}, + {"name": "黄色宇宙", "position": [- D, -D, D], "around_direction": "left"}, + {"name": "梦海宇宙", "position": [- D, 0, -D]}, + {"name": "金色宇宙", "position": [-D, D, D], "around_max_count": 400}, + # {"position": [D, -D, D]}, + # {"position": [- D, -D, -D]}, + # {"position": [- D, 0, D]}, + # {"position": [D, D, -D]}, + # {"position": [- D, D, -D]}, + # {"position": [- D, D, D]}, + # {"position": [D, -D, -D]} ] def build_wormhole_info_param(wormhole_info): @@ -445,6 +438,9 @@ class WormholeSim: UrsinaEvent.on_ready_subscription(wormhole_sim.on_ready) def run(self): + + self.set_window_size((1920, 1079), False) + self.build_events() # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 @@ -457,8 +453,11 @@ class WormholeSim: position=[0, self.D, -self.D * 2], cosmic_bg='', gravity_works=False, + bg_music='sounds/no_glory.mp3', timer_enabled=True, show_grid=False, + show_camera_info=False, + show_control_info=False, show_trail=False)