129,104 Commits over 4,232 Days - 1.27cph!
Allow MeshLOD and RendererLOD components to use the occlusion culling system if they have a RendererBatch component but the RendererBatch won't work (eg. not marked r/w, too many tries, etc.)
When standing at the edge of trainyard or outpost and looking directly at a wall (when you would expect the majority of assets to cull) this seems to cull a huge amount of renderers
Compound goes from 4.4m tris and 1347 SetPass calls to 2.2m tris and 829 SetPass calls
Trainyard goes from 5.5m tris and 1538 SetPass calls to 1.8m tris and 726 SetPass calls
MeshCull seems to be working correctly on paper but still seems to be rendering when I would expect it to be culled, so there may be more gains to be had here
Apply some array bounds checks to ProcessCallbacks, trying to track down a rare NRE
Fixed an exception when toggling occlusion culling in the experimental settings menu while in-game
turret_head_animations -> naval_update
- Fixed muzzle flash playing at the wrong location (still bugged on front turret?) - Add model scripts to the top most parent of each of the 50cal entities
- Remove any clientside angle smoothing - bad idea (causing minor stutters)
- Deleted unused head anims folder
Dont bother with the snapshot update - we dont need it. Handle it in SV_ReloadStart instead
Yaw needs to be set as well due to where our animation starts
Actually set the pitch values to prevent them trying to continue where they left off
- Save client predicted weapon rotation adjustments into the state circular buffer
- Ensures this forced position update is classified as valid on the client, preventing reconcilliation
Without this the turret was reconcilling at the end of a reload as the predicted rotation change wasnt saved as a valid state
Fix some causes of reconcilliation after a reload
- Dont generate predicted states when reloading
- Force update visual weapon rotation when reconcilling, dont just update internal values
- Increase degree offset required for reoncilliation
▍▇▅▆▆ ▆▄▋▊▌▉▆▅ ▆▋▉█▊▇▌ ▍▇█▊ ▅▆ ▊▆█▆▌▅▍▌ ▇▌▆▅ ▌▋▊▊ ▋▉'▄ █▄▇█▉▌▅█ ▊▋▊▍█
▆▋▌▇▆ ▇▄▆▉ ▉▌▆▍▉█▍▊_▄▄▇▋▅▍▉_▆█▌
▋█▅ ▄▋█▊.▋▇▅▅ █▆▄▋▆▆ █▄ ▍▊▌▋▅ ▅▌▄▄. ▊▆▅▉▍▉▌▇▍ ▇▅▄ ▄▍▄█ ▋▊▊▆▉▅ ▊▊▅▉▋▌▊▍ ▍▍ █▉▅▅▍▉▉ ▋▅▇▇▌▇▄ ▍▋ ▋▇█▉ ▅▋▉█▉ ▉▇█▌▄▋▍█▅ ▉█▋▍█▅▅▍ ▄▅▌▌▇ ▅▉▍▄▇▉█ ▌▊▄ ▊▉█▆
▅▌▅▊ ▇█▅ █▉▍▌▌▆▇▅▊ ▇▊ ▋▅▆▌▍▍▇ ▇▍ ▇▍█▅ ▇▍▍▄▅▍▉ █▇▅▋▄
atlas B - textures and material
naval_update -> turret_head_animations
SoundDefinition can specify if a sound should stop when its parent is destroying instead of always finishing
rpg7 viewmodel anim sounds stop on parent destroy
scientist_boats_ai_improvements_3 -> naval_update
Some more tuning:
- Reduce group cohesion a little (they were a bit too stuck into groups)
- Can jump to a new macro target earlier (makes them less stubborn)
- Increase how far out they need to be before they will begin pulling towards the centre
- Greatly increase the applied centre force (they cant get out of moving to the centre as easily)
Reynolds wander isn't working very well for us - boats seem to bunch up on the same map edges
Rewrote all of the boat wander state:
- Now pick macro and micro directions
- Macro is a fixed target point (within deepsea bounds or in random direction)
- Micro is the same Reynolds stuff but done simpler
- Combine them together for a bit of a better approach
Boats now traverse around the whole of the deepsea bounds rather than sticking to an edge. Much cleaner and more reliable
matrix display preview model added with initial textures to check visibility, added to display prefab
Rust Birthday Balloons - Updated textures with few changes, higher albedo resolution on clumps, updated models shading for wind shader, raised speech bubble balloon to head height
default ttk values to 1.0
Added default values for instanced properties when using mesh instancing with particles
got test scene working properly
merge from ice_sculptures/sdf_sculpting
Remove displacement from hull pieces
Disable dynamic occlusion pausing until further fixes because it seems to be enabling static occlusion long before parenting is finalized, causing it to think the static position is 0,0,0
Update: LimitedTurnNavAgent sets npc's position via helper functions
- ScientistNPC2 overrides it to optionally map on to the detached navmesh if it's on a ghost ship
- LimitedTurnNavAgent uses navmesh positions to calculate steering to waypoint in FaceTarget mode (think it was the original intent anyway)
There's a bunch more code that needs to be converted just to be safe with strong waves
Tests: spawned ghost ship away from craggy, enabled AI, and ran around to different areas - scientist caught up, were able to shoot me
exported latest viewmodel flashlight refresh anims
Update: GhostShip spawns navmesh instead of NavMeshSurface
- Disabled NavMeshSurface on GhostSHip prefab (will need to do it for the rest later)
This stops NavMeshSurface constrantly running add-remove navmesh every server frame. Need to figure out how to tie it to NPCs
Tests: visualzied navmesh in editor via gizmos, checked profiler to not see any more NavMeshSurface::UpdateActive calls
Added missing volume changes to stair prefab.
Removed the old volume check implementation now it's not used anywhere.
Disable deep sea in the AutomatedTests scene
Restored copypaste snap to zero height option (was lost in the merge)
Fixed more copypaste merge issues
Holster updates for bows and boomerang
Child RendererBatch disabling now handles entities with multiple RendererBatch correctly
merge from new_bbs_volume_checks
Setup bbs required volumes for all relevant boat pieces