diff --git a/sim_scenes/featured/center_point_moving_sun_to_earth.py b/sim_scenes/featured/center_point_moving_sun_to_earth.py index 287a8220f109de20402554515398fbab5038ac0f..995da3d7f1d279f306600b1e15faae30428b218d 100644 --- a/sim_scenes/featured/center_point_moving_sun_to_earth.py +++ b/sim_scenes/featured/center_point_moving_sun_to_earth.py @@ -92,7 +92,7 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase): segments=100) # print(points) orbit_line = create_orbit_by_points(center_body.position, points, line_color=body.trail_color, - alpha=alpha, thickness=2) + alpha=alpha, thickness=4) return orbit_line def create_orbit_lines(self): @@ -109,7 +109,7 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase): else: alpha = 0.2 start_time = conv_to_astropy_time(self.start_time) - orbit_line = self.create_orbit_line(self.sun, body, start_time, alpha=1.0) + orbit_line = self.create_orbit_line(self.sun, body, start_time, alpha=0.8) if orbit_line is not None: self.orbit_lines.append(orbit_line) return self.orbit_lines @@ -173,20 +173,25 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase): def on_ready(self): super(CenterPointMovingSimLive, self).on_ready() + self.sky.rotation_y = 20 + self.sky.rotation_x = -290 + self.sky.rotation_z = -95 + UrsinaConfig.trail_type = "line" # UrsinaConfig.trail_length = 91 UrsinaConfig.trail_type = "curve_line" - UrsinaConfig.trail_length = 250 + UrsinaConfig.trail_length = 180 # UrsinaConfig.trail_length = 1000 - UrsinaConfig.trail_thickness_factor = 2 - UrsinaConfig.trail_factor = 2 + UrsinaConfig.trail_thickness_factor = 4 + UrsinaConfig.trail_alpha = 0.8 + UrsinaConfig.trail_factor = 4 for body in self.bodies: - body.planet.trail_scale = 2 + body.planet.trail_scale = 0.5 - self.moon.planet.trail_scale = 1 + self.moon.planet.trail_scale = 0.5 - # WorldGrid().draw_axises(10) + # WorldGrid().draw_axises(100) camera.clip_plane_near = 1 camera.look_at(Vec3(0, 0, 0)) @@ -248,7 +253,7 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase): ec.world_position += ec.right * 0.8 * _dt* UrsinaConfig.run_speed_factor # 左 d_sun = self.get_distance_sun() # print("d_sun:", d_sun) - if d_sun > 45: + if d_sun > 48: self.phase_num = 5 # elif self.phase_num == 5: # ec.world_position -= ec.back * 1.4* _dt * UrsinaConfig.run_speed_factor # 下 @@ -327,7 +332,7 @@ if __name__ == '__main__': """ sim = CenterPointMovingSimLive() sim.run( - dt=SECONDS_PER_DAY * 10, + dt=SECONDS_PER_DAY * 15, # dt=SECONDS_PER_DAY * 3, init_position=[0, -60 * AU, 30 * AU], show_exit_button=False, diff --git a/simulators/ursina/entities/entity_utils.py b/simulators/ursina/entities/entity_utils.py index 98cff29046d981949d811f8981e9e54d8a62b83c..4badc257efcfe662b3f6b7b3376f834bacb200b7 100644 --- a/simulators/ursina/entities/entity_utils.py +++ b/simulators/ursina/entities/entity_utils.py @@ -296,7 +296,7 @@ def create_trail_curve_line(parent, pos): vertices=((pos[0], pos[1], pos[2]), (trail_last_pos[0], trail_last_pos[1], trail_last_pos[2])), mode='line', thickness=UrsinaConfig.trail_thickness_factor), - color=parent.trail_color, alpha=0.5) + color=parent.trail_color, alpha=UrsinaConfig.trail_alpha) trail.set_light_off() else: pass diff --git a/simulators/ursina/ursina_config.py b/simulators/ursina/ursina_config.py index f18132ade3a7b1ab1d98b43d2cdb6ae1690a84b5..8d9f087a54574bdee0ba3eddf409ad4f24cb1a31 100644 --- a/simulators/ursina/ursina_config.py +++ b/simulators/ursina/ursina_config.py @@ -17,6 +17,7 @@ class UrsinaConfig: auto_scale_factor = 1.0 # __SCALE_FACTOR 不能满足,需要自动进行调整 trail_factor = 1.0 # 拖尾大小因子。默认为1.0 trail_thickness_factor = 1.0 # 线条拖尾厚度大小因子。默认为1.0 + trail_alpha = 0.5 # 旋转因子为1,则为正常的转速 ROTATION_SPEED_FACTOR = 1.0 # ROTATION_SPEED_FACTOR = 0.01