Unity 11

Canvas를 Dynamic과 static으로 분리

Canvas 컴포넌트 추가로 "레이어 분리" UI 캔버스에서 단일 요소가 변경되면 캔버스 전체에 대해 재탐색하는 오버헤드가 발생 캔버스는 그 위에 배치된 UI 요소를 나타내는 메시와 버텍스버퍼를 생성하고, UI 요소가 변경되면 메시를 재생성하며, 실제로 UI가 표시되도록 GPU에 드로우 콜을 발행 문제는 캔버스에서 하나 이상의 요소가 변경되면 해당 요소를 최적으로 그리는 방법을 파악하기 위해 전체 캔버스를 다시 한 번 분석해야 한다는 것 솔루션: 캔버스를 분할 동적으로 바뀌는 부분은 가능한 한 적은 영역, 작은 해상도로 관리

Unity 2025.05.18

UnityWebRequest

공부 이유 :LM studio를 이용하여 실시간 AI 대사를 NPC에게 부여해주기 위해. UnityWebRequest UnityWebRequest 는 HTTP 요청을 구성하고 HTTP 리스폰스를 처리하기 위한 모듈식 시스템을 제공한다.UnityWebRequest 시스템의 주요 목표는 Unity 게임이 최신 웹 브라우저 백 엔드와 상호작용할 수 있도록 하는 것이다.또한 대량의 HTTP 요청, POST/PUT 스트리밍 작업, HTTP 헤더 및 동사의 완벽 제어 등 높은 기능을 지원한다. 시스템은 다음과 같이 두 레이어로 구성된다. 고급 레벨 API(HLAPI)는 낮은 레벨 API를 레핑하고 일반 작업을 수행하기 위한 편리한 인터페이스를 제공한다.낮은 레벨 API(LLAPI)는 더 많은 고급 사용자를 위..

Unity 2025.05.12

Unity MonoBehaviour, 코루틴 자주 쓰이는 기본 함수 문서 정리 1

항목 순서InvokeCoroutineStartCoroutineYieldInstructionWaitForSecondsWaitForEndOfFrameWaitForSecondsRealtimeWaitUntilWaitWhile Invoke 선언(Declaration) public void Invoke (string methodName, float time); 정의(Description) Invoke 메서드는 시간(초) 단위로 메서드를 호출한다.만약 타임을 0으로 정하고, 첫 프레임 업데이트 이전에 Invoke 함수를 호출하게 된다면,해당 메서드는 다음 Update 사이클이 실행될 때MonoBehaviour.Update가 호출되기 직전에 실행된다.이런 경우라면 차라리 함수를 직접 호출하는 것이 더 좋다.  참고(N..

Unity 2025.04.05

Unity - BroadCasting, SendMessage, BroadcastMessage

유니티의 BroadCasting 유니티는 게임 오브젝트에 브로드캐스팅라는 기능으로실행을 관리한다. 브로드 캐스팅의 실행 방식 모든 오브젝트에 같은 메시지를 보낸다.해당 기능이 없다면 무시하고,이후 해당 메시지를 실행할 수 있는 기능이 있다면그 기능을 실행하도록 하는 것이다. 그렇다면, 이 브로드 캐스팅을 떠올렸을 때,모든 오브젝트가 가지는 공통된 함수를 생각해보자. 대표적으로 Start와 Update가 떠오를 것이다. Start는 처음 게임이 시작 되었을 때 한번 호출된다.그렇다는 것은 Start관련 브로드 캐스팅은 단 한 번 실행된다는 것이다. Update는 매 틱마다 브로드 캐스팅이 실행되는 것이다. 이런 브로드 캐스팅으로 관리된다는 것은모든 오브젝트 들이 기본적으로 가지고 태어나는 함수들을 의미한다..

Unity 2025.03.16

Instantitate()와 Destroy()함수

오브젝트 스포닝이란 유니티에서 오브젝트 스포닝에 사용하는 함수인 Instantitate 함수에 대해 간략히 설명하겠다. Unity에서 Instantiate()로 새로운 게임 오브젝트를 생성하는 것 즉 Instantiate 함수를 사용하여 기존의 오브젝트의 복사본을 만드는 것을 "스포닝"이라고 부르기도 한다. 네트워크 HLAPI에서 "스폰"은 더 세부적인 의미를 가지는데, 서버에서 오브젝트를 "스폰"하게되면 오브젝트가 서버에 연결된 클라이언트에서 생성되어야 하며 이들을 오브젝트 스포닝 시스템이 관리하게 된다는 의미이다. 오브젝트가 스포닝 시스템에 속하게 된 후에는 오브젝트가 서버에서 제거되면 클라이언트에서도 동일하게 제거된다. 스폰된 오브젝트는 서버가 관리하는 네트워크 오브젝트가 동일하게 해당 클라이언트에..

Unity 2024.02.15

트리거 콜라이더

콜라이더 설정하기 총알과 총알이 충돌했을 때, 튕겨나지 않고 그냥 통과하도록 만들 고 싶을 수도 있다. 이때 트리거로 설정된 콜라이더를 사용하면 해당 의도를 반영한 프로젝트를 만들 수 있다. 트리거 콜라이더 트리거 콜라이더는 충돌한 물체를 밀어내는 물리적인 표면이 없다. 그래서 트리거 콜라이더는 다른 일반 콜라이더와 겹치거나 서로를 뚫고 지나갈 수 있지만, 충돌 자체는 감지한다. 따라서 트리거 콜라이더는 충돌이 감지되었을 때 어떤 기능을 실행하는 방아쇠로 많이 사용한다. 예를 들어 플레이어가 특정 영역으로 진입했는지 검사할 때 트리거 콜라이더를 많이 사용한다. 보이지 않는 트리거 콜라이더를 어떤 위치에 배치하고, 플레이어가 해당 트리거 콜라이더를 통과할 때 새로운 적을 출현시키거나 컷씬을 재생하는 방식으..

Unity 2024.02.11

유니티 기본 설정 값 작업

해당 작업으로 배운 내용 요약 머티리얼은 게임 오브젝트 표면의 색을 결정한다. 카메라 컴포넌트의 Clear Flags를 변경하여 게임 배경을 변경할 수 있다. Update() 메서드는 매 프레임마다 (게임 화면이 갱신될 때마다) 실행된다. gameObject() 메서드는 게임 오브젝트로부터 원하는 타입의 컴포넌트를 찾아온다. Vector3는 x,y,z 값을 가지는 타입이다 - Vector3로 위치, 스케일, 속도 등을 나타낼 수 있다. - new Vector3(x, y, z)를 통해 새로운 Vector3 값을 생성한다. 리지드바디 컴포넌트의 Constraints 필드에서 특정 축의 위치나 회전이 변경되지 않도록 고정할 수 있다. 리지드바디 컴포넌트는 현재 속도를 표현하는 변수 velocity를 제공한다...

Unity 2024.02.11

컴포넌트 패턴

컴포넌트 패턴이란? 컴포넌트 패턴 혹은 컴포지션(Composition) 패턴이란 미리 만들어진 부품을 조립하여 완성된 오브젝트를 만드는 방식이다. 여기서 미리 만들어진 부품을 컴포넌트라 부르며, 컴포넌트는 저마다의 대표 기능을 지닌다. 컴포넌트 패턴에서 게임 오브젝트는 속이 빈 껍데기이다. 개발자는 빈 게임 오브젝트에 컴포넌트를 조립하여 새로운 기능을 추가할 수 있다. 상속기능에만 의존하여 자식 클래스를 만들다 보면 빼야할 기능과 추가해야 할 기능이 갈리게 된다. 프로그래머만이 부모 클래스를 확장하여 새로운 자식 클래스를 만들게 된다면 프로그래머와 기획자 혹은 디자이너 팀이 번거로울 것이다.. 때문에 상속에만 의존하여 게임 개발을 할 때, 대표적으로 생기는 문제점은 다음과 같다. 1. 오히려 코드를 재사..

Unity 2024.02.05