Page MenuHomeFeedback Tracker

UAVs clip into ground on first connection
Need More Info, WishlistPublic

Description

In a Dedicated environment.

When player connects to UAV Driver for the first time, the vehicle will appear to sink beneath the terrain level briefly. This often causes an explosion. {F25124} {F25125} {F25126}

Details

Legacy ID
3237968116
Severity
None
Resolution
Open
Reproducibility
Sometimes
Category
Localization
Steps To Reproduce

In a dedicated environment, on the server create a UAV, create some crew using the below code. (This must be done on the server, as I believe this is a locality issue).

Put a marker down on your flat ground of choice. Name it "test_pos" as per the below createVehicle array argument.

testUAV = createVehicle ["B_UAV_02_CAS_F",getMarkerPos "test_pos",[],0,"NONE"];
waitUntil {!isNull testUAV};
createVehicleCrew testUAV;

Ensure you the player have a UAV Terminal.

Connect to the Driver.

50% of the time there is a resounding BOOM!

-----

Discussion:

This appears to occur only the first time a player connects to the UAV, if they connect to the Driver. Connecting to the Gunner first produces more favorable result and far lower (not nil) chance of this terrain clipping/explosion event. After this first event, the UAV is fine and no issues arise on future connection. It is only when, I believe, the locality is transferred from the server to a client.

Often when a UAV is destroyed, its destroyed object (present in the allDead array) will sink below terrain level, I am assuming to the bottom surface of its bounding box (sort of how the SupplyCrate_F used to before it was fixed in a recent patch) or to sea level.

Additional Information

A Youtube Video showing a rather mild example: https://www.youtube.com/watch?v=KYSsjtdmJCs

No explosion in that video case, but I believe that aids in seeing the issue.

Of note:

This does NOT affect the UGV models.

This DOES affect the AR-2 Darter models.

Event Timeline

MDCCLXXVI edited Additional Information. (Show Details)
MDCCLXXVI set Category to Localization.
MDCCLXXVI set Reproducibility to Sometimes.
MDCCLXXVI set Severity to None.
MDCCLXXVI set Resolution to Open.
MDCCLXXVI set Legacy ID to 3237968116.May 7 2016, 7:49 PM
MDCCLXXVI edited a custom field.

Some more details:

https://www.youtube.com/watch?v=d9514fKsKqQ - Example of the explosion. In this case, it seems like there is downward pressure applied, but the vehicle will not successfully clip with the terrain like the vid above, and an explosion occurs.

The precise spawning regime is in the attached files.

The vehicles are put down in the editor as empty UAVs, with this in the init field:

0 = [this,30,FALSE,QS_fnc_vSetup02] spawn QS_fnc_vMonitor;

-----

Edit:

If there are any scenario/script troubleshooting you would like me to do, or any stones un-turned on my end, please let me know. This is an unacceptable situation for Nov 2014 (long time since beta officially ended) and I'd like to help get it resolved ASAP.

Iceman added a subscriber: Iceman.May 7 2016, 7:49 PM

Hello,
could yuu please upload a short repro mission? We are unable to reproduce the explosion. Thank you.

Repro attached. Test in dedicated environment. Connect as JIP.

  • Note the summary of this issue is:

0021685: UAVs clip into ground on first connection.

No reference to explosion, I see that as only a symptom/outcome of the issue.

Instructions:

  • Try connecting as Driver
  • After that first connect, that test subject is depleted and must be respawned.
  • On connection, start engine to full and switch to 3rd person, you will SOMETIMES see the UAV clipping with the terrain. Sometimes no clip, sometimes only small clip, other times the entire UAV can disappear underground before rising to terrain level again.
  • I was not able to reproduce the explosion, but it does reproduce the UAV interacting with the terrain.
  • I'd suggest figuring out why the UAV clips with the terrain and attacking that, instead of focusing on the actual explosion. It's highly likely the two are related, and the terrain clipping is reproduceable with only 1 connected client.
  • Loading the server CPU does not appear to be a factor, I was able to reproduce terrain clipping with no added code or mission objects. I tried loading the server CPU with a few hundred AI in combat, but found no change in result.
  • Also please be aware that some MP/localization issues only are apparent with high traffic. Attempting to reproduce a high-traffic-related issue in a low-traffic environment may not be accurate. The failure to reproduce such an issue is not necessarily the fault of the repro PBO.
  • If necessary I can probably arrange for you to have debug console for a short time in a main branch high-pop MP server.

Hello,
could yuu please upload a short repro mission? We are unable to reproduce the explosion. Thank you.


The repro posted is sufficient to reproduce the bug summary:

0021685: UAVs clip into ground on first connection

If there is anything else I can do to aid the process of determining why and fixing the unwanted UAV interaction with the terrain, let me know.

I am able to reproduce almost 100% of the time, the UAVs sinking into the terrain briefly when they first become local. Using the above repro.

There is some apparently random variation in the extent of the negative Z-axis movement, but always there is a slight-to-dramatic negative movement in the Z-axis.

Not sure how the cameras work in such cases. Is there instances of camCreate or camSetTarget that occurs? Does that have any get/set significance on the model position?

I would start by examining any getPos/setPos stuff that occurs in the remoteControl command, or when (vehicle player) becomes the new vehicle, as well as the player camera protocol, during this transition event.

In the schedule of the remoteControl command, the unfortunate sinking occurs AFTER the camSetFov command is used.

So you cannot reproduce a UAV interacting with the terrain when locality transfers from host to client?

What more info is required (thanks MDCCLXXVI)? There's a repro mission and a detailed explanation of the circumstances. UAV based missions are impossible now, please fix this.

I have also noticed some anomalies when using setPosATL and setPosASL.

Perhaps, if in the transition from server-local to player-local, if there is any use of 'setPosASL' or 'setPosATL', please try just using 'setPos'.

I have noticed anomalies with all "Air" type vehicles when using 'ASL/ATL' setting.

For instance:

setPosATL may cause an explosion

setPosASL may cause sub-terrain position and then it will warp upwards to terrain level.

Gundy added a subscriber: Gundy.May 7 2016, 7:49 PM
Gundy added a comment.Apr 11 2015, 1:04 AM

Had the same issue on a mission a couple of weeks back and just now again on 1.42.

On a dedicated server:

  1. Client A assembles Darta on Stratis runway
  2. Client B connects with his UAV terminal
  3. Client B choses to control UAV driver

Client B touches no further contols, after about 5-10 seconds the UAV explodes.

For the reproduction it is important that Client A does the assembly and Client B connects and is the driver.

It seems that the UAV explodes upon or shortly after the UAV object ownership is being transferred to a client other than the one that assembled the UAV.

Only workaround seems to be to give the UAV a waypoint so that it takes off itself.