diff --git a/objs/camera_target.py b/objs/camera_target.py index f946ad3c42ac1158b4be0ea60417e5af408f49da..2362e5fcf22e0c4931cf6519eb41374590a3a465 100644 --- a/objs/camera_target.py +++ b/objs/camera_target.py @@ -13,13 +13,15 @@ class CameraTarget(Obj): """ 摄像机目标 """ + targets = {} def __init__(self, name="摄像机目标", mass=5.97237e24, + ct_id=None, init_position=[0, 0, 0], init_velocity=[0, 0, 0], texture="", size_scale=1.0, distance_scale=1.0, ignore_mass=False, density=1e3, color=(7, 0, 162), - trail_color=None, trail_scale_factor=0.2, show_name=False, + trail_color=None, trail_scale_factor=0.2, show_name=True, parent=None, gravity_only_for=[]): params = { "name": name, @@ -42,6 +44,19 @@ class CameraTarget(Obj): super().__init__(**params) self.set_ignore_gravity(True) self.set_light_disable(True) + if ct_id is None: + self.ct_id = self.gen_ct_id() + else: + self.ct_id = ct_id + + self.targets[self.ct_id] = self + + def gen_ct_id(self): + if not hasattr(CameraTarget, "CT_IDX"): + CameraTarget.CT_IDX = 1 + else: + CameraTarget.CT_IDX += 1 + return CameraTarget.CT_IDX if __name__ == '__main__': diff --git a/sim_scenes/solar_system/halley_comet_sim.py b/sim_scenes/solar_system/halley_comet_sim.py index b2f174d411012992ef9a58626d059ef59897d4f5..921490d8d1ec4a7a8f9d1811d413748199b3ec13 100644 --- a/sim_scenes/solar_system/halley_comet_sim.py +++ b/sim_scenes/solar_system/halley_comet_sim.py @@ -58,6 +58,13 @@ class HalleyCometSim(HalleyCometSimBase): self.bodies.append(self.halley_comet) + # from objs import CameraTarget + # + # self.bodies.append(CameraTarget(size_scale=2e8, init_position=[0, 0, 0], color=(255, 0, 0))) + # self.bodies.append(CameraTarget(size_scale=2e8, init_position=[5 * AU, 0, 0], color=(255, 255, 0))) + + # print(CameraTarget.targets) + def init_settings(self): """ 初始化设置