From 6c0744a4fb6f7b3fa9d4a4aae4b27815700dc996 Mon Sep 17 00:00:00 2001 From: march3 Date: Sun, 10 Dec 2023 14:47:09 +0800 Subject: [PATCH] =?UTF-8?q?Python=E8=B6=85=E4=BA=BA-=E5=AE=87=E5=AE=99?= =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim_scenes/fiction/transformed_mars_ani_3d.py | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/sim_scenes/fiction/transformed_mars_ani_3d.py b/sim_scenes/fiction/transformed_mars_ani_3d.py index e26667d..86a60be 100644 --- a/sim_scenes/fiction/transformed_mars_ani_3d.py +++ b/sim_scenes/fiction/transformed_mars_ani_3d.py @@ -100,10 +100,14 @@ def transformed_mars_ani(transformed_texture=None, texture=None, camera3d=False, rotation_speed=18, size_scale=size_scale * 1.015, parent=mars) + bodies.append(clouds) + + for b in bodies: + b.rotation_speed *= 0.5 + if append_satellite: satellites = create_satellites() bodies = bodies + satellites - bodies.append(clouds) if append_space_station: space_station = create_space_station(mars.radius) @@ -121,7 +125,7 @@ def transformed_mars_ani(transformed_texture=None, texture=None, camera3d=False, if bg_texture_rotation: def sky_rotation(): - sky.rotation_y += 0.01 + sky.rotation_y += 0.002 sky.update = sky_rotation @@ -134,6 +138,11 @@ def transformed_mars_ani(transformed_texture=None, texture=None, camera3d=False, if append_space_station: space_station.dt_scale = 1 + mars.planet.rotation_y = 120 + transformed_mars.planet.rotation_y = 120 + trans_mars.planet.rotation_y = 120 + + application.time_scale = 0.001 camera.clip_plane_near = 0.001 camera.clip_plane_far = 10000 @@ -143,12 +152,15 @@ def transformed_mars_ani(transformed_texture=None, texture=None, camera3d=False, from ursina import Vec3, distance if camera.step_index == 3: space_station.planet.rotation_z += 0.005 * space_station.dt_scale - space_station.planet.position += Vec3(0, 0, 0.00000005 * space_station.dt_scale) + d = distance(space_station.planet, mars.planet) / UrsinaConfig.SCALE_FACTOR - if d < mars.radius * 3: + if d < mars.radius * 1.8: space_station.planet.scale *= pow(0.999, 72 / space_station.dt_scale) + space_station.planet.position += Vec3(0, 0, 0.000000005 * space_station.dt_scale) + else: + space_station.planet.position += Vec3(0, 0, 0.00000009 * space_station.dt_scale) - if d < mars.radius * 1.01: + if space_station.planet.scale_x <= 6.0e-09 or d < mars.radius * 1.01: camera.step_index = 4 space_station.planet.update = update -- GitLab