提交 2abb063e 编写于 作者: 三月三net's avatar 三月三net

Python超人-宇宙模拟器

上级 24ddb4bc
......@@ -74,14 +74,16 @@ class WormholeSim(UniverseSimScenes):
# around_acc_speed: int = -1.5
wormhole_infos = [
{"name": "我们宇宙", "position": [D, 0, -D], "rotation_y": 100, "around_direction": "right",
"camera_forward_speed": 0, "around_max_count": 300, "camera_target_max_speed": 1000,
{"name": "我们宇宙", "position": [D, 0, -D], "rotation_y": 100, "around_direction": "left",
"camera_forward_speed": 0, "around_max_count": 200, "camera_target_max_speed": 1000,
"around_max_speed": -300, "around_min_speed": 150,
"camera_max_speed": 2200,
"camera_target_init_speed": 5},
{"name": "宇宙1", "position": [D, 0, D], "rotation_z": 0, "around_acc_speed": -2,
"around_min_speed": 150, "camera_forward_speed": -0.2, "around_max_count": 600},
{"name": "宇宙2", "position": [- D, -D, D], "around_direction": "up", "around_max_count": 400},
{"name": "宇宙3", "position": [- D, 0, -D], "around_max_count": 600},
{"name": "宇宙1", "position": [D, 0, D], "rotation_z": 0, "around_acc_speed": -2, "around_direction": "left",
"around_min_speed": 150, "camera_forward_speed": -0.4, "around_max_speed": -300, "around_max_count": 600},
{"name": "宇宙2", "position": [- D, -D, D], "around_direction": "up", "camera_forward_speed": -0.1,
"around_max_speed": -300, "around_max_count": 400},
{"name": "宇宙3", "position": [- D, 0, -D], "around_max_count": 500},
{"name": "宇宙4", "position": [-D, D, D], "around_direction": "left", "around_max_count": 400},
{"name": "宇宙5", "position": [- D, -D, D], "around_direction": "up", "around_max_count": 600},
# {"position": [D, -D, D]},
......@@ -132,7 +134,7 @@ class WormholeSim(UniverseSimScenes):
# init_position=[D, 0, -D],
init_position=[0, D * 1.15, -D * 2.05],
init_velocity=[0, 0, 0],
texture="core_valaga_clas_light.jpg",
# texture="core_valaga_clas_light.jpg",
# size_scale=self.SIZE_SCALE * 1e3
size_scale=self.SIZE_SCALE * 0.5e3
).set_ignore_gravity(True).set_light_disable(True)
......@@ -181,8 +183,22 @@ class WormholeSim(UniverseSimScenes):
[-D(), -D(), D()], [-D(), -D(), -D()],
[D(), D(), D()], [D(), D(), -D()], [D(), -D(), D()],
[D(), -D(), -D()], [-D(), D(), D()], [-D(), D(), -D()],
[-D(), -D(), D()], [-D(), -D(), -D()]
,
[-D(), -D(), D()], [-D(), -D(), -D()],
[D(), D(), D()], [D(), D(), -D()], [D(), -D(), D()],
[D(), -D(), -D()], [-D(), D(), D()], [-D(), D(), -D()],
[-D(), -D(), D()], [-D(), -D(), -D()],
[D(), D(), D()], [D(), D(), -D()], [D(), -D(), D()],
[D(), -D(), -D()], [-D(), D(), D()], [-D(), D(), -D()],
[-D(), -D(), D()], [-D(), -D(), -D()],
[D(), D(), D()], [D(), D(), -D()], [D(), -D(), D()],
[D(), -D(), -D()], [-D(), D(), D()], [-D(), D(), -D()],
[-D(), -D(), D()], [-D(), -D(), -D()],
[D(), D(), D()], [D(), D(), -D()], [D(), -D(), D()],
[D(), -D(), -D()], [-D(), D(), D()], [-D(), D(), -D()],
[-D(), -D(), D()], [-D(), -D(), -D()],
[D(), D(), D()], [D(), D(), -D()], [D(), -D(), D()],
[D(), -D(), -D()], [-D(), D(), D()], [-D(), D(), -D()],
[-D(), -D(), D()], [-D(), -D(), -D()],
[D(), D(), D()], [D(), D(), -D()], [D(), -D(), D()],
[D(), -D(), -D()], [-D(), D(), D()], [-D(), D(), -D()],
[-D(), -D(), D()], [-D(), -D(), -D()]
......@@ -248,8 +264,8 @@ class WormholeSim(UniverseSimScenes):
self.target_idx = 0
for u in self.universes:
self.scale_down(u)
u.planet.enabled = False
self.scale_down(u)
self.last_universe = self.current_universe
self.current_universe = self.universes[self.current_idx]
......@@ -465,10 +481,55 @@ class WormholeSim(UniverseSimScenes):
c.update = c_blink
# self.camera_target
def change_shader(self):
from ursina import Shader
shader = Shader('my_shader')
# 编写着色器代码
shader.vert = """
#version 330 core
layout (location = 0) in vec3 position;
layout (location = 1) in vec2 uv;
out vec2 frag_uv;
void main() {
gl_Position = vec4(position, 1.0);
frag_uv = uv;
}
"""
shader.frag = """
#version 330 core
in vec2 frag_uv;
out vec4 color;
uniform float u_time;
void main() {
float time = u_time * 0.05;
float radius = 0.5;
float angle = time * 3.1415926535897932384626433832795;
float x = radius * cos(angle);
float y = radius * sin(angle);
vec2 uv = vec2(x, y) + frag_uv;
color = vec4(uv, 0.0, 1.0);
}
"""
self.target_universe.planet.shader = shader
def on_timer_changed(self, time_data):
self.target_universe.planet.rotation_y -= 0.5
self.target_universe.planet.rotation_y -= 0.3
# self.change_shader()
# self.target_universe.planet.texture_scale -= 0.05
if self.last_universe is not None:
self.last_universe.planet.rotation_y += 0.3
self.last_universe.planet.rotation_y += 0.2
camera_look_at(self.camera_target, rotation_z=0)
# camera.rotation_x -= 2
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册