4,032 Commits over 1,127 Days - 0.15cph!
Enable GPU instancing on windmill material
Use total scale of mesh instead of only localScale of renderer gameobject
merge from main -> global_networked_bases
Fixed rotation of certain entities being incorrect
Removed useless Dictionary<NetworkableId,GlobalEntityData>
Fixes for client only & server only errors
Additional build options to allow walking away from PC
- Windows Client + Client Bundles
- Windows Server + Server Bundles
- Windows Client + Server + Bundles
Enable instanced rendering on sam sites & windmills (using static mesh instead of skinned)
Fix instanced render data not being added in `InstancedOutsideNetworkRange` mode
Enable GPU instancing on more materials
Disabled instanced mesh tracking for animated enitites to keep it simple
Converting prefabs & materials to try and get them to spawn instanced when the entity is killed
Implement switching to instanced rendering only when an entity leaves network range
Also support using instanced rendering the whole time but switching from highest -> lowest LOD when entity leaves network range
Ghetto fix for doors reseting to default position when they send a network update when opened
Instanced rendering now works with animated entities (doors)
Grabs new position & rotation via transform.hasChanged (needs better solution long term)
Add `InstancedmeshTracker` component that tracks each moving mesh of an entity
Support multiple of the same mesh per entity (when deleting & updating)
Fix foundations not having all meshes deleted
Send raw position of global building entities instead of network position
Better warnings when mesh renderers aren't matched up
Use `GameManager.client.FindPrefab()` instead of `GameObjectRef.Get()` when disabling render components to avoid editing the real prefab
Forgot to assign skin when sending global entity to client
Fixed normal renderers not actually being disabled (broke after moving disabling to PreProcess)
Add ability to disable instanced rendering for a prefab via InstancedMeshFilter
Renamed InstancedRenderComponent to InstancedMeshFilter
Material & prefab changes after enabling GPU instancing / using InstancedMeshFilter
Throw error instead of auto enabling GPU instancing (incase they don't spawn prefab while in editor and miss it)
Multiple materials will work with indirect rendering too
Don't global network doors by default
Send global network when entity is first spawned
Automatically enable GPU instancing on materials when used with instanced rendering
Fix instanced rendering to work with multiple materials
merge from main -> global_networked_bases
Fix compile error by changing #IF UNITY_EDITOR to a convar `UploadAnalytics`
Add `InstancedRenderComponent` to manually configure renderers used for instanced rendering
Keep automatic conversion for building blocks
Send simple network updates when flags, building grade or conditional models (modelstate) changes
Add `global building block` field to baseEntity to manually mark entities for cut down global networking
Set high walls & barricades as global
▅█▋▅ ▋▇▊▇▌█▊▅ ▉▌▌▇█▅, █▉▉▆ ▆▌█▄▅▌ ▄█▄ █▉▌▊, ▇▅▉ ▄▋▌▇▉▍▋█▇▇ █▉▍▆▍▌▆▌ ▆▍▊▊▅▋
▋▋▊▊▉▇█ ▇▌▉▌▋ ▉█▊▇▊▆▄ ▇█▇▉▆ ▌▋█▍ ▊▉▅▆▅ █▄▊ ▌▊▆
Disable renderer batch too
Disable grey placeholder mesh in building blocks
Fix entities not being deleted
Send building block snapshot when they first join
Ghetto fixes to work in standalone build (render manager prefab wasn't spawning)
Should convert all renderers of prefabs, such as reflections
merge from main -> global_networked_bases
Fix entity updates
Add `rendercube` command for testing
Fix guide for building having disabled MeshRenderers
merge from main -> analytics_held_items
▄▍▅▇▆▉ ▍█▆▇ ▋▇▋▇▍▅ ▉▍▋▍▋ ▊▉▉▆▅▌▌▌▉ ▌█▆ ▊█▊ ▉▆▋█▅▊▆▍
InstancedRenderer will take into account if the mesh wants to recieve shadows, cast shadows & light probe usage
Shadows moved from MeshRenderer -> DrawMeshInstancedIndirect()
Fix unity_WorldToObject being incorrect inverse of unity_ObjectToWorld via a diogo code snippet
Shadows now work
Add the GlobalRendering component as an entity
Spawn on server as important entity
Conditional model pieces / mesh of child prefabs of building blocks now spawn in the correct place
merge from main -> global_networked_bases
Copy over shaders from original `global_networking` branch to fix indirect rendering
Enable GPU instancing on more building mats
Disable normal MeshRenderers in PrefabPreProcess to avoid changing source prefab in editor
Enable GPU instancing on building skins
Only use highest LOD rather than rendering them all at once (as we don't support LODs yet)
Automatically disable normal MeshRenderers in the prefabs we convert
Added `indirect_rendering` and `instanced_rendering` convars to toggle new rendering modes
InstancedRenderScheduler added to scene as singletoncomponent
Create renderers on startup
Now renders stuff and somewhat works
Refactoring & auto ingest all building block prefabs into the instanced render system
Send respawn options to player when they first connect to server
merge from skinradius_cmd_2 -> main