카테고리 없음

25.02.20(목) - TIL 24일차 Unity 입문

rxo2 2025. 2. 20. 20:59

int layerMaskTarget = weaponHandler.target; //  공격 가능한 대상 레이어 마스크

RaycastHit2D hit = Physics2D.Raycast(  // Raycast를 사용하여 투명한 물리적인 레이저를 발사하여

                                                                   충돌 처리를 해준다
     transform.position,
     direction,
     weaponHandler.AttackRange * 1.5f,
     (1 << LayerMask.NameToLayer("Level")) | layerMaskTarget   //   레벨(벽)과 적 레이어 감지
 );
 if (hit.collider != null && layerMaskTarget == (layerMaskTarget | (1 << hit.collider.gameObject.layer)))
 {  // 목표 대상이 공격 가능 레이어에 속해 있는 경우 공격
     isAttacking = true;
 }

 

 

코루틴(Coroutine)이란 유니티에서 시간기반 작업이나 비동기적 작업을 처리하기 위해 사용하는 메서드.

일반적인 함수와 달리, 코루틴은 실행을 중단하고 나중에 다시 실행을 재개 할수있다.

특징

1. 비동기적 작업 - 프레임 단위로 나뉘어 실행, 한 프레임에 모든 작업을 처리하지 않아도 됨,

게임이 멈추지 않고 연속적으로 작동할 수 있다.

2. yield 키워드 사용 - yield return 을 통해 특정 조건이나 시간을 기다렸다가 작업을 재개 가능.

종류

yield return null  설명: 다음 프레임까지 대기

yield return new WaitForSeconds(시간) 설명: 지정된 시간(초)만큼 대기

yield return new WaitForSecondsRealtime(시간) 설명: 실제 시간(Real Time) 기준으로 대기

yield return new WaitUntil(조건) 설명: 조건이 참(True)이 될 때까지 대기

yield return new WaitWhile(조건) 설명: 조건이 거짓(False)이 될 때까지 대기

yield break 설명: 코루틴 실행을 즉시 종료

 

 

유니티 에서 ui 이미지는 하위 폴더로 들어갈수록 화면상 이미지는 위로 올라온다

 

 

Unity의 Input System 은 사용자의 입력(키보드, 마우스, 게임패드, 터치 등)을 처리하는 시스템.

Unity는 기존의 Legacy Input Manager새로운 Input System Package 두 가지 방식으로 입력을 처리할 수 있다.

다양한 입력 장치를 쉽게 통합 가능, 키 매핑 변경이 간단.

다양하게 키 세팅을 하여 인벤토리나, 일시정지 다양한 작용을 설정가능