Repository navigation
Keep cars and skid-steer vehicles that fall out of the world - #166
Merged
WouterJansen merged 12 commits intoOct 5, 2026
Merged
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
…-stencil-jansen2022 Register spawnObject actors for instance segmentation and material stencil
merged Cosys-Lab#153 PR manually to this branch
3.5.0 release
3.5.0 release for 5.8
added third party licenses
added third party licenses
added icon
A vehicle that drops below the level's KillZ, for example driven off the edge of the map or pushed through the floor after a collision, is destroyed by the engine. AirSim keeps using the pawn, so the next sim update or reset crashes (PawnSimApi::updateKinematics from CarPawnSimApi::updateRenderedState). CarPawn and SkidVehiclePawn now override FellOutOfWorld to keep the vehicle, log a warning, and move it back to its start pose on the next tick, with its velocities zeroed. The teleport happens in Tick because FellOutOfWorld is called from the physics sync, which overrides a teleport made there. Found and tested in HERCULES (a fork of Cosys-AirSim) with Unreal Engine 5.8.3: a car teleported 500 m to 11 km below the Blocks map is back at its start pose within 0.3 s and the simulation and reset() keep working. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JmWqXFCY6vDdpRe4VHoaQX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A car or skid-steer vehicle that drops below the level's KillZ is destroyed by the engine, and AirSim's next update or
reset()then crashes inPawnSimApi::updateKinematics.ACarPawnandASkidVehiclePawnnow overrideFellOutOfWorld: they keep the vehicle, log a warning and move it back to its start pose on the next tick (inTick, because a teleport insideFellOutOfWorldis overridden by the physics sync).Tested in HERCULES (a Cosys-AirSim fork) with UE 5.8.3: a car moved 500 m to 11 km below the map returns to its start within 0.3 s, and
reset()keeps working. Also built from this tree with UE 5.8.3 (Windows): in Blocks, a car and a skid-steer Husky moved 2 km below the map return to their start, andreset()keeps working. The same code applies to the 5.2.1 branch.🤖 Generated with Claude Code