918 Commits over 457 Days - 0.08cph!
better BC defaults, natural gravity and disabled collision
toggling BC with gesture beginning and ending on ViewModels
when bone transform resetting is enabled on VM burstcloth controllers, this stops it flinging up in the at the end of a gesture when the VM moves 100 units upwards in a frame
scene2prefab millitary_tunnel_1 (no hlod)
adjusted terrain ignore volume
▆▆▆▉▇ ▇▆▇▇▆▋▉▆▌▌ ▊▆▅▄▋▉▉ █▌▅▇ ▅▄▅▄▅▄▊▆ ▅▊▊▆ ▌▇▉▄▋▇▋▋ (▌▇▅▍ ▇▍▇▅▌▋▌▇█▍ ▆▅▆▇▄▊▌)
▄▊▅▍ ▄▆▋▅'█ ▋▄▅▇█ ▌▍▅▊▅ ▊▉ ▇█▌ ▇▌▍▅ ▇▌▇▆▄▍ ▋▊▄ ▄▆▋▊▍ ▇▍▋▆ ▄██▆▄▊ ▍▍ ▆▊ ▆▇▊▆▇▊▋ ▉▇▋ ▅█▋▅▍▅██▄▉▍█ ▄▄ ▋█▋ ▅▌▋▇▄▊▅█ ▊█▄▇▄▆ ▌▊▍ ▄▊▋▆▇▍▆ █▍▋▊▋ ▆▉▉▍▍ ▊▊▊█ ▄▋▊▊ ▆▊█ ▄▄▇▅▌▅ ▄▄▊ █▋▍▉ ▌▅▍█▋▇▍██▅ ▊▅ ▍▉▄▌▅ ▉▄ ▆▋▇▌▇ ▉▌▅▉█▆█▌▋ ▅▉, ▍▌▅▍ ▌▋▍ ▊▍▋ ▍▍▊▍ ▆█▌▊ ▊▋▉▇▉▌ ▌▆█▄ ▅▊▋ █▌▍▅▄▍▊ ▆▉ ▌▊▌ ▊▉▍▉▉▆▌▊▅
scene2prefab millitary_tunnel_1
adjusted volumes near chimney entrance
support for EnvironmentVolumes with non-square spatial volume shapes to use Capsule/Sphere colliders
corrected solid capsule gizmo render position (still just draws two spheres though)
call init on vhacd Paramters props to get legit default values
merge from basesculpture_rpccleanup
fixed checks on sculpture access permissions on BaseSculpture server RPCs
batched projectiles handle cameraclip avoiding code for thrown projectiles
BaseRaidBenchmark - only create extra Client if one doesn't already exist, it's double ticking projectile effect processing and making it look worse than it is
merge from projectile_jobs
handle null localplayer properly for demo playback
merge from dpv_bone_error
re-assigned model root to correct transform
merge from ambiencezone_nre_fix
check AmbienceManager instance is valid for AmbienceZone triggers (can NRE when leaving server)
don't serialize shoreVectorTexture
merge from projectile_jobs
fixed deferred schedule issue in OceanTrace path for when there is no water instance (basically just an issue in the Playground scene)
adjusted batch sizes for ocean traces as deferred scheduling seems to act on the capacity of the entire list rather than the count
merge from projectile_jobs
ensure effect processing always runs for projectiles when none need updates (fixes projectiles hanging around until another is fired)
merge from projectile_jobs
cleaning up projectile TransformAccessArray properly
enabled batched projectiles by default
reduce initial capacity of the projectile stable index cache
removed BatchedWaterRays option and disabled codepath
corrected profile region name
replaced TraceWaterSpheres/TraceWaterRays with batched deferred version, scheduled with dependency on batched physics queries, so call to Complete will include both the queries and the water traces
- GamePhysics.TraceBatched now runs 4 serial Commands->WaterTrace in parallel to eachother rather than completing all physics queries before doing water traces
added IJobParallelFor support to ScheduleParallel job extensions and fixed IJobFor which was just completely wrong
adjusted projectile ray generation jobs to not break initial HitTest setup into multiple jobs, ReadOnly jobs on the same TransformAccessArray seems to behave as if they cannot run in parallel to eachother (via combined dependencies) despite only require read access so Unity must be controlling this
added ScheduleParallel extension functions to handle sensible batch sizes automatically, this assumes that a reasonable batch size (64) is required before scheduling overhead beats any gains made with parallelism - if this isn't the case, such as for longrunning complex jobs working on a small number of items then you should control the batch size yourself
clarified water trace setup
Gather trace commands in a job, requires copying some data into a native container first but it's still twice as fast overall
Test: projectile tests all still passing
clear benchmark timers after recording results, stops accumulating time between runs
jobified transform readback for effect updating, still slow to update scaled renderers though
pooling HitInfo for Projectile DoHit and don't string concat for every ricochet fx fire
moved most of HitTest generation to a transform job
further batched projectile improvemenets
- jobified position/rotation writeback, 10x faster
- adjusted HitTest to only populate some fields once for a projectile's lifetime (based on flag reset when it is pooled), some improvements
Tests: all projectile tests passing