Landscape Collision Error (Objects go through landscape)

Why the tanks go through landscape and do not stop on it !!??
where is the problem ?

The way it looks, I do not think it is falling through the world, but rather getting launched somewhere. Can you depossess while the game is running, find the tank in the world outliner, and confirm it is falling?

Before running

After running, no landscape collision and tanks deleted.

Ah, now that is interesting. Is there anything notable in the Output Log? Window -> Developer Tools in the Log section.

LogTemp: Repeating last play command: Selected Viewport
LogBlueprintUserMessages: Early PlayInEditor Detection: Level ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevelā€™ has LevelScriptBlueprint ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevel.BattleGroundā€™ with GeneratedClass ā€˜/Game/Maps/BattleGround.BattleGround_Cā€™ with ClassGeneratedBy ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevel.BattleGroundā€™
LogPlayLevel: PlayLevel: No blueprints needed recompiling
PIE: New page: PIE session: BattleGround (Ł¢Ł ā€/Ł”Ł¢ā€/Ł¢Ł Ł”Ł© Ł£:Ł”Ł”:Ł¤Ł” Ųµ)
LogOnline: OSS: Creating online subsystem instance for: NULL
LogPlayLevel: Creating play world package: /Game/Maps/UEDPIE_0_BattleGround
LogPlayLevel: PIE: StaticDuplicateObject took: (4.469938s)
LogAIModule: Creating AISystem for world BattleGround
LogPlayLevel: PIE: World Init took: (0.001350s)
LogPlayLevel: PIE: Created PIE world by copying editor world from /Game/Maps/BattleGround.BattleGround to /Game/Maps/UEDPIE_0_BattleGround.BattleGround (4.471648s)
LogUObjectHash: Compacting FUObjectHashTables data took 1.58ms
LogInit: XAudio2 using ā€˜Ł…ŁƒŲØŲ± Ų§Ł„ŲµŁˆŲŖ/Ų³Ł…Ų§Ų¹Ų§ŲŖ Ų§Ł„Ų±Ų£Ų³ (Realtek High Definition Audio)ā€™ : 2 channels at 48 kHz using 32 bits per sample (channel mask 0x3)
LogInit: FAudioDevice initialized.
LogLoad: Game class is ā€˜ATGMGameModeBase_BP_Cā€™
LogWorld: Bringing World /Game/Maps/UEDPIE_0_BattleGround.BattleGround up for play (max tick rate 60) at 2019.12.20-01.11.46
LogWorld: Bringing up level for play took: 0.020633
LogOnline: OSS: Creating online subsystem instance for: :Context_2
LogContentBrowser: Native class hierarchy updated for ā€˜MovieSceneCaptureā€™ in 0.0003 seconds. Added 20 classes and 0 folders.
PIE: Play in editor start time for /Game/Maps/UEDPIE_0_BattleGround Ł¤Ł«Ł§Ł¦Ł„
LogBlueprintUserMessages: Late PlayInEditor Detection: Level ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevelā€™ has LevelScriptBlueprint ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevel.BattleGroundā€™ with GeneratedClass ā€˜/Game/Maps/BattleGround.BattleGround_Cā€™ with ClassGeneratedBy ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevel.BattleGroundā€™
LogSlate: Took 0.107399 seconds to synchronously load lazily loaded font ā€˜ā€¦/ā€¦/ā€¦/Engine/Content/Slate/Fonts/DroidSansFallback.ttfā€™ (3848K)
LogActor: Warning: TankPawn_BP14 is outside the world bounds!
LogActor: Warning: TankPawn_BP11 is outside the world bounds!
LogActor: Warning: TankPawn_BP12 is outside the world bounds!
LogActor: Warning: TankPawn_BP13 is outside the world bounds!
LogBlueprintUserMessages: Early EndPlayMap Detection: Level ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevelā€™ has LevelScriptBlueprint ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevel.BattleGroundā€™ with GeneratedClass ā€˜/Game/Maps/BattleGround.BattleGround_Cā€™ with ClassGeneratedBy ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevel.BattleGroundā€™
LogSlate: Updating window title bar state: overlay mode, drag disabled, window buttons hidden, title bar hidden
LogWorld: BeginTearingDown for /Game/Maps/UEDPIE_0_BattleGround
LogWorld: UWorld::CleanupWorld for BattleGround, bSessionEnded=true, bCleanupResources=true
LogPlayLevel: Display: Shutting down PIE online subsystems
LogBlueprintUserMessages: Late EndPlayMap Detection: Level ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevelā€™ has LevelScriptBlueprint ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevel.BattleGroundā€™ with GeneratedClass ā€˜/Game/Maps/BattleGround.BattleGround_Cā€™ with ClassGeneratedBy ā€˜/Game/Maps/BattleGround.BattleGround:PersistentLevel.BattleGroundā€™
LogSlate: Updating window title bar state: overlay mode, drag disabled, window buttons hidden, title bar hidden
LogUObjectHash: Compacting FUObjectHashTables data took 1.68ms
LogPlayLevel: Display: Destroying online subsystem :Context_2
LogEditorSessionSummary: EditorSessionSummary sent report. Type=Shutdown, SessionId={C7FA358D-4622-7DD7-DBFF-2FB200A247F7}
LogEditorSessionSummary: EditorSessionSummary sent report. Type=Shutdown, SessionId={2B6F33C2-46FE-2898-7A85-628F076C1C11}

LogActor: Warning: TankPawn_BP14 is outside the world bounds!
LogActor: Warning: TankPawn_BP11 is outside the world bounds!
LogActor: Warning: TankPawn_BP12 is outside the world bounds!
LogActor: Warning: TankPawn_BP13 is outside the world bounds!

Those are the interesting ones. I think this might be a collision-related issue, since there have been a fair amount of those in the development of this game.

What happens if you turn physics off for the tank? Assuming physics is on for it.

I suspect your tanks arenā€™t falling through the terrain but instead are going super fast and fly off into the sunset at great speed. Log their movement speed and if thatā€™s the case you may want to clamp it.

I think that is the problem ( the tank move very fast ) because of this code :slight_smile:

Force = Body->GetMass() * Body->GetForwardVector() * 10000 * 1000;

The solution is very simple

Force = Body->GetMass() * Body->GetForwardVector() * 10;

But unfortunately, i faced one another issue where :

1- The missile hit some parts of landscape and some other parts go through
2- The strange thing is, sometimes the missile hits the ground and doesnā€™t explode but bounces in different directions.

How can i solve these problems :frowning: :frowning: ?

Look at that in the next video

Perhaps itā€™s a similar issue? Itā€™s going too fast. Though the second video looks as if itā€™s just too far away.

But at some parts of ground it is working successfully ?
Really i donā€™t think there is something strange in my code like the problem above !!

Do you have any suggestion Mr @DanM ?

How did you send me your project last time? I might need to take a look again.

Error Packaging !!
Zip Project Task (Windows): RunUAT.bat ERROR: Visual studio and/or AutomationTool.csproj was not found, nor was Engine\Binaries\DotNET\AutomationTool.exe. Canā€™t run the automation tool.
UATHelper: Zip Project Task (Windows): BUILD FAILED

Is there another way ?

Verify your engine or just manually zip up the files (donā€™t include Binaries or Intermediate)
options

I tried more and more but nothing to do just Zip fire 500MG and upload into Google Drive

Itā€™s exactly as I said. Itā€™s going too fast, I reduced the acceleration and it works fine.

1 Like

Thanks @DanM a lot but i donā€™t think only the acceleration is the main problem.

Look to my video :slight_smile:

I reduced the acceleration but the problem still existing yet.
Sometimes it is working correctly and other not, i donā€™t know why does this is out of control status !!
I still searching the solution for that in this and other communities and finding that many suffer the same problem like me.

What value did you use? Using 100 seems mostly fine, only occasional problems shooting at the ground about a metre away.

Ok Mr @DanM like you, now iā€™m using 100 for acceleration but it seems super slow and i think is that illogical in real world which the missiles should be very fast. [Look to my video next]

In other worlds why should i control and reduce the speed to solve this problem !! Is there other solution to overcome that ā€¦

100 is definitely not that slow on my end. Though I am still encoutering it in some circumstances, Iā€™ll look into it a bit more.

Thanks Mr @DanM for your efforts and iā€™m waiting the new.

But i have new question please !!
I made a little bit updates to my code to be like this:


void AMissileActor::ReGuidingMissile(float DeltaTime)
{
    if(LauncherPlayerController->Hit.GetActor() != this)
    {
        FVector OUT Direction;
        FVector TargetLocation = LauncherPlayerController->Hit.Location;
        FVector MissileLocation = FrontPartOfMissile->GetComponentLocation();
  
        Direction = (TargetLocation - MissileLocation).GetSafeNormal();
        DrawDebugLine(GetWorld(), MissileLocation, MissileLocation + Direction * 100000, FColor::Green, false, 0, 0, 5);
    }   
}

I used DrawDebugLine to represent the direction of the missile so the first missile i fired worked good but the second one make illogical green line of directions Why !!? for more look to video

Ų§

Privacy & Terms