godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91k stars 21.17k forks source link

ERROR: Index track = <N> is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) #55765

Closed unwave closed 2 years ago

unwave commented 2 years ago

Godot version

v4.0.dev.calinou [f1e3c8724]; v4.0.dev.custom_build [1b9fb5c96]

System information

Operating system: Windows-10-10.0.18362-SP0 64 Bits; Graphics card: GeForce GTX 760M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 425.31

Issue description

This project: https://github.com/TokageItLab/3d-platform-test-for-godot4 by @TokageItLab

Repeating error:

ERROR: Index track = 0 is out of bounds (tracks.size() = 0).
   at: _set (scene/resources/animation.cpp:98)
Index track = from 0 to 54 ``` ERROR: Index track = 0 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 0 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 0 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 0 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 0 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 0 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 1 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 1 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 1 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 1 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 1 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 1 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 1 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 2 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 2 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 2 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 2 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 2 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 2 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 2 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 3 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 3 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 3 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 3 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 3 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 3 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 3 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ... ERROR: Index track = 54 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 54 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 54 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 54 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 54 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 54 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ERROR: Index track = 54 is out of bounds (tracks.size() = 0). at: _set (scene/resources/animation.cpp:98) ```

I have tried with: v4.0.dev.custom_build [1b9fb5c96] v4.0.dev.calinou [f1e3c8724] https://hugo.pro/projects/godot-builds/

Operating system: Windows-10-10.0.18362-SP0 64 Bits Graphics card: GeForce GTX 760M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 425.31

Cannot move. 211209_221204_godot_3d_platform_test_(DEBUG)

Steps to reproduce

Open the project with the specified versions.

Minimal reproduction project

No response

and-rad commented 2 years ago

This is likely a duplicate of #55292. Transform animation tracks were replaced by individual rot/loc/scale tracks. If you want your old animations to work with current 4.0 you have to convert them manually or reimport them.

TokageItLab commented 2 years ago

I know that project is outdated, and I need to re-import the animations, but I also need to fix a serious bug in the animation blending currently #54205. Please wait a while until those are fixed.

unwave commented 2 years ago

Thanks. I got it. It was confusing because the project is already for Godot 4 and it silently rewrites ".godot" changing config_version=4 to config_version=5. https://github.com/godotengine/godot/commit/e81c689592bd493aa2ff67b8e9d2d9107572647a#diff-1f1c9f2b376ebc877b4dd450504a553c1e79950bacfdf2bb0e7893e425a97b4d

C:\Users\Asus-PC>D:\Desktop\godot.exe D:\games\my\godot\godot_4\3d-platform-test-for-godot4-main\project.godot
Godot Engine v4.0.dev.calinou.f1e3c8724 - https://godotengine.org
Vulkan API 1.1.0 - Using Vulkan Device #0: NVIDIA - GeForce GTX 760M

ERROR: Index track = 0 is out of bounds (tracks.size() = 0).
   at: _set (scene/resources/animation.cpp:98)
ERROR: Index track = 0 is out of bounds (tracks.size() = 0).
   at: _set (scene/resources/animation.cpp:98)
ERROR: Index track = 0 is out of bounds (tracks.size() = 0).
   at: _set (scene/resources/animation.cpp:98)
ERROR: Index track = 0 is out of bounds (tracks.size() = 0).
...

Does even not give the prompt: 211210_005606_godot_Please_Confirm

Calinou commented 2 years ago

Duplicate of https://github.com/godotengine/godot/issues/55292.

Does even not give the prompt:

It's interesting to see that this occurs – normally, the prompt should be displayed whenever config_version has to be incremented. However, since config_version=4 was never used in a stable Godot release, I don't think this is a big problem.

unwave commented 2 years ago

@Calinou Do you mean it is supposed to prompt with any method of opening a project?

config_version=4 was never used in a stable Godot release

What do you mean by it? v3.4.stable.official [206ba70f4] creates ".godot" with config_version=4

Calinou commented 2 years ago

What do you mean by it? v3.4.stable.official [206ba70] creates ".godot" with config_version=4

I guess config_version was only bumped recently in master then.

Do you mean it is supposed to prompt with any method of opening a project?

It will only prompt if you open a project from the project manager, as the warning dialog is part of the project manager, not the editor. If you open a project from the command line (or by any means that involve running godot /path/to/project.godot), the warning dialog will never have an opportunity to appear.