Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Editor - Physics debugging Visualisation mode. #29

Open
2 of 8 tasks
MStachowicz opened this issue Oct 24, 2022 · 1 comment
Open
2 of 8 tasks

Editor - Physics debugging Visualisation mode. #29

MStachowicz opened this issue Oct 24, 2022 · 1 comment
Assignees
Labels
Collision Feature New feature or request Input Control and input Medium Bug or task of intermediate time investment. UI Anything user interface related

Comments

@MStachowicz
Copy link
Owner

MStachowicz commented Oct 24, 2022

Add a options bar along the top of the editor with a "View-> Debug -> Physics".

When in this mode, things like collision AABBs are rendered and colliding objects highlighted.
Example of Unity implementation of this:

image

Options in the Physcs debug panel:

  • Render Component::Collider AABBs
  • Keep a log of last N collisions and output them to a console in ImGUI.
  • Render Mesh::Triangles
  • Fix orientation arrows being rendered inside the object. Need to render on the outside of the bounds?
  • If 2 entities are selected, render a line for closest point between them
  • Collision Break mode - When a collision occurs, pause the physics and focus camera on the intersection.
    • F11 Step to next frame
    • F5 Continue
@MStachowicz MStachowicz added Feature New feature or request Input Control and input Medium Bug or task of intermediate time investment. Collision UI Anything user interface related labels Oct 24, 2022
@MStachowicz MStachowicz self-assigned this Nov 20, 2022
@MStachowicz MStachowicz changed the title Add mouse click ray cast intersection testing Add mouse click ray cast intersection testing in editor Dec 5, 2022
MStachowicz added a commit that referenced this issue Dec 7, 2022
MStachowicz added a commit that referenced this issue Dec 7, 2022
@MStachowicz
Copy link
Owner Author

Most of the hard work for this is done, but it is now blocked by #48.

CollisionSystem can cast rays and do work on components but ECS has no function to return which Entity they belong to which is required for the Editor to find other info about the Entity.

@MStachowicz MStachowicz changed the title Add mouse click ray cast intersection testing in editor Add popup entity menu when clicking on an entity. Dec 11, 2022
MStachowicz added a commit that referenced this issue Dec 15, 2022
@MStachowicz MStachowicz changed the title Add popup entity menu when clicking on an entity. Editor Collision/Physics debugging mode. Jan 27, 2023
@MStachowicz MStachowicz changed the title Editor Collision/Physics debugging mode. Editor Physics debugging Visualisation mode. Feb 25, 2023
@MStachowicz MStachowicz changed the title Editor Physics debugging Visualisation mode. Editor - Physics debugging Visualisation mode. Feb 25, 2023
MStachowicz added a commit that referenced this issue Feb 25, 2023
All previously displayed windows are now options under 'View' in the Menu bar.
Added close icon to all the windows.
Fixed Core::startImGuiFrame calling ImGui::End - All ImGui calls are now children of the parent 'Dockspace window' to allow Menu bar to overlay it.
MStachowicz added a commit that referenced this issue Mar 4, 2023
Added a DebugOptions struct to OpenGLRenderer containing all the editor accessed data. #45
Removed direct ImGui calls from OpenGLRenderer and GLState.
Renamed editor functions to fit ImGui naming convention of XYZwindow.
Added a new Editor::ComboContainer function with simplified API for handling enum dropdowns.
MStachowicz added a commit that referenced this issue Mar 6, 2023
Renamed to reflect use.
Combined ECS::Foreach uses in renderDebug.
@MStachowicz MStachowicz mentioned this issue Mar 8, 2023
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Collision Feature New feature or request Input Control and input Medium Bug or task of intermediate time investment. UI Anything user interface related
Projects
None yet
Development

No branches or pull requests

1 participant