Four independent bugs kept the car immobile at the world origin: 1. Wheels collided with their own chassis. Wheel inner edge sits at 2.80 vs body edge 3.00, and wheel top -0.20 vs body bottom -0.70. The overlap is intentional styling, but in one collision group the wheels ground against the body: motors spun ~1 rad/s against 20,000 torque. Wheels now use a CarWheel group that ignores CarChassis. 2. Suspension exploded on spawn. PrismaticConstraint+SpringConstraint between a 0.6-stud hub and the ballasted body was unstable enough to fling knuckles ~10,000,000 studs out, past FallenPartsDestroyHeight, deleting the wheels. Replaced with a rigid welded hub mount. 3. Car spawned at world origin, not the pad. MapBuilder made a SpawnPad part but no SpawnLocation, so characters spawned at (0,0,0) and Sit() dragged the car to them. Added a real SpawnLocation and the model is now pivoted after parenting, with the character teleported first. 4. AntiCheat snapped that legitimate spawn teleport back. An ~8,500-stud server move reads as a teleport hack. Added AntiCheat.grant() so server-initiated moves are exempt for a short grace window. Verified in Studio: 881 studs in 6s, 496 studs/s top speed, 152 deg steering, braking 33 -> 0 studs/s, chassis stays upright.
29 lines
635 B
JSON
29 lines
635 B
JSON
{
|
|
"note": "C1 world<->real Tokyo georeference. X IS NEGATED vs source data.",
|
|
"world_to_real": {
|
|
"lon": "139.75654 + 2.528e-06*(-X)",
|
|
"lat": "35.67327 + 2.117e-06*Z"
|
|
},
|
|
"real_to_world": {
|
|
"X": "-(lon-139.75654)/2.528e-06",
|
|
"Z": "(lat-35.67327)/2.117e-06"
|
|
},
|
|
"orientation": {
|
|
"+Z": "NORTH",
|
|
"-Z": "SOUTH",
|
|
"-X": "EAST",
|
|
"+X": "WEST"
|
|
},
|
|
"scale_studs_per_meter": 4.3,
|
|
"median_error_m": 366,
|
|
"loop_center_world": [
|
|
180,
|
|
-180
|
|
],
|
|
"verified": [
|
|
"Nihonbashi east of Palace",
|
|
"Tokyo Tower SW outside loop",
|
|
"Ginza/Tsukiji east",
|
|
"Nagatacho/Kasumigaseki west"
|
|
]
|
|
} |