647 Commits over 1,340 Days - 0.02cph!
Exclude .mayaSwatches from main repository too
.gitignore: ignore all compiled content except shaders
FPArms: update shared sprint anim
FPArms: removed hold parameters, started reimplementation of punching animgraph with everything learned from the more recent weapon graphs
FPArms: add sprinting anim to punching animgraph
FPArms: remove hold adjustment sequences from adjustment prefab
FPArms: added weaponless sprint animation & renamed existing shared run/sprint anims
FPArms: added shared holster animation
FPArms: more shared stuff
Merge branch 'master' of sbox
FPArms: jump/airborne/land use shared zero reference point, added shared fire anims
FPArms: shared idlelayer uses shared zero reference point instead of other pose
Merge branch 'master' of sbox
FPArms: added run/sprint & local zero reference to the shared anim prefab
FPArms: many changes involving moving stuff into the first person arms VMDL for easier sharing & genericization (see commit comment)
• removed hold_* bones
• added weapon_root, weapon_root_children, weapon_IK_hand_*, and hand_*_to_weapon_ikrule, following the same hierarchy as existing weapons (weapon_root is a separate root bone)
• weapon_root_children is a new bone between weapon_root and the children ("trigger", "magazine", etc. and the IK bones); this is so that weightlists can be moved into the arms VMDL instead of having to be explicitly defined in each weapon. Only part-specific weightlists (e.g. "mode_selector" for the MP5 knob) need to exist as part of weapon VMDLs now.
• transferred common weightlists involving weapon_root
• debug gizmo meshes (reminder: they're in a bodygroup) now show the weapon IK targets & the weapon_root bone
• added "shared" animationlist prefab which holds generic template anims that weapons can reuse; the goal is to make these as independent from each other as possible (no interlocking references), more to come soon
Citizen/animgraph: improved jumping feel by making the body & legs lean towards the landing direction
This exploits the system used to partially reflect your input while airborne, but it now *reverses it* once the initial jump impulse is over. https://files.facepunch.com/maxlebled/1b0311b1/2023-09-03%2021-51-46.mp4
/core/materials/dev/ vmat_c changes
/addons/citizen/ content recompile
Citizen/animgraph: add eyebrows & beard to the graph list of bone merge models, for morph testing
Animgraph tutorials: update the interface tutorial with the new model picker
FPArms: shadow-blocker mesh prototype (kept disabled for now)
Citizen/animgraph: bits of layout cleanup & rewrote some comment boxes
Citizen/animgraph: changed the facial idle noise layer so that it won't part the lips anymore + other small layout/comment improvements
Citizen/animgraph: improvements on scale_height subgraph (much more readable layout, added safeguard against duck corrective in special movement states)
Animgraph/tutorials: added file on transition orders
Animgraph tutorials: stubs for remaining tutorials + work-in-progress file relating to nested state machines
Animgraph tutorials: added a file explaining the differences between the 'on finished' & 'on almost finished' transition conditions between states
Animgraph tutorials: added block about assigning a default animgraph to a VMDL
Animgraph tutorials: added new file on reset signals
Citizen/animgraph: improved the Slide special movement state through the use of nested state machines + fun partial re-use of the Roll Exit anims for it + fixed head bug in the Roll state
Citizen/animgraph: use idle layer instead of static frame when slide move_groundspeed=0
Animgraph tutorials: layout changes & readability improvements to account for QT screen scale shenanigans (😒)
Update tutorial_02_basic_principles.vanmgrph
Added five tutorial graphs under /game/core/animgraphs -- more to come!
Citizen: disabled viseme prefab by default
Citizen: added debug_animation_scaling anim
FPArms: minor cleanup in punching animgraph
Typo fix in asset.party package publish successful
FPArms: include the hand_*_to_weapon_IKrule bones in the "X arm only" weightlists
FPArms: added new debug animations for twist constraints, moved debug anims into prefab
Citizen: added visemes animation prefab containing a set of viseme morph frames
Update first_person_arms_punching.vanmgrph_c
FPArms: move_groundspeed min/max to -1000,1000
FPArms: hack workaround to share all parameters through the adjustments subgraph. Unfortunately this does not work with bools or enums :(
Citizen/animgraph: further protect against movement hitches by blocking reset signals to the pelvis lean additive node + updated comments
Citizen/animgraph: prevent animation hitches that could happen when strafing back and forth or changing directions (see commit comment) + improved noclip blend
In order to have movement cycles always start from the same phase (left foot passing the right foot), the state machine in charge of tagging would send a reset signal every time the movement speed would go from under 2 u/s (defined as idle) to above 2 u/s (or 100 u/s in one tick). However, strafing back and forth or changing directions could satisfy these conditions right away, and the received signal would not only reset the 2D Blendspace, but also the newer lean layers, creating a visible hitch. The implemented solution is a second set of state change conditions. The current conditions still exist, but don't send a reset signal anymore. The new set of conditions can still send a reset, but they also require to have spent at least 250ms under 2 u/s first. The defined transition priority order now sets the newer set of conditions to the first slots, to then make sure the time condition can always get evaluated first.
Citizen/animgraph: your input direction is now visually reflected when airborne
https://files.facepunch.com/maxlebled/1b0711b1/airborne_wish_lean.webm
Update first_person_arms_adjustments.vsubgrph
FPArms/Punching: prefix all bool parameters with b_ like in the Citizen graph
Citizen/animgraph: enabled bouncyspring on pelvis lean additive
Animgraph spring demo graph/vmdl