Unity/정보 33

[Unity] 비등방성 필터링(Anisotropic filtering)과 Mipmap

비등방성 필터링이란?비등방성 필터링(Anisotropic Filtering, AF)은 3D 그래픽스에서 텍스처의 품질을 향상시키기 위한 기술입니다. 이 기술은 관찰자의 시점에 따라 텍스처의 세부 사항이 어떻게 보이는지를 개선하여, 특히 경사진 표면에서 더 선명한 결과를 제공합니다. 비등방성 필터링은 다방향으로의 샘플링을 통해 텍스처의 시각적 품질을 높입니다.Mipmap이란?Mipmap은 텍스처의 다양한 크기를 미리 계산하여 저장하는 기술입니다. 게임에서는 카메라와의 거리에 따라 적절한 해상도의 텍스처를 사용하여 성능을 향상시키고, 텍스처의 품질을 유지하는 데 도움을 줍니다.  예를 들어 가까운 객체에는 고해상도 텍스처를, 멀리 있는 객체에는 저해상도 텍스처를 사용하는 방식입니다. 이렇게 하면 성능을 향상..

Unity/정보 2024.09.22

[Unity] 안티앨리어싱(Anti-Aliasing)

안티앨리어싱(AA) 소개안티앨리어싱(Anti-Aliasing, AA)은 게임 그래픽 가장자리에서 발생하는 계단 현상을 완화하는 방법입니다. 낮은 해상도에서 픽셀로 표현된 직선이나 곡선이 매끄럽지 않게 보이는데, 안티앨리어싱은 픽셀의 색상과 주위 색상을 혼합하여 더 부드럽고 자연스러운 이미지를 보여줍니다. 이를 통해 게임의 그래픽 퀄리티를 향상시킬 수 있습니다.안티앨리어싱의 원리안티앨리어싱은 객체의 가장자리에서 색상 값을 혼합하여 픽셀의 경계가 부드럽게 보이도록 하는 방식으로 동작합니다. 특히, 픽셀의 색상을 주변 픽셀과 섞어 계단 현상을 줄이거나, 화면 전체에서 샘플링을 더 많이 하는 방식으로 처리하여 시각적 부드러움을 제공합니다.안티앨리어싱 종류와 비교1) MSAA (Multi-Sample Anti-A..

Unity/정보 2024.09.21

[Unity] 유니티의 가비지 콜렉터 (G.C)

가비지 콜렉터란?가비지 콜렉터(GC)는 프로그램에서 더 이상 필요하지 않은 메모리(가비지)를 자동으로 회수하여 메모리 누수를 방지하고 메모리를 관리하는 시스템입니다. 유니티는 C#을 사용하여 스크립트를 작동하며 .NET의 가비지 콜렉터를 기반으로 메모리를 관리합니다.   작동 방식 가비지 콜렉션은 주로 C#에서 관리되는 힙 메모리에서 이루어집니다. Unity는 생성된 객체가 더 이상 사용되지 않을 때 자동으로 메모리에서 해제하는데, 메모리에서 해제되는 시점을 완벽하게 제어하기는 어렵습니다. 그리고 GC는 메모리를 세대별로 나누어 오래된 객체와 최근에 생성된 객체를 구분해서 관리합니다.0세대 (Gen 0): 가장 최근에 생성된 객체들이 위치하며, 수명이 짧은 객체가 많습니다. 이 세대는 빠르게 메모리에서 ..

Unity/정보 2024.09.16

[Unity] Awake()와 Start()의 차이점

Unity에서 Awake()와 Start() 메서드는 게임 오브젝트와 컴포넌트의 초기화 과정에서 중요한 역할을 합니다. 이 두 메서드는 각각 고유한 시점에 호출되며, 각기 다른 용도로 사용됩니다. Awake()Awake()는 Unity의 스크립트 생명주기 중 가장 먼저 호출되는 메서드입니다. 게임 오브젝트가 씬에 로드될 때, 모든 컴포넌트가 초기화되기 전에 호출됩니다. 특징:호출 시점: 모든 컴포넌트가 초기화되기 전에 호출됩니다. 따라서 Awake()는 스크립트나 컴포넌트의 설정과 관련된 코드가 독립적으로 실행되도록 보장합니다.의존성 관리: Awake()에서는 다른 컴포넌트의 상태에 의존하지 않고, 필요한 초기화 작업을 수행합니다. 예를 들어, 게임 오브젝트의 상태나 설정을 기본값으로 초기화할 때 유용합..

Unity/정보 2024.09.16

[Unity] 프리팹(Prefab) 기초

프리팹(Prefab)이란?프리팹은 Unity에서 재사용 가능한 객체 템플릿을 의미합니다. 게임에서 반복적으로 생성되거나 배치되는 오브젝트를 하나하나 수작업으로 배치하는 것은 비효율적이기 때문에, 프리팹을 활용하여 이를 자동화할 수 있습니다. 프리팹은 하나의 원본 객체를 미리 저장해 두고, 그 객체의 인스턴스를 게임 내에서 동적으로 생성할 수 있도록 해줍니다. 프리팹의 특징재사용 가능: 프리팹은 게임 내 원하는 위치에 동일한 오브젝트를 빠르게 생성할 수 있습니다. 예를 들어 적 캐릭터, 아이템, 총알 등을 프리팹으로 만들면 여러 곳에서 동일한 설정을 공유하면서 효율적으로 사용할 수 있습니다.동적 생성: 코드에서 Instantiate() 함수를 사용하여 프리팹을 동적으로 생성할 수 있습니다. 예를 들어, 플..

Unity/정보 2024.09.16

[Unity] GPU Instancing

GPU Instancing이란?GPU Instancing은 동일한 메쉬와 머티리얼을 사용하는 여러 오브젝트를 한 번의 드로우 콜로 렌더링하는 기술입니다. 일반적으로 다수의 오브젝트를 렌더링할 때, 각각의 오브젝트마다 GPU로 데이터를 보내는 과정(드로우 콜)이 필요합니다. 하지만 GPU Instancing을 사용하면 이 드로우 콜의 횟수를 크게 줄일 수 있습니다. GPU Instancing의 원리GPU Instancing은 동일한 메쉬와 머티리얼을 사용하는 여러 오브젝트를 묶어서 한 번에 GPU로 전송합니다.각 오브젝트의 위치, 회전, 크기와 같은 개별적인 변환 정보만을 GPU로 넘겨주고, 나머지 메쉬 데이터는 공유됩니다.이를 통해 CPU에서 처리해야 할 작업이 줄어들어 성능이 향상됩니다. GPU Ins..

Unity/정보 2024.09.13

[Unity] 유니티에서 코루틴(Coroutine) 사용하기

코루틴이란?코루틴은 IEnumerator를 반환하는 함수로, 비동기적으로 작업을 처리하거나 지연된 작업을 수행할 수 있습니다. yield를 사용하여 특정 시간 동안 대기하거나, 여러 프레임에 걸쳐 작업을 나누어 처리할 수 있습니다. 이는 게임에서 타이밍 제어나 비동기적 로딩, 애니메이션 제어 등 다양한 용도로 사용됩니다.  기본 사용법코루틴은 다음과 같이 정의하고 호출할 수 있습니다:using System.Collections;using UnityEngine;public class Greeting : MonoBehaviour{ void Start() { StartCoroutine(GreetEverySecond()); } IEnumerator GreetEverySecond..

Unity/정보 2024.09.08

[Unity] 휴머노이드 애니메이션을 활용한 상체와 하체의 방향 조정 방법

Unity에서 캐릭터 애니메이션을 구현할 때, 상체와 하체를 각각 다른 방향으로 향하게 하는 것은 다양한 게임에서 중요한 요소입니다. 예를 들어, FPS 게임에서 플레이어가 상체는 오른쪽을 조준하면서 하체는 앞으로 뛰는 상황을 구현하고 싶다면, 상체와 하체의 애니메이션 방향을 별도로 조정해야 합니다. 이번 글에서는 이러한 기능을 구현하는 여러 방법 중 하나를 소개하겠습니다. 위 사진처럼 캐릭터의 상체와 하체 등 부위별로 서로 다른 방향을 주는 것이 최종 목표입니다. 부위별로 다른 애니메이션을 재생하는 방법은 이미 널리 알려져 있으므로, 이번에는 다루지 않겠습니다.​작업할 캐릭터 모델 준비캐릭터와 애니메이션은 무료로 제공되는 사이트인 Mixamo에서 가져옵시다.​www.mixamo.com Mixamo ww..

Unity/정보 2024.09.04

[Unity] AR 튜토리얼

Unity AR (튜토리얼) 소개증강 현실(AR, Augmented Reality)은 현실 공간에 가상의 이미지를 겹쳐 보여주는 기술입니다. 스마트폰이나 태블릿 등을 통해 현실에 3D 오브젝트, 텍스트, 이미지 등을 추가할 수 있습니다.AR 기술은 게임, 교육 등 다양한 분야에서 활용되고 있으며, Unity는 AR 개발을 간편하게 할 수 있는 기능을 제공합니다. 이번에는 Unity를 사용하여 간단한 AR 앱을 만들 예정입니다. 목표는 사용자가 화면을 터치할 때 화면 중앙에 오브젝트를 생성하는 것입니다. 사용법 안내1. AR Foundation 패키지 설치 Package Manager에서 AR Foundation을 검색하여 설치합니다.사용하는 기기가 안드로이드인 경우 Google ARCore XR Plug..

Unity/정보 2024.08.17

[Unity] URP 데칼 프로젝터(Decal projector) 사용하기

데칼 프로젝터(Decal projector) 소개 데칼 프로젝터는 오브젝트 표면에 텍스처나 그래픽을 투사하여 시각적인 효과를 추가하는 도구입니다. 벽에 낙서를 그리거나 총알 자국 등을 쉽게 적용할 수 있으며, 게임 환경의 디테일과 몰입감을 높여줍니다.위 사진들은 데칼의 예시로 볼 수 있습니다. 사용법 안내1. 데칼 기능 활성화하기현재 사용하고 있는 URP Renderer를 보면 데칼을 추가할 수 있습니다.URP-HighFidelity를 사용하고 있으므로, URP-HighFidelity-Renderer를 클릭하여 인스펙터에서 Add Renderer Feature를 눌러 Decal을 추가합니다. 2. 데칼 프로젝터 배치 데칼에 사용할 Material을 새로 만듭니다. Shader Graphs/Decal로 설..

Unity/정보 2024.07.09