Heroes_of_Hiis/Assets/Project Files/Scripts/Shumpei/ArmSwingLocomotion.cs

66 lines
2.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ArmSwingLocomotion : MonoBehaviour
{
public GameObject LeftHand;
public GameObject RightHand;
public GameObject CenterEyeCamera;
public GameObject ForwardDirection;
public GameObject Player;
private Vector3 PositionPreviousFrameLeftHand;
private Vector3 PositionPreviousFrameRightHand;
private Vector3 PlayerPositionPreviousFrame;
private Vector3 PlayerPositionCurrentFrame;
private Vector3 PositionCurrentFrameLeftHand;
private Vector3 PositionCurrentFrameRightHand;
public float Speed;
private float HandSpeed;
// Start is called before the first frame update
void Start()
{
PlayerPositionPreviousFrame = Player.transform.position;
PositionPreviousFrameLeftHand = LeftHand.transform.position;
PlayerPositionPreviousFrame = RightHand.transform.position;
}
// Update is called once per frame
void Update()
{
/*float Yrot = CenterEyeCamera.transform.eulerAngles.y;
ForwardDirection.transform.eulerAngles = new Vector3(0, Yrot, 0);*/
PositionCurrentFrameLeftHand = LeftHand.transform.position;
PositionCurrentFrameRightHand = RightHand.transform.position;
PlayerPositionCurrentFrame = Player.transform.position;
//Debug.Log("Previous" + PositionPreviousFrameLeftHand);
//Debug.Log("Current" + PositionCurrentFrameLeftHand);
var playerDistanceMoved = Vector3.Distance(PlayerPositionCurrentFrame, PlayerPositionPreviousFrame);
var leftHandDistanceMoved = Vector3.Distance(PositionCurrentFrameLeftHand, PositionPreviousFrameLeftHand);
var rightHandDistanceMoved = Vector3.Distance(PositionCurrentFrameRightHand, PositionPreviousFrameRightHand);
HandSpeed = ((leftHandDistanceMoved - playerDistanceMoved) + (rightHandDistanceMoved - playerDistanceMoved));
if (Time.timeSinceLevelLoad > 1f)
{
Player.transform.position += ForwardDirection.transform.forward * HandSpeed * Speed * Time.deltaTime;
}
PositionPreviousFrameLeftHand = PositionCurrentFrameLeftHand;
PositionPreviousFrameRightHand = PositionCurrentFrameRightHand;
PlayerPositionPreviousFrame = PlayerPositionCurrentFrame;
}
}