def pose_based_deformation(): smooth_mesh = get_mesh() rigid_mesh = get_mesh() skeleton = get_hierarchy() pose_deformers = PoseSpaceDeformer() # Training Part # Create poses from a SmoothSkinning (max_influences > 1) and RigidSkinning (max_influences = 1) smooth_skinning = LinearBlendSkinning(smooth_mesh, skeleton) smooth_skinning.attach_mesh(max_influences=4, kernel_func=KERNEL_FUNCTION) rigid_skinning = LinearBlendSkinning(rigid_mesh, skeleton) rigid_skinning.attach_mesh(max_influences=1, kernel_func=KERNEL_FUNCTION) for pose_id in range(NUM_POSES): # create a new pose frame_id = pose_id * (NUM_FRAMES / NUM_POSES) skeleton.animate(frame_id * FRAME_TIME_STEP) smooth_skinning.update_mesh() rigid_skinning.update_mesh() # record the new feature and mesh from the pose feature = pose_space_deformer.feature_from_skeleton(skeleton) psd_target = smooth_skinning.mesh.vertices underlying_surface = rigid_skinning.mesh.vertices pose_deformers.add_pose(feature, underlying_surface, psd_target) last_displacement = pose_deformers.displacements[-1] render.draw(rigid_mesh, skeleton, smooth_skinning.weights, last_displacement, frame_id, RENDER_FOLDER_PATH)
def run(): play_time = 0 clock = pygame.time.Clock() while state == RUNNING: ms = clock.tick(60) play_time += ms / 1000.0 # handle player inputs action = controls.process_events() controls.update_keys() # debug actions if action == "shoot": player1.shoot() elif action == "spawn_item": DroppedPerk(ab, player1.rect.move(30, 0).center) elif action == "spawn_gun": player1.add_weapon(Gun((0, 0))) elif action == "swap_gun": player1.swap_weapons() elif action == "host": if not is_host: init_host() elif action == "connect": if not is_host: init_net() elif action == "test_sock": client.send("hello") # update cursor cursor_pos_x, cursor_pos_y = pygame.mouse.get_pos() cursor.move((cursor_pos_x / options.scale(), cursor_pos_y / options.scale()), controls.click) # update cursor text cursor.set_hover_text(examine.find_examine_text(cursor.point())) # update window title to show frame rate pygame.display.set_caption("FPS: {0:.2f}".format(clock.get_fps())) # update player with cursor information player1.update_cursor(cursor, camera) # flip player to face cursor # player1.flip(cursor.point()[0] < camera.apply(player1.rect).centerx) perk_collide(player1) # render screen render.draw() # update the camera to the player's position camera.follow(player1.rect)
def linear_blend_skinning(): mesh = get_mesh() skeleton = get_hierarchy() linear_blend_skinning = LinearBlendSkinning(mesh, skeleton) linear_blend_skinning.attach_mesh(max_influences=BIDDING_MAX_INFLUENCES, kernel_func=KERNEL_FUNCTION) for frame_id in range(NUM_FRAMES): skeleton.animate(frame_id * FRAME_TIME_STEP) linear_blend_skinning.update_mesh() render.draw(mesh, skeleton, linear_blend_skinning.weights, None, frame_id, RENDER_FOLDER_PATH)
def draw(dt): window.clear() render.draw() window.flip()
def on_draw(): render.draw() text.draw()
def run(): while True: move() input(pygame.event.get()) render.draw()
current_color_generator = color.terrain current_height_generator = generator.land current_detailer = detailer.shift current_output = render.draw current_weight_generator = weight.random current_map_generator = g.continent_map( generator.ocean) #g.ocean_map(generator.ocean) if len(sys.argv) > 1: random.seed(sys.argv[1]) else: seed = random.randint(0, 10000) print "Seed is " + str(seed) random.seed(seed) for y in xrange(20): seed = random.randint(0, 10000) grid = render.init(50, 30, 16, current_map_generator, current_height_generator, "Map" + str(seed), g.BORDER_OCEAN, g.BORDER_OCEAN) print "Hi!" render.draw(grid, current_color_generator) current_output(grid, current_color_generator) for x in xrange(4): grid = current_detailer(grid, current_weight_generator) print "Done Detailing" current_output(grid, current_color_generator) render.render_bmp(grid, current_color_generator) print "Done Outputting" pygame.quit()