508 Commits over 183 Days - 0.12cph!
updated xmas advanced lights bulbPrefab to point to renamed testbulb prefab (wasn't updated with a guid change from renaming)
change approach to be parallel friendly, triangles are found in parallel and then vertices are found in serial (cached by triangle edge to re-use between triangles that share an edge)
- flat array layout of the SDF array is terrible for caching in this setup, but still see a benefit from this approach
ignoring null GameObjectRef fields for prefab validation, as they can only be runtime use
- null fields weren't being handled, but a non-serialized GameObjectRef was added in
106912 and tripping up manifest generation
compile fix for leftover editor only HotReload util in LookAtIOEnt
in-editor carving test setup improvements
vertex sharing at generation time
merge from garage_door_collider_optim
added ClientIOLineParentClampedBounds to manage IO points on garage doors
- actual collider parent movement doesn't match the visuals, so we define a local bounds (re-mapped to OBB on awake) that the points are clamped to be within
sanity editor script to find doors using ClosedColliderRoots (only the garage doors are)
separated closed collider flags on garage door into mutually exclusive closed and busy collider sets - should significantly reduce the number of active colliders in a sealed base
dirty SDF sculpting proof of concept, in-editor test setup only
super basic in-editor marching cube setup to make experimenting a bit easier
testing setup for fitting marching cubes to mesh
bumped render queue on hit guide up to avoid issues with disappearing inside sculpture at times
handling item condition properly on ice sculpture deployables
made smoothing less aggressive (still destructive, just less so)
fixed sculpting operations being too aggressive near border edges (resulting in additive not adding)
drag support across plane defined by first click for all 3 modes
- also actually hooked up the clear button to reset the block
dropped min-carve in gui to 1, though it can be a little inconsistent on border edges
mostly breaking ice triplanar but forcing it to use local position for triplanar shader for now while testing in-gui sculpting
demo implementation of sculpting in painting dialogue
- hacky and dirty as hell right now, but enough to try it
adjusted gui slider values
initial ui sign.update.sculpture prefab variant
merge ice_sculptures->main
- addresses majority of feedback from previous playtest
added SculptingToolData to all relevant weapons (currently any melee weapon that does stab damage)
better defaults on sculpting tool data
hit guide for carving/smoothing is painted onto the ice itself in the sculpture shader, additive mode still uses the 3D sphere hit guide as it's more appropriate to that mode
- also some cleanup and a fix for the hit guide getting stuck when switching items in some situations
added additive mode for tools that puts ice back - only on the ice pick right now for testing
initial smoothing from water splashes
- can't splash with sprinklers (too high amount requirement)
initial support for per-tool carving settings
- separated mask of carving modes and settings for shapes / sizes
- only added to the jackhammer and icepick, need to set it up for all other piercing damage melee weapons
handling serverside collision with a coarse collider, this disallows shooting through holes made in the sculpture
not completing sculpture physics bake in the main thread and instead deferring completion until before the next physics step
- drastically reduces impact of sculpting and loading sculptures on the main thread, the bake is generally finished before the frame is finished
ammended sculpture belt switching logic to be less confusing when the sculpture is locked
removed material duplicates that are being handled with an mpb in code
- only difference is fresnel power being 6.5 instead of 4.5 on one of them, need to check if that's intentional or not
hooked up new light setup in code
changed carving/smoothing to use a flat-ended capsule (sphere where the carve starts but with a flat cap) and use a constant depth, oriented to the player's view when carved
- makes carving feel more consistent at different carving sizes as you couldn't easily see how deep the carve would have been before
fixed backwards WriteOnly/ReadOnly attributes on job and changed bad naming that caused it
corrected readonly attributes on jobs that were mistakenly using a facepunch one due to namespaces
corrected material initialization logic so emissive material and property is actualy set when loading
saving/loading sculpture light settings
toast to show if you're trying to edit a sculpture while it's locked
any edited sculpture shows picture CornerIcon in UI
painting carve radius directly onto the sculpture mesh rather than using a separate hit guide
merge ice_sculpture->main (server compile fix)