public void RecordPose(PoseRecord record)
    {
        if (!isRecording)
        {
            return;
        }

        record.timeSec = CurrentTimeSec();
        poseRecords.Add(record);
    }
Example #2
0
    void OnAnimatorIK(int layerIndex)
    {
        if (currentPoseVector == null)
        {
            return;
        }

        poseRecord = new PoseRecord();

        UpdateCoreBodyPosition();
        UpdateHeadPosition();
        UpdateArmsPosition();

        lessonRecorder.RecordPose(poseRecord);
    }
Example #3
0
    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);
    }