NativeFootSurface
Geometry-based visual foot correction candidates. This module does not alter physics and runs in NativeRiderDriver's interpolated presentation path when a footSurfaceMesh and footSurfaceBody are assigned.
NativeFootSurface
Geometry-based visual foot correction candidates. This module does not alter physics and runs in NativeRiderDriver's interpolated presentation path when a footSurfaceMesh and footSurfaceBody are assigned.
new(parsedTargetRig, skinnedGeometries, surfaceGeometry) caches foot-weighted
vertices and inverse bind points. It indexes the surface triangles in an X/Z
grid. Rig foot roles and hips are required. Supply ordinary Zero mesh geometry;
no game files or host filesystem access are needed.
targets(freshPoses, toSurface, fromSurface, options) returns model-space IK
targets plus per-foot gap/overlap/correction diagnostics. Point transforms must
be inverse affine transforms between rig model units and surface units. Surface
Y defines the normal axis. The hips choose which side of the surface to use.
Defaults: maxCorrection=.05 and clearance=0 in surface units. Deep penetration
beyond the limit and separated feet receive no correction. This avoids turning
IK reference-frame flags into planted-foot assumptions.
Pass targets to NativeRigPose:solveFootTargets. It preserves shoe orientation, translations and scales while adjusting the leg rotations. Recompute from the fresh base pose; never feed corrected entity transforms back into this step.
Live Zero geometry/pose checks: two 480-vertex feet, 712 projected triangles, about 2 ms per query after indexing in the measured session. The standing-pose 15 mm/3 mm penetrations reduced to about 5e-8 m; a 2 m separation produces no correction. The enabled rider preset also passed live standing, push/ollie/landing and inverted darkslide contact checks. Rig/mesh edit invalidation, broader rig variants and rendering performance across target machines remain to be verified.
Scoped to this part · feeds back into the world's score.