public void RecordPose(PoseRecord record) { if (!isRecording) { return; } record.timeSec = CurrentTimeSec(); poseRecords.Add(record); }
void OnAnimatorIK(int layerIndex) { if (currentPoseVector == null) { return; } poseRecord = new PoseRecord(); UpdateCoreBodyPosition(); UpdateHeadPosition(); UpdateArmsPosition(); lessonRecorder.RecordPose(poseRecord); }
void FixedUpdate() { if (isMoveForward || isMoveBack || isMoveLeft || isMoveRight) { animator.SetInteger("animation", walkingAnimationId); } else { animator.SetInteger("animation", idlingAnimationId); } Vector3 target = transform.position; if (isMoveForward && transform.position.z <= forweardZConstraint) { target += Vector3.forward * 1.0f; } else if (isMoveBack && transform.position.z >= backZConstraint) { target += Vector3.back * 1.0f; } else if (isMoveLeft && transform.position.x >= leftXConstraint) { target += Vector3.left * 0.02f; transform.rotation = Quaternion.Euler(0f, leftYRotation, 0.0f); } else if (isMoveRight && transform.position.x <= rightXConstraint) { target += Vector3.right * 0.02f; transform.rotation = Quaternion.Euler(0.0f, rightYRotation, 0.0f); } else { transform.rotation = Quaternion.Euler(0.0f, 0.0f, 0.0f); return; } Vector3 updatedPosition = Vector3.MoveTowards(transform.position, target, 0.2f); transform.position = updatedPosition; PoseRecord coreBodyPoseRecord = new PoseRecord(); coreBodyPoseRecord.coreBody = updatedPosition; lessonRecorder.RecordPose(coreBodyPoseRecord); }