|
@@ -30,11 +30,11 @@ int main(void)
|
|
|
const int screenWidth = 800;
|
|
|
const int screenHeight = 450;
|
|
|
|
|
|
- InitWindow(screenWidth, screenHeight, "raylib [models] example - loading gltf");
|
|
|
+ InitWindow(screenWidth, screenHeight, "raylib [models] example - loading gltf animations");
|
|
|
|
|
|
// Define the camera to look into our 3d world
|
|
|
Camera camera = { 0 };
|
|
|
- camera.position = (Vector3){ 5.0f, 5.0f, 5.0f }; // Camera position
|
|
|
+ camera.position = (Vector3){ 6.0f, 6.0f, 6.0f }; // Camera position
|
|
|
camera.target = (Vector3){ 0.0f, 2.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
|
|
@@ -42,17 +42,14 @@ int main(void)
|
|
|
|
|
|
// Load gltf model
|
|
|
Model model = LoadModel("resources/models/gltf/robot.glb");
|
|
|
-
|
|
|
+ Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position
|
|
|
+
|
|
|
// Load gltf model animations
|
|
|
int animsCount = 0;
|
|
|
unsigned int animIndex = 0;
|
|
|
unsigned int animCurrentFrame = 0;
|
|
|
ModelAnimation *modelAnimations = LoadModelAnimations("resources/models/gltf/robot.glb", &animsCount);
|
|
|
|
|
|
- Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position
|
|
|
-
|
|
|
- DisableCursor(); // Limit cursor to relative movement inside the window
|
|
|
-
|
|
|
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
|
|
|
//--------------------------------------------------------------------------------------
|
|
|
|
|
@@ -61,7 +58,8 @@ int main(void)
|
|
|
{
|
|
|
// Update
|
|
|
//----------------------------------------------------------------------------------
|
|
|
- UpdateCamera(&camera, CAMERA_THIRD_PERSON);
|
|
|
+ UpdateCamera(&camera, CAMERA_ORBITAL);
|
|
|
+
|
|
|
// Select current animation
|
|
|
if (IsMouseButtonPressed(MOUSE_BUTTON_RIGHT)) animIndex = (animIndex + 1)%animsCount;
|
|
|
else if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) animIndex = (animIndex + animsCount - 1)%animsCount;
|
|
@@ -79,10 +77,8 @@ int main(void)
|
|
|
ClearBackground(RAYWHITE);
|
|
|
|
|
|
BeginMode3D(camera);
|
|
|
-
|
|
|
DrawModel(model, position, 1.0f, WHITE); // Draw animated model
|
|
|
DrawGrid(10, 1.0f);
|
|
|
-
|
|
|
EndMode3D();
|
|
|
|
|
|
DrawText("Use the LEFT/RIGHT mouse buttons to switch animation", 10, 10, 20, GRAY);
|
|
@@ -101,3 +97,6 @@ int main(void)
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|