카테고리 없음

25.02.19(수) - TIL 23일차 Unity 입문

rxo2 2025. 2. 19. 21:01

유니티 애니매이션 녹화시 시작을 0에 맞추고 아래와 같이 설정시 

활이 최대사이즈로 커진후 줄어드는 것이 아닌 초기이미지로 끊어지는 듯한 느낌으로 돌아온다

이때 0이 아닌 적당한 거리를 둔 후에 설정을 해줘야만 커졌다 작아졌다 반복한다.

 

 

MonoBehaviour는 유니티에서 C# 스크립트를 작성할 때 기본적으로 상속하는 클래스입니다.

유니티 엔진과 상호작용할 수 있도록 해주는 기본 클래스

 

 

bool isLeft = Mathf.Abs(rotZ) > 90f;

이 코드는 rotZ의 절댓값이 90도를 초과할 경우, 캐릭터가 왼쪽을 바라본다고 판단하는 조건이다.

            ↑ (90°)
            |
(-180°) | (0°) → 오른쪽
            |

            ↓ (-90°)

 

절댓값 90 기준

-90° ~ 90° → 오른쪽 (isLeft = false)

90° ~ 180° 또는 -180° ~ -90° → 왼쪽 (isLeft = true)

 

 

넉백 코드 재 작성

public void ApplyKnockback(Transform other, float power, float duration)

{ // power = 넉백의 강도 (얼마나 세게 밀려날지) duration 넉백 지속 시간 (얼마 동안 밀려날지)

    knockbackDuration = duration; // 넉백 지속 시간을 설정

 

    knockback = -(other.position - transform.position).normalized * power;

} // 넉백 방향 및 힘 계산   // 현재 오브젝트(transform)에서 충돌한 오브젝트(other)까지의 벡터를 구한 후,

반대 방향으로 힘을 적용

other.position = new Vector3(5, 0, 0);

transform.position = new Vector3(0, 0, 0);

power = 2.0f;

other.position - transform.position = (5, 0, 0) - (0, 0, 0) = (5, 0, 0)

일때  normalized 적용 → (1, 0, 0)
         - 부호 적용 → (-1, 0, 0)
         * power 적용 → (-2, 0, 0)

 

 

magnitude는 Vector2 및 Vector3 타입에서 사용할 수 있는 속성, 

이 속성은 벡터의 크기(길이, 즉 벡터의 거리)를 반환. magnitude는 벡터의 각 성분을 사용하여 계산.