전체 글 43

[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

[Unity] 유니티 클라우드 - 충돌 보고서(Cloud Diagnostics)

Unity Cloud - 충돌 보고서(Cloud Diagnostics) 소개 위 사진처럼 유니티 빌드 파일을 실행 도중 충돌이 나서 강제종료가 되는 경우가 종종 있다.이를 해결하기 위해 충돌 보고서를 이용하여 문제가 되는 부분을 수정해야한다.충돌 보고서 기능을 제공하는 여러가지가 있지만 유니티 클라우드에서도 무료로 제공하기에 가볍게 살펴보겠다.  사용법 안내1. 프로젝트를 클라우드와 연결우선 사용하고자하는 유니티 프로젝트를 클라우드와 연결시켜주자유니티 허브에서 해당 프로젝트의 NOT CONNECTED에 마우스를 가져다대면 메세지 가장아래에 클라우드와 연결할 수 있는 버튼이 있다. 다른 방법으론 가장 오른쪽에 점3개 메뉴를 열어서 클라우드와 연결시킬수도 있다. 2. Cloud Diagnostics 설치 및..

[Unity] 에셋 번들(AssetBundles) 개념 맛 보기

에셋 번들 소개에셋번들이란 asset과 bundle의 합성어이다.  asset은 유니티 프로젝트에 Assets 폴더가 가장 최상위 폴더인걸 확인할 수 있는데이 폴더의 하위에 존재하는 것들이 전부 에셋이다.bundle은 영어뜻으로 묶음 정도로 해석 된다.즉 Asset들의 묶음이 에셋번들이다. 에셋번들은 개발자가 의도한대로 에셋들을 그룹화 시킬 수 있다.  에셋번들을 생성한뒤 에셋번들끼리만 빌드한 뒤 전체 프로젝트 빌드를 하게되면 이 에셋번들을 제외하고 빌드하기에 빌드 용량은 줄어든다.  이렇게 생성된 전체 프로젝트 빌드파일에 에셋번들 빌드로 생성된 파일을 넣어줘야 제대로 된 실행이 가능하다. 예시를 보면 대부분의 스마트폰 게임이 이런 방식을 채용 중이다. 플레이스토어에서 다운받는 어플 용량이 적어 금방 설..

Unity/정보 2024.04.05

[Unity] Unity Muse 살펴보기

Unity Muse (Unity AI) 소개Unity Muse는 Unity에서 지원하는 AI입니다. Muse는 여러 가지 기능을 가지고 있는데, 현재 바로 사용가능한 기능으론  Muse Texture와 Muse Sprite가 있고 이 기능들은 Unity Editor 확장 프로그램으로 프롬프트를 입력하여 원하는 결과를 출력합니다.자세한 정보나 Muse의 기능에 대한 더 깊은 이해를 위해서는 공식 Unity 문서와 블로그 게시물을 확인하는 것이 좋습니다 https://unity.com/kr/products/muse Unity MuseUnity Muse를 사용하면 Muse Chat, Muse Texture, Muse Sprite 등 AI 기반 기능으로 실시간 3D 애플리케이션 및 경험 창작을 가속화할 수 있습..

Unity/정보 2024.03.17