提交 3d692586 编写于 作者: 三月三net's avatar 三月三net

Python超人-宇宙模拟器

上级 e790f08f
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
# ============================================================================== # ==============================================================================
# pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com ursina # pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com ursina
from ursina import Ursina, window, Entity, Grid, Mesh, camera, Text, application, color, mouse, Vec2, Vec3, \ from ursina import Ursina, window, Entity, Grid, Mesh, camera, Text, application, color, mouse, Vec2, Vec3, \
load_texture, held_keys, distance, Audio load_texture, held_keys, distance, Audio, scene
from ursina.prefabs.first_person_controller import FirstPersonController from ursina.prefabs.first_person_controller import FirstPersonController
import itertools import itertools
from simulators.ursina.ursina_event import UrsinaEvent from simulators.ursina.ursina_event import UrsinaEvent
...@@ -56,6 +56,19 @@ class WorldGrid(Entity): ...@@ -56,6 +56,19 @@ class WorldGrid(Entity):
# self.draw_axises() # self.draw_axises()
class MySky(Entity):
def __init__(self, **kwargs):
# from ursina.shaders import unlit_shader
super().__init__(name='sky', model='sphere', texture='sky_default', scale=1000, double_sided=True)
self.set_light_off()
for key, value in kwargs.items():
setattr(self, key, value)
def update(self):
self.world_position = camera.world_position
class UrsinaSimulator(Simulator): class UrsinaSimulator(Simulator):
""" """
Ursina官网: https://www.ursinaengine.org/ Ursina官网: https://www.ursinaengine.org/
...@@ -178,9 +191,10 @@ class UrsinaSimulator(Simulator): ...@@ -178,9 +191,10 @@ class UrsinaSimulator(Simulator):
else: else:
sky_scale = 500000 * camera.clip_plane_near sky_scale = 500000 * camera.clip_plane_near
from ursina import Sky # from ursina import Sky
# sky = Sky(texture=texture, scale=sky_scale)
sky = Sky(texture=texture) sky = MySky(texture=texture, scale=sky_scale)
sky.scale = sky_scale sky.scale = sky_scale
# sky.set_shader_input('texture_scale', Vec2(20, 20)) # sky.set_shader_input('texture_scale', Vec2(20, 20))
# 一定要够大,如果小于 Sky(texture=texture).scale = 50000,宇宙背景就会出现黑色方洞 # 一定要够大,如果小于 Sky(texture=texture).scale = 50000,宇宙背景就会出现黑色方洞
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册