From 79a98bf08e5784760709a73e57b9edddf0232a42 Mon Sep 17 00:00:00 2001 From: march3 Date: Tue, 25 Jul 2023 20:38:25 +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 | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/sim_scenes/fiction/transformed_mars_ani_3d.py b/sim_scenes/fiction/transformed_mars_ani_3d.py index cb5cfeb..6609073 100644 --- a/sim_scenes/fiction/transformed_mars_ani_3d.py +++ b/sim_scenes/fiction/transformed_mars_ani_3d.py @@ -16,6 +16,7 @@ from common.consts import SECONDS_PER_HOUR from sim_scenes.func import ursina_run from simulators.ursina.entities.body_timer import TimeData from simulators.ursina.entities.camera3d import Camera3d +from simulators.ursina.entities.entity_utils import create_directional_light from simulators.ursina.ursina_config import UrsinaConfig from simulators.ursina.ursina_event import UrsinaEvent @@ -33,8 +34,8 @@ def create_satellites(): satellites = [] for i, info in enumerate(satellite_infos): # Satellite Satellite2 - satellite = Satellite(name=f'卫星{i + 1}', mass=4.4e10, - size_scale=1e2, color=(255, 200, 0), + satellite = Satellite2(name=f'卫星{i + 1}', mass=4.4e10, + size_scale=2e2, color=(255, 200, 0), init_position=info["position"], init_velocity=info["velocity"]) # info["satellite"] = satellite @@ -76,13 +77,13 @@ def transformed_mars_ani(transformed_texture=None, texture=None, camera3d=False) # 创建云层(texture纹理图使用了透明云层的图片,云层的 size_scale 要稍微比地球大一点) clouds = Earth(name="云层", texture="transparent_clouds.png", rotate_angle=0, - size_scale=1.001, parent=mars) + size_scale=1.02, parent=mars) satellites = create_satellites() bodies = bodies + satellites bodies.append(clouds) - init_pos = (1.45 * mars.radius, + init_pos = (1.80 * mars.radius, 0, -38000) if camera3d: @@ -91,6 +92,8 @@ def transformed_mars_ani(transformed_texture=None, texture=None, camera3d=False) init_pos = (0, 0, 0) def on_ready(): + # 为了较好的立体效果,可以增加太阳光线,光线指向火星(target=mars) + create_directional_light(position=(300, 0, -300), light_num=3, target=mars) for satellite in satellites: satellite.planet.enabled = False @@ -119,7 +122,7 @@ def transformed_mars_ani(transformed_texture=None, texture=None, camera3d=False) if show_satellites: for satellite in satellites: satellite.planet.enabled = True - satellite.planet.look_at(mars.planet) + # satellite.planet.look_at(mars.planet) # if time_data.total_hours > 10: # trans_mars.planet.enabled = True @@ -158,5 +161,5 @@ if __name__ == '__main__': transformed_mars_ani( transformed_texture="mars.jpg", texture="mars.png", - camera3d=False + camera3d=True ) -- GitLab