提交 17831ee0 编写于 作者: 三月三net's avatar 三月三net

Python超人-宇宙模拟器

上级 942791be
...@@ -71,6 +71,8 @@ if __name__ == '__main__': ...@@ -71,6 +71,8 @@ if __name__ == '__main__':
def on_ready(): def on_ready():
from ursina import window from ursina import window
window.size = (3840, 1920) window.size = (3840, 1920)
# 黑色背景的宇宙背景
# SphereSky(texture='../../textures/bg_black.png')
UrsinaEvent.on_ready_subscription(on_ready) UrsinaEvent.on_ready_subscription(on_ready)
......
from ursina import *
import os, shutil
import builtins
import numpy as np
class VideoRecorder(Entity):
"""
from simulators.ursina.entities.video_recorder import VideoRecorder
vr = VideoRecorder()
sys.modules["__main__"].update = vr.screenshot
app.run()
"""
def __init__(self, temp_dir="screenshot_tmp", asset_folder=None):
self.temp_dir = temp_dir
# self.save_as_dir = save_as_dir
if asset_folder is None:
asset_folder = application.asset_folder
# G:\works\gitcode\universe_sim\sim_scenes\science
self.file_path = Path(asset_folder) / self.temp_dir
self.duration = 1.0
self.fps = 30
self.sd = 5
self.t = 0
self.i = 0
self.id_no = 0
if getattr(builtins, 'base', None) is not None:
if self.file_path.exists():
# os.rmdir(self.file_path)
shutil.rmtree(self.file_path)
self.file_path.mkdir()
def screenshot(self):
self.t += time.dt
if self.t >= 1 / self.fps:
base.saveCubeMap(
namePrefix=f'\\{self.temp_dir}\\cmap_' + str(self.i).zfill(self.sd) + '_#.png',
size=1024
# namePrefix = 'cube_map_#.png'
)
self.t = 0
self.i += 1
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册