1,387 Commits over 610 Days - 0.09cph!
remove submergedFraction condition from buoyancy waking, it's not updated while it sleeps and can brick it
merged from buoyancy_sleeping_brick_fix
merge from divesite_spawn_optim
added +- 30s jitter to Junkpile timeouts, should spread divesites respawning over 30 seconds instead of all on the same frame
merge from divesite_spawn_optim
re-ordered water check to run before terrain anchors in the SpawnHandler, only used by divesites but early exits significantly faster than terrain anchors
divesite spawning improvements
- forcing topology to exclude lakes/rivers for reducing wasted processing
- significantly reduced number of terrain anchors used in divesites d/e/f
merge from boat_sails_fixes
▅ ▆▍▆▉▌ ▆█▇ ▅▊▍▋▄ ▅▋▅▇ █▊▇ █▅ ▇▄▄▇▅█ ▌▉▄█▄▉▋▄▍▅▇ ▄▋▆ ▋▄▋▉▆ ▋▇▄ ▋▋ ▊▉▋▄▊ ▆▉▉▅▍ █▊▊▉▊▉█ ▋▆ ▆▄▉▉
▄ █▇▅▉▌ █▌▉▍ ▇▉▍▅██▆▇█▅▍▄▅▉▄▇▆▅▌▋▇▇▍▆▋▊▅
▉ ▅▊▍▄▍▍▇ █▊▊▋▆▊▋ ▋▌▋█▋▋▋▄▆▍▋ █▉▉▍ ▍▄▉▆█▊▇▌ ▋█▌▋ ▄▊▅▇ ▄▅▋ ▌▊▇█▍▅▋ ▅█▍▇ ▉█▋ ▉▊▉▆▍▆▅█▄▍ ▄▍ ▄▋▇ ▄▊▊▇ ▋▊▆▊▊ ▉▅▊▉▍▍█▍▇
Client Unity version to 635cbaf/2022.3.41x1, build servers should have the deps now
rolled client Unity version back while buildservers are missing the dependency, will push again in the next couple hours when they're ready
updated Windows client Unity version to 635cbaf/2022.3.41x1 as well, MacOS client still on 2022.3.41f1
▆ ▌▊▉▉▋ ▆▍▆▊ ▋▉▄▌▊▇▊█▄██▌▅▋▌▍▉▆▇▌▌▍▊▇▄▇▌
▋ ▉▍▇▄▌▋█▅ ▆▄▋▇▇▍▋ ▆▋▄▄ ▆▊▍█▋▆▊▊▄▄█▊▆▇▊▇▄▇▅▌▌▍█▋ ▅▊ ██▉▉▅█▅ ▊▊ ▅▊▉ ▉▌▅▅▇▄▋ ▇▉▄▊ ▉▋▍▉ ▅▅▇▆▅▆▅▌▆▄ ▉▌ ▍█▉▊▉▋█ ▋▇▊ ▋▉▇▄▌▄ █▋▄▌▆▍ ▄▉▆▌█▇█ ▍▍▄▋▅▋▌▍▇▄▌▆ ▅▅█▇▋ ▌▅█▄█▉▄ ▋▊▄█▄▇▊▆ ▅▆ █▋▋▌▅▇▍ ▅▄▊▅▉▄▋ ▉▅▉ ▄▇▌█▉█ ▍▄▉ ▊█▍▄█▉▄▌ ▋▋▊▍ ▊▌▉▍▇
update server to 635cbaf/2022.3.41x1
- potential 64k collider limit crash fix, client will still spew old limit warning/error though
server update version to 021f737/2022.3.41x1
- any rigidbody with >128 colliders becomes a physx aggregate rather than an actor
server unity version to a1f6e5b/2022.3.41x1
- enabling proper multithreading for PhysX trigger contact processing
move PlayerEnterOrLeaveDeepSea RPC to the PreTeleportPlayer as it is called for all players regardless of mount/passenger state, ensures clear shore vectors
merge from mounted_shorevector_clear_fix
BC pass on horsemask
- high iteration count for more nose strength
- slightly less root motion strength for not turning into a scarf
- more damping a quick nose jiggle resting time
▆ ▌▅▄▍▊▅ ▆▋▌▊▄▆▍ ▅▍ ▄▉▋ ▊▊▍▌▋ ▅▄▆ ▅▍▊▆▋▊▌▇▆▅▉▌█▌ ▋▋█▉▊▄ ▋▉▆▄▌▋▌█ ▇▍▇▍▌█ ▄▆▄▉▌██
downsample deepsea shorevectors and distances, bitshifted by 1
fixed editor spawning of island shore vectors
centred floating_city_3 terrain properly, rebaked shore vectors
fixed native pixel data using wrong format, should've been half4 not just Color
handling floating city data, blits in on top of generated values
- also jobified stupid texture data population, 30ms down to 0.7ms still too slow but way better
legitimately generate shore distances/vectors for the deep sea rather than blitting, no floating city support yet
parallelism on DistanceField jobs and TerrainHeightMap sampling, brings total shore vector generation time down to ~5ms
shore data stored as Vector4 instead of float4 to avoid reinterpreting frequently for no reason
allow a BaseEntity to refuse gib parenting, only setting for JunkPileWater at the moment as its frequent transform updates causes gibs to fall in slow motion on the client
added kinematic body to ghostships, allows us to use MovePosition/MoveRotation for better physics behaviour
beanbags - simplified collision mesh complexity, reduced colliders to 2 as well
banner large - fixed layers and physics mats
wood shutters - assigned correct physics mat
easel - assigned correct physics mat
fixed layering on smoke grenade causing weird behaviour on ghost ships, ragdoll -> physics projectile to match other grenades
▄ ▋▆▆▌█▋▇ ▍▅▍▉▉██▍▉▄▇▇▉ ▍▅█▊▇ ▅▄ █▊▆█▉ ▄▅▍▍▉▇▇▊▍▆▍▉ ▄▍▇▆▊▅ ▇▌▊▄▅▉ ▋▊ ▉▆▋ ▍▆▌█▄ ▉▇█▄ ▄▋▄▋ ▉▋ ▆▌▉▇▌▋▋█▌▉
removed stupid native -> managed -> native process that was happening, shore distance and vectors calculated as native and remain native
added normalized heightmap vis to baked ShoreVectorData
halved min/max of topology query radius range, now [8,16] mapped from heightmap range of [4,0]
- significant reduction in topology query cost, will need to test some procgen maps that water isn't now invisibile in some niche case
further improvements
- reuse positions and heightmap data from previous query in topology query, we were doing both twice
- moved topology radii gen, reading of topology, and processing into water mask into a set of 3 jobs scheduled under one handle and completed
initial step towards making proper shore vector generation fast enough to avoid blitting data for the deep sea
- Native DistanceField methods using jobs and burst
- jobified various other parts of the shore vector generation
- fixed batched HeighMap position query not using the deepsea data
- about a third of the previous runtime currently but still too slow
reworked shoredata blitting to handle rotated bounds properly and not clamp-extend outside pixels
merge from non_convex_col_cleanup
added comment comp to sign