-(z / z_slices) - (1 / x_slices / 2)) grid[x][z].model.vertices.extend([ terrain.model.generated_vertices[i] + offset, terrain.model.generated_vertices[i + 1] + offset, terrain.model.generated_vertices[i + 2] + offset, ]) for z in range(z_slices): for x in range(x_slices): grid[x][z].model.generate() # Entity(parent=grid[x][z], model='cube', scale=.01, color=color.red, always_on_top=True) # grid[x][z].enabled = False grid[x][z].collider = 'mesh' # grid[x][z].model = None from ursina.prefabs.first_person_controller import FirstPersonController player = FirstPersonController(position=(0, 200, 0)) player.add_script(NoclipMode()) # player = EditorCamera(rotation_x=90, y=128) def update(): for part in terrain.children: part.enabled = distance_xz(part.world_position, player.world_position) < 256 / 8 # print(distance_xz(part.world_position, camera.world_position), 256/4) app.run()
def update(): if not level.bow.enabled and mouse.hovered_entity in ( level.chest, level.chest_lid) and distance_xz( player.position, level.chest.position) < 6: level.chest.color = color.color(90, .4, .8) level.chest_lid.color = color.color(90, .4, .8) else: level.chest.color = orginal_chest_color level.chest_lid.color = orginal_chest_color def open_gate(): destroy(level.eye) destroy(level.eye_trigger) level.gate.animate_position(level.gate.position + (level.gate.left) * 10, duration=5, curve=curve.linear) level.gate_001.animate_position(level.gate_001.position + (level.gate_001.right) * 10, duration=5, curve=curve.linear) Sky(texture='castaway_sky') # EditorCamera() if application.development_mode: player.add_script(NoclipMode(speed=32)) app.run()