Unity (4) 썸네일형 리스트형 [Unity] 코루틴 📌 코루틴이란?정의: 일반 메서드는 한 프레임 안에서 실행 완료되지만, 코루틴은 yield를 통해 작업을 여러 프레임에 나눠서 실행할 수 있는 메서드.특징:반드시 IEnumerator 반환yield return 시 실행을 멈추고 다음 프레임 또는 조건 충족 시 재개yield break로 즉시 종료MonoBehaviour를 상속한 객체에서만 사용 가능코루틴 소유 객체가 비활성화/파괴되면 중단메인 스레드에서만 실행 (멀티스레드 아님)📜 주요 메서드StartCoroutine: 코루틴 실행, 반환값(Coroutine)을 이용해 특정 코루틴 제어 가능StopCoroutine: 실행 중인 코루틴 종료 (반환값 이용 방식 권장)StopAllCoroutines: 해당 객체의 모든 코루틴 종료YieldInstruct.. [Unity] 라이프사이클 초기화 단계Awake()게임 오브젝트가 활성화되었을 때 가장 먼저 호출.같은 GameObject에 붙은 컴포넌트를 참조하거나, 자신의 상태를 초기화하는 데 적합비활성 상태에서도 실행됨 (SetActive(false)여도 호출됨).OnEnable()오브젝트가 활성화될 때 호출.Awake 이후 호출되며, 오브젝트가 꺼졌다가 다시 켜질 때마다 호출됨.Start()Awake 및 OnEnable 호출 후, 첫 프레임 업데이트 직전에 한 번 호출.다른 컴포넌트가 초기화된 이후 실행되므로, 상호작용 설정에 적합.게임 루프 (매 프레임 호출)Update()매 프레임 호출됨.키 입력, 캐릭터 이동 등 일반적인 게임 로직 처리.LateUpdate()모든 Update() 실행 후 호출됨.카메라 추적, 애니메이션 후처리 등에.. [Unity] Shader Graph에서 Texture 좌표를 UV좌표 대신 World Position으로 적용 증상Dissolve적용 시 머리, 팔, 몸통 등 큰 파츠 단위로 사라짐사라지는 경계가 거칠고 불연속적임원인Noise Texture의 UV좌표가 World Position 기반 노이즈가 아니라 Local UV 기반으로 들어감해결 방법Noise 좌표를 UV 대신 World Position으로 변경하여 공간 기반으로 적용① Position 노드 추가Space 설정:World (자연스러운 공간 기준, 추천)또는 Object (모델의 로컬 기준)대부분의 경우 World 기준이 시각적으로 자연스럽습니다.② Split → 원하는 축만 사용 Position 노드의 출력 → Split보통 X, Z만 사용해서 평면 기반 Noise 적용 X, Z를 Vector2로 Combine해서 사용③ 좌표 스케일 조절Multiply 노.. [Unity] WaitForEndOfFrame()으로 좌표 계산 문제 해결 플레이어가 180도 급전환할 때 체력바의 좌표가 튀는 문제가 있었다.카메라 이동이 아직 반영되기 전에 WorldToScreenPoint()가 호출되고 있다.Cinemachine 카메라가와 UI가 모두 LateUpdate에서 작동하기 때문에 순서를 보장할 수 없다.순서가 어긋남 → 스크린 좌표 계산이 “옛날 카메라 위치” 기준 확실한 해결법: Coroutine에서 WaitForEndOfFrame() 사용하기IEnumerator FollowTarget(){ while (true) { yield return new WaitForEndOfFrame(); // 카메라 움직임 끝난 후 실행 Vector3 screenPos = Camera.main.WorldToScreenPoint.. 이전 1 다음