Works in 3.1.2-stable
Broken in 3.2-stable
FPS tutorial at https://docs.godotengine.org/en/3.2/tutorials/3d/fps_tutorial/part_three.html
When launching the scenes for the included levels the character falls through the floor.
The instruction that fails "Space_Level.tscn and Ruins_Level.tscn are complete custom FPS levels created for the purpose of this tutorial. Press F6 to play the open scene, or press the play current scene button, and give each a try."
Editor complains on load that the project is from a old version and upgrades it. Turns out the zip files are two years old.
There are some errors when switching to the scene (in both 3.1.2-stable and 3.2-stable):
core/math/quick_hull.cpp:401 - Condition "O == E" is true. Continuing.
core/math/quick_hull.cpp:401 - Condition "O == E" is true. Continuing.
An repeating error in the error log when launching Ruins_level.tscn:
E 0:00:02.308 recover_from_penetration: Condition "shape_idx < 0 || shape_idx >= cs->getNumChildShapes()" is true. Returned: false
Player.gd:71 @ _physics_process()
The scene switching errors exits in 3.1.2-stable, but the recover_from_penetration is not there, and it seems to work.
Do not have a clue on how to fix this as I only just started with godotengine.
cc @TwistedTwigleg as I believe he made the FPS tutorial.
The tutorial probably needs updating to work with Godot 3.2. Does the test level work? The one with all of the elements placed in a small, boring white box. If that scene works, but the other two (ruins and space) do not, then I鈥檓 guessing the issue is probably related to the GridMap node.
The errors relating to QuickHull are likely because of the collision shapes used, which I believe are convex collision shapes generated in the Godot editor. Replacing them with built-in collision shapes (box, capsule, etc) or using a triangle mesh for the collision shape should fix those issues.
I鈥檓 not sure on the error with the ruins level, nor why the scenes included in step 3 do not seem to have collision. My guess is something in the conversion process from Godot 3.0 -> Godot 3.2 messed up the collision in the MeshLibrary used for the GridMap.
I鈥檒l try to take a look at the project once I can, though it may be a few days before I can sit down with my development machine.
In the mean time, if the test level works I would suggest using that short term.
If the MeshLibrary used for the GridMap node is the issue, then exporting the Ruins_Level_Library_Scene.tscn As a MeshLibrary and saving it over Ruin_Level_Mesh_Lib.tres should fix the ruins. Likewise, exporting Space_Level_Library_Scene.tscn As a MeshLibrary and saving it over Space_Level_Mesh_Lib.tres should fix the space level.
That said, I will try to look at the FPS tutorial and figure out what is going on once possible!
(Thanks for the ping @Calinou!)
The test level works.
I think that the levels fails to load in some capacity, not only the floor.
Should this project be moved to the demo projects repository?
I figured out the issue with the GridMaps. Seems during the conversion process, the MeshLibrary property was cleared, making nothing appear in the level. Resetting the MeshLibraries fixes the issue.
I'll fix up all of the zip files and make a PR with the changes.
Adding the Mesh library back to the GridMaps for Floor_And_Ceiling and Walls does seem to resolve the issue with falling through the floor on 3.2
I am getting the same problem with the tutorial as described above, with the Godot_FPS_starter.zip as downloaded on Monday. It doesn't seem the fix has yet propagated currently to the main webpages?
@JackAidley #3174 hasn't been merged yet, so this isn't fixed even if you clone the master branch of this repository.
You can download the zip files with the correct gridmaps from #3174.
I believe the plan is to move the tutorial files to its own repository, but until that happens, the zip files can be downloaded by going to "Files Changed" and downloading the changed .zip files.
Most helpful comment
The tutorial probably needs updating to work with Godot 3.2. Does the test level work? The one with all of the elements placed in a small, boring white box. If that scene works, but the other two (ruins and space) do not, then I鈥檓 guessing the issue is probably related to the GridMap node.
The errors relating to QuickHull are likely because of the collision shapes used, which I believe are convex collision shapes generated in the Godot editor. Replacing them with built-in collision shapes (box, capsule, etc) or using a triangle mesh for the collision shape should fix those issues.
I鈥檓 not sure on the error with the ruins level, nor why the scenes included in step 3 do not seem to have collision. My guess is something in the conversion process from Godot 3.0 -> Godot 3.2 messed up the collision in the MeshLibrary used for the GridMap.
I鈥檒l try to take a look at the project once I can, though it may be a few days before I can sit down with my development machine.
In the mean time, if the test level works I would suggest using that short term.
If the MeshLibrary used for the GridMap node is the issue, then exporting the
Ruins_Level_Library_Scene.tscnAs a MeshLibrary and saving it overRuin_Level_Mesh_Lib.tresshould fix the ruins. Likewise, exportingSpace_Level_Library_Scene.tscnAs a MeshLibrary and saving it overSpace_Level_Mesh_Lib.tresshould fix the space level.That said, I will try to look at the FPS tutorial and figure out what is going on once possible!
(Thanks for the ping @Calinou!)