diff --git a/examples/models/models_gltf_animation.c b/examples/models/models_gltf_animation.c deleted file mode 100644 index 69df2982..00000000 --- a/examples/models/models_gltf_animation.c +++ /dev/null @@ -1,122 +0,0 @@ -/******************************************************************************************* -* -* raylib [models] example - Load 3d gltf model with animations and play them -* -* This example has been created using raylib 3.5 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Example contributed by Hristo Stamenov (@object71) and reviewed by Ramon Santamaria (@raysan5) -* -* Copyright (c) 2021 Hristo Stamenov (@object71) and Ramon Santamaria (@raysan5) -* -******************************************************************************************** -* -* To export a model from blender, make sure it is not posed, the vertices need to be in the -* same position as they would be in edit mode. -* and that the scale of your models is set to 0. Scaling can be done from the export menu. -* -********************************************************************************************/ - -#include "raylib.h" - -#include - - -int main(void) -{ - // Initialization - //-------------------------------------------------------------------------------------- - const int screenWidth = 800; - const int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raylib [models] example - model animation"); - - // Define the camera to look into our 3d world - Camera camera = { 0 }; - camera.position = (Vector3){ 10.0f, 10.0f, 10.0f }; // Camera position - camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera looking at point - camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) - camera.fovy = 45.0f; // Camera field-of-view Y - camera.projection = CAMERA_PERSPECTIVE; // Camera mode type - - Model model = LoadModel("resources/gltf/rigged_figure.glb"); // Load the animated model mesh and - // basic data -// Texture2D texture = LoadTexture("resources/guy/guytex.png"); // Load model texture and set material -// SetMaterialTexture(&model.materials[0], MAP_DIFFUSE, texture); // Set model material map texture - - Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position - - // Load animation data - int animsCount = 0; - ModelAnimation *anims = LoadModelAnimations("resources/gltf/rigged_figure.glb", &animsCount); - int animFrameCounter = 0; - int animationDirection = 1; - - SetCameraMode(camera, CAMERA_FREE); // Set free camera mode - - SetTargetFPS(30); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - UpdateCamera(&camera); - - // Play animation when spacebar is held down - if (IsKeyDown(KEY_SPACE)) - { - animFrameCounter += animationDirection; - - if (animFrameCounter >= anims[0].frameCount || animFrameCounter <= 0) - { - animationDirection *= -1; - animFrameCounter += animationDirection; - } - - UpdateModelAnimation(model, anims[0], animFrameCounter); - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - BeginMode3D(camera); - - DrawModelEx(model, position, (Vector3){ 1.0f, 0.0f, 0.0f }, -90.0f, (Vector3){ 1.0f, 1.0f, 1.0f }, WHITE); - - for (int i = 0; i < model.boneCount; i++) - { - DrawSphere(anims[0].framePoses[animFrameCounter][i].translation, 0.01f, RED); - } - - DrawGrid(10, 1.0f); // Draw a grid - - EndMode3D(); - - DrawText("PRESS SPACE to PLAY MODEL ANIMATION", 10, 10, 20, MAROON); - DrawText("(cc4) Rigged Figure by @Cesium", screenWidth - 200, screenHeight - 20, 10, GRAY); - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- -// UnloadTexture(texture); // Unload texture - - // Unload model animations data - for (int i = 0; i < animsCount; i++) UnloadModelAnimation(anims[i]); - RL_FREE(anims); - - UnloadModel(model); // Unload model - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -}