diff --git a/sim_scenes/func.py b/sim_scenes/func.py index 6ca214c03b49bbc7f42c9045b1af3734a0b76a15..ce62dd1e9bc41a793fe460cbeee02d57ee9528bd 100644 --- a/sim_scenes/func.py +++ b/sim_scenes/func.py @@ -123,6 +123,7 @@ def ursina_run(bodies, show_timer=False, timer_enabled=False, save_as_json=None, + save_cube_map=False, save_as_video=False, view_closely=False): """ @@ -172,9 +173,12 @@ def ursina_run(bodies, view_azimuth = 0 # 暂时未用 player = UrsinaPlayer(position, view_azimuth, simulator.ursina_views) - # if save_as_video: - # from common.video_recorder import VideoRecorder - # vr = VideoRecorder() + if save_cube_map: + from simulators.ursina.entities.video_recorder import VideoRecorder + from ursina import camera + import sys + sys.modules["__main__"].video_recorder = VideoRecorder() + camera.fov = 90 def callback_update(): UrsinaEvent.on_application_run() @@ -183,8 +187,8 @@ def ursina_run(bodies, if ursina_view.appeared: ursina_view.update() - # if save_as_video: - # vr.screenshot() + if save_cube_map: + sys.modules["__main__"].video_recorder.screenshot() import sys from simulators.ursina.ursina_config import UrsinaConfig diff --git a/simulators/ursina/entities/video_recorder.py b/simulators/ursina/entities/video_recorder.py index 9a8d04718aeed4004cbcefb81dd78bee03b16d05..953c71eb0498e0ab90e2217af870104da004c5da 100644 --- a/simulators/ursina/entities/video_recorder.py +++ b/simulators/ursina/entities/video_recorder.py @@ -38,8 +38,8 @@ class VideoRecorder(Entity): if self.t >= 1 / self.fps: base.saveCubeMap( - namePrefix=f'\\{self.temp_dir}\\cmap_' + str(self.i).zfill(self.sd) + '_#.png', - size=1024 + namePrefix=f'\\{self.temp_dir}\\cmap_' + str(self.i).zfill(self.sd) + '_#.jpg', + size=2048 # namePrefix = 'cube_map_#.png' ) self.t = 0