| 91 | |
| 92 | // Animate Position Helper Function |
| 93 | const rigPosition = (name, position = { x: 0, y: 0, z: 0 }, dampener = 1, lerpAmount = 0.3) => { |
| 94 | if (!currentVrm) { |
| 95 | return; |
| 96 | } |
| 97 | const Part = currentVrm.humanoid.getBoneNode(THREE.VRMSchema.HumanoidBoneName[name]); |
| 98 | if (!Part) { |
| 99 | return; |
| 100 | } |
| 101 | let vector = new THREE.Vector3(position.x * dampener, position.y * dampener, position.z * dampener); |
| 102 | Part.position.lerp(vector, lerpAmount); // interpolate |
| 103 | }; |
| 104 | |
| 105 | let oldLookTarget = new THREE.Euler(); |
| 106 | const rigFace = (riggedFace) => { |