You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I recently tried switching from oxidized_navigation to vleue_navigator. However, I noticed that the navmesh doesn't update, and #54 didn't fix the issue. So, I switched back to oxidized_navigation in this commit.
@mockersf asked me on Discord if he could try running the project before the commit. Since I’ve fixed quite a few bugs since then, I decided to create a separate branch with this commit reverted and rebased onto the latest master: #330. Hopefully, this will help determine whether it's a bug or an API misuse on my part.
Below are the steps to reproduce. It requires a bit of setup when you try it for the first time :)
cargo run if you running it for the first time. Next time run cargo run -- play --world-name "New world" family "New family" instead and jump directly to step 16. You may also want to run with RUST_LOG=project_harmonia_base=debug to tracing.
Click on "Play":
First we need to create a world. Just click on "Create":
Confirm creation, just leave the default name:
Now we need to create a city first. Not very intuitive, but select cities tab first:
Press "Create":
Confirm creation, just leave the default name:
Now switch back to the families tab:
Click on "Create new":
It's a stub for character creation screen 😅 Just click on "Confirm":
Confirm the family name:
Now click on "Place & save":
Press Esc and click on "Save". It's very important, if you exit the game the world won't be saved!
(Optional) You probably want to see navigation paths and navmesh. Let's enable them. Press Esc and click on "Settings":
(Optional) Navigate to developer tab:
(Optinal) Tick the needed checkboxes and press "Ok":
Now in order to place walls you need to enter build mode:
Select walls:
Click anywhere to start placing a wall:
Click anywhere again to confirm placing. You can already see that the navmesh is not updated. Let's try to move a character, back to the family mode:
Click somewhere behind the wall and select "Walk here".
You can see how the character goes through the wall:
Since I have networking and serialization, I use the blueprint pattern, which is basically "required components at home". For walls you can see that an empty collider is inserted here. And collision is updated here on the wall change.
Let me know any questions :)
After writing this I started to doubt that it's the best way to debug the issue 😆 Maybe it's simpler to just create a simple example with a changing mesh.
The text was updated successfully, but these errors were encountered:
Ah, yes, setting upward_shift to 0.1 fixes the issue, thank you! I tried it before, but with negative values 😅 Looks like navmesh now always updates, we can close this issue.
But I faced another issue, I trying to run the world from this post, but character is unable to walk through doors with weird errors:
2024-09-20T07:53:38.122797Z ERROR polyanya: Search from (-24.823553, -15.517356) to (-18.67345, -31.258448) failed. Please check the mesh is valid as this should not happen.
When a door is placed on a wall, it splits the collider using width from the placed object:
Ignore the door collision, it's a bit broken, but it doesn't affect navigation, only walls are marked as Obstacle.
Here is the scene: New world.zip
The game uses standard paths to store data, so on Linux it's ~/.config/project_harmonia_base/worlds/ (I use crate name, but recently refactored into multiple crates, need to fix it 😄).
I recently tried switching from oxidized_navigation to vleue_navigator. However, I noticed that the navmesh doesn't update, and #54 didn't fix the issue. So, I switched back to oxidized_navigation in this commit.
@mockersf asked me on Discord if he could try running the project before the commit. Since I’ve fixed quite a few bugs since then, I decided to create a separate branch with this commit reverted and rebased onto the latest master: #330. Hopefully, this will help determine whether it's a bug or an API misuse on my part.
Below are the steps to reproduce. It requires a bit of setup when you try it for the first time :)
cargo run
if you running it for the first time. Next time runcargo run -- play --world-name "New world" family "New family"
instead and jump directly to step 16. You may also want to run withRUST_LOG=project_harmonia_base=debug
to tracing.Since I have networking and serialization, I use the blueprint pattern, which is basically "required components at home". For walls you can see that an empty collider is inserted here. And collision is updated here on the wall change.
Let me know any questions :)
After writing this I started to doubt that it's the best way to debug the issue 😆 Maybe it's simpler to just create a simple example with a changing mesh.
The text was updated successfully, but these errors were encountered: