Mavlink3DMap is a semi-simulator that communicates with Ardupilot SITL vid UDP and websockets to plot vehicles location and attitudein a 3D environment. It uses HTML, javascript and some 3D and physics libraries to work. The world semi is used because this tool can integrate with any Ardupilot SITL regardless of its engine, and read vehicles location and plot it in a 3D environment. So all physics and logic computation are performed by SITL. However, one can add 3D objects and some physics using moderate developing effort. The tool can also track multiple drones given each drone has its own SYSID_THISMAV.
Below is the famouse flying field in Australia where SITL flies there by default. As we can see the map is displayed in 3D, and from multiple views. A camera is attached to drone and can be controlled via buttons. Another camera is following the drone.
The above map uses flat landscape, i.e. the map is created on a 2D Plan, but the environement is a 3D environment.
The below image shows one step forward, it creates 3D mesh of the map and adjust drone absolute altitude accordingly based on drone home location.
This project is in its very early stage, it is free and open-source and can be accessed here. I hope people start to use and contribute to it.