박민혁의 개발

캐릭터 주위를 원 운동 하는 코드 본문

TIL

캐릭터 주위를 원 운동 하는 코드

박민혁_kog 2023. 12. 19. 15:50
int objSize;// 돌아가는 투사체 갯수
public float circleR = 1f; //반지름
private float deg; //각도
public float objSpeed = 140f; //원운동 속도
public GameObject[] target;
public PlayerStatHandler playerStat;

private void Start()
{
    objSize = target.Length;
    transform.localPosition = Vector3.zero;
}
void Update()
{
    deg += Time.deltaTime * objSpeed;
    if (deg < 360)
    {
        for (int i = 0; i < objSize; i++)
        {
            var rad = Mathf.Deg2Rad * (deg + (i * (360 / objSize)));
            var x = circleR * Mathf.Sin(rad);
            var y = circleR * Mathf.Cos(rad);
            target[i].transform.position = transform.position + new Vector3(x, y);
        }
    }
    else
    {
        deg = 0;
    }

}

트랜스폼.포지션이 하위객체가 아니라 자기 자신이기 때문에 0,0 인게 포인트