1. www 클래스 WWW 클래스는 유니티에서 제공하는 간단한 방법으로 웹 서버와 통신할 수 있게 해주는 클래스입니다. 웹 페이지의 데이터를 다운로드하거나, 이미지 등을 불러올 때 사용됩니다. 현재 WWW는 유니티에서 권장하지 않고 있습니다. 2. UnityWebRequest 클래스 UnityWebRequest 클래스는 유니티에서 HTTP 통신을 할 수 있게 해주는 클래스입니다. GET, POST 등 다양한 HTTP 요청 방식을 지원하며, 파일 다운로드, 업로드와 같은 작업에도 사용됩니다. 유니티에서 WWW를 사용하기 보다는 UnityWebRequest를 사용하는 권장합니다. 2.1 GET 방식 GET 방식은 주로 서버로부터 정보를 조회하기 위해 사용되는 메서드입니다. 데이터를 요청할 때 필요한 매개변수..
유니티 개발에서 C#의 ref와 out 키워드는 함수 인자를 다룰 때 중요한 역할을 합니다. 이 두 키워드를 이해하고 올바르게 사용하는 것은 유니티 게임 개발의 효율성을 크게 향상시킬 수 있습니다. 이 글에서는 ref와 out 키워드의 개념을 설명합니다. 1. ref 키워드 ref 키워드는 메서드에 변수를 참조로 전달할 때 사용됩니다. 이를 통해 메서드 내에서 인자의 값을 변경하면, 그 변경사항이 메서드를 호출한 곳에서도 반영됩니다. 즉, ref를 사용하면 메서드가 인자로 받은 변수 자체를 직접 수정할 수 있습니다.(참조로 전달한다는 것은 변수의 실제 메모리 위치를 전달한다는 의미로, 메서드 내에서 변수의 값을 변경하면 원본 변수에도 그 변경사항이 반영됩니다.) 아래 예제에서 보면 TakeDamage 메..
유니티(Unity)에서 new 키워드를 사용하는 이유는 객체 지향 프로그래밍(OOP)의 핵심 원리 중 하나인 인스턴스화를 구현하기 위함입니다. new 키워드는 새로운 객체를 생성하고, 해당 객체의 메모리를 할당하는 데 사용됩니다. 메모리와 객체 생성 프로그래밍에서 메모리는 작업 공간으로 이해할 수 있습니다. 이 작업 공간에 데이터를 저장하고, 필요할 때마다 접근하여 사용합니다. new 키워드의 사용은 메모리 상에 새로운 객체, 즉 인스턴스를 생성한다는 의미입니다. 예를 들어, Dog라는 클래스의 인스턴스를 생성하기 위해 new Dog()라고 작성하면, 유니티는 메모리 상에 Dog 객체를 위한 공간을 할당하고, 그 객체를 사용할 수 있게 됩니다. 이 과정에서 dog라는 변수에 객체의 메모리 주소가 저장되며..
1. UI 역시 메시이다. - 3D 그래픽에서 신경써야 하는 병목이 모두 똑같이 적용된다. Draw Call, Overdraw 등 드로우 콜(Draw Call) : 그래픽스 API가 GPU에게 화면에 무언가를 그리라고 명령하는 것, 드로우 콜이 많을 수록 CPU와 GPU 간의 통신 부하가 증가하여 게임의 렌더링 성능이 저하될 수 있음, 따라서 게임 개발에서는 도로우 콜의 수를 줄이기 위해 다양한 최적화 기법을 사용 오버드로우(Overdraw) : 화면의 특정 픽셀이 한 프래임 내에서 여러 번 렌더링되는 현상을 말함, 보통 여러 오브젝트가 같은 화면 공간을 공유할 때 발생하며, 특히 뒤에 있는 오브젝트가 앞에 있는 오브젝트에 의해 가려지는 경우에도 뒤에 있는 오브젝트가 렌더링되어 자원을 낭비하게 됨 - C..
1. 직렬화(Serialization)란? 유니티에서 스크립트(Script)의 변수를 Public으로 지정하여 Inspector에서 값을 변경하는 경우가 있다. 그러나 정보를 은닉하고, 캡슐화를 유지하기 위해 private으로 변수를 지정한 경우 Inspector에서 볼 수 없다. 이때 Inspector에서 볼 수 있도록 하는 것이 SerializeField이다. SerializeField는 직렬화를 하겠다는 뜻이다. 그렇다면 여기서 직렬화란 무엇일까? 직렬화는 클래스나 오브젝트 등을 연속된 바이트 형태로 변환하는 과정을 말한다. (쉽게 말하면 전송 가능한 형태로 변환하는 작업이다.) 직렬화를 사용하는 이유는 데이터를 컴퓨터의 저장장치에 저장하거나 네트워크로 전달하기에 편리하기 때문에 사용됩니다. 다시 ..