o3de / o3de

Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.
https://o3de.org
Other
7.68k stars 2.19k forks source link

Non-Networked Debug Fly Camera #10672

Open santorac opened 2 years ago

santorac commented 2 years ago

Is your feature request related to a problem? Please describe. It is often useful to disconnect from gameplay cameras and instead use a debug camera that can fly around freely. This could be useful both on game clients and on a server that has a viewport enabled. While users could set this up themselves using a Fly Camera component, it's such a common feature that the engine should natively support with any special plumbing.

Describe the solution you'd like Add a built-in option to the game ImGui menus (Home key) and/or a debug console command ("`" key) to activate a camera with a fly camera controller.

Describe alternatives you've considered We've discussed making an always-on server-only fly camera, but that would require a server-only entity feature that might not be a widely useful feature, and it wouldn't address client-side debugging needs. See https://github.com/o3de/o3de/issues/10633

Additional context Here's the issue that started this discussion: https://github.com/o3de/o3de-multiplayersample/pull/167

lmbr-pip commented 2 years ago

Unclear who would own this feature as it spans Editor and Launcher use cases. Will let SIG-content and SIG-simulation decide who should take lead.

lmbr-pip commented 2 years ago

Atom gems have a Gems/AtomLyIntegration/AtomBridge/Code/Source/FlyCameraInputComponent.h - not sure if this is a general fly camera, and more work is required to set up this as a default in the scene.