728x90
반응형

unity 26

Unity에서의 Scroll기능

Unity에서의 Scroll기능Unity UI 시스템을 활용하는 데 있어서 스크롤 기능은 아주 중요한 요소 중 하나입니다. 특히 많은 정보를 제한된 영역에 표시하거나 리스트, 인벤토리, 채팅 로그, 설정 메뉴 등 다양한 UI 요소에서 자주 활용됩니다. 이 글에서는 ScrollRect 컴포넌트를 중심으로 Unity에서 스크롤을 구현하는 방식과 자주 겪는 문제점, 그리고 커스터마이징 팁에 대해 설명드리겠습니다.Scroll의 기본 개념ScrollRect 구성 요소ScrollRect : 스크롤 기능의 핵심 컴포넌트입니다.Viewport : 사용자가 실제로 보게 되는 가시 영역입니다.Content : 실제로 스크롤되는 내부 콘텐츠 영역입니다.Scrollbar : 선택적으로 스크롤바를 추가할 수 있으며, 수동 또는..

Unity 2025.04.23

Unity LineRenderer는 무엇인가?

Unity LineRenderer Unity에서 시각적인 선을 그릴 수 있도록 해주는 컴포넌트인 LineRenderer는 궤적, 전선, 레이저, 경로 시각화 등 다양한 상황에서 활용됩니다. 이번 글에서는 기초적인 사용법부터 실전 예제, 비주얼 효과, 그리고 자주 발생하는 문제까지 정리해 보겠습니다.LineRenderer란?LineRenderer는 Unity에서 GameObject에 선을 그릴 수 있도록 해주는 컴포넌트입니다. 여러 개의 점(Position)을 지정하여 선을 그리고, 이 선에 다양한 머티리얼과 효과를 적용할 수 있습니다.기본 특징:두 개 이상의 점을 지정해 선을 그림머티리얼, 색상, 두께 설정 가능월드 좌표 기준 또는 로컬 좌표 기준 사용기본 생성법:LineRenderer line = ga..

Unity 2025.04.18

Unity Addressables의 개념과 실전 적용 방법

Unity Addressables의 개념과 실전 적용 방법Unity에서 리소스를 효율적으로 관리하기 위한 방법 중 하나가 바로 Addressables 시스템입니다. Addressables은 기존의 Resources나 AssetBundle 방식의 단점을 보완하며, 런타임에서 동적으로 리소스를 로드하고 메모리 관리를 보다 효과적으로 수행할 수 있게 도와주는 Unity의 공식 시스템입니다.Addressables이란?Addressables은 Unity의 에셋 관리 시스템으로, 리소스들을 **"주소 기반"**으로 쉽게 로딩하고 관리할 수 있게 해줍니다. 사용자는 각 에셋에 고유 주소를 부여하고, 이를 통해 코드에서 쉽게 접근할 수 있습니다.주요 장점Resources 폴더의 대체런타임 동적 로딩 및 언로딩 가능As..

Unity 2025.04.17

Unity에서 GetComponent 제대로 쓰는 법

Unity에서 GetComponent 제대로 쓰는 법Unity를 다루다 보면 반드시 마주치게 되는 함수가 바로 GetComponent입니다. 이 함수는 Unity의 컴포넌트 기반 구조에서 특정 컴포넌트를 가져오기 위해 사용됩니다. 처음에는 단순해 보이지만, 사용 방식에 따라 성능과 유지보수 측면에서 큰 차이를 만들어냅니다. 이번 글에서는 GetComponent의 기본 개념부터 성능 최적화, 실전 사용 팁까지 폭넓게 다뤄보겠습니다.GetComponent란 무엇인가?Unity는 모든 게임 오브젝트가 여러 개의 컴포넌트를 조합하여 구성되는 구조입니다. GetComponent()는 현재 게임 오브젝트에서 특정 타입의 컴포넌트를 가져오는 함수입니다.Rigidbody rb = GetComponent();이처럼 Ri..

Unity 2025.04.16

Unity에서 CompareTag를 사용하는 이유와 주의사항

Unity에서 CompareTag를 사용하는 이유와 주의사항Unity 개발을 하다 보면 오브젝트를 구분할 때 tag 속성을 자주 사용하게 됩니다. 예를 들어 충돌 시 특정 태그의 오브젝트와만 상호작용하고 싶을 때, 우리는 종종 아래와 같은 코드를 작성하곤 합니다:if (other.gameObject.tag == "Player"){ // 플레이어와 충돌했을 때의 처리}하지만 Unity에서는 이렇게 문자열 비교 방식보다는 CompareTag() 메서드를 사용하는 것을 권장합니다. 왜일까요?1. CompareTag란?CompareTag(string tag)는 Unity의 GameObject 또는 Component 클래스에 정의된 메서드로, 해당 오브젝트가 특정 태그를 가지고 있는지를 검사합니다.if (o..

Unity 2025.04.15

Unity 애니메이션에 대하여

Unity 애니메이션에 대하여Unity에서 애니메이션 시스템은 단순한 트랜지션 이상의 역할을 하며, 게임의 감성과 퀄리티를 좌우하는 핵심 요소입니다. 이번 글에서는 Unity의 애니메이션 시스템 전반과 Animator Controller, 그리고 실전 팁과 함께 Timeline과 Playables API까지 소개하겠습니다.1. Unity 애니메이션 시스템 개요Unity의 애니메이션 시스템은 크게 다음 세 가지 구성 요소로 이루어져 있습니다:Animator Component: 애니메이션을 실행하는 본체로, GameObject에 붙습니다.Animator Controller: 상태(State)와 전이(Transition)를 정의하고 애니메이션 클립을 연결하는 그래프 구조입니다.Animation Clip: 실제..

Unity 2025.04.14

Unity에서 방향 벡터 계산 시 실수하기 쉬운 예시

Unity에서 방향 벡터 계산 시 실수하기 쉬운 예시Unity에서는 벡터를 활용하여 캐릭터 이동, 회전, 방향 계산 등을 처리하는 일이 매우 빈번합니다. 하지만 이 과정에서 의외로 많은 개발자들이 실수를 하곤 합니다. 이번 글에서는 Unity에서 자주 발생하는 벡터 계산 실수와 그에 대한 올바른 사용법을 정리해보겠습니다.1. 목표 위치를 향한 방향 벡터 계산 시 normalized 누락가장 흔한 실수는 목표 위치에서 현재 위치를 뺀 후, 그 벡터를 방향 벡터로 사용하려는 경우입니다. 이때 normalized를 사용하지 않으면 의도치 않게 거리까지 포함된 벡터가 되어 캐릭터가 급가속하거나 느리게 움직일 수 있습니다.// 잘못된 예시Vector3 dir = target.position - transform...

Unity 2025.04.11

Unity에서 특별한 폴더들과 폴더들의 역할

Unity에서 특별한 폴더들과 폴더들의 역할Unity 프로젝트를 구조적으로 관리하기 위해서는 폴더 구조의 이해와 사용이 매우 중요합니다. Unity는 특정 이름을 가진 폴더들에 대해 특별한 동작을 수행하며, 이 외에도 커뮤니티나 실무에서 관례적으로 사용되는 폴더 구조가 존재합니다. 이번 글에서는 Unity에서 특별한 의미를 가지는 폴더들과 관례적으로 사용되는 폴더 구조에 대해 정리해보겠습니다.1. Unity에서 특별한 의미를 가지는 폴더들Unity는 특정 폴더명을 가진 디렉토리에 대해 특별한 처리 과정을 적용합니다. 이러한 폴더는 프로젝트 전체의 동작이나 빌드, 에디터 환경 등에 영향을 미치므로 정확히 이해하고 사용하는 것이 중요합니다.▷ EditorAssets/Editor 폴더 내부에 있는 스크립트는 ..

Unity 2025.04.10

Unity 전처리 지시문(Preprocessor Directive)과 XML 주석

Unity 전처리 지시문(Preprocessor Directive)과 XML 주석Unity에서 개발을 하다 보면 코드의 구조나 가독성을 높이기 위해 다양한 기능을 활용하게 된다. 그중 자주 쓰이지만 정확한 개념을 모르고 넘어가는 기능이 바로 전처리 지시문과 XML 주석이다. 이 글에서는 이 두 가지를 소개하고, 실전에서 어떻게 사용하는지 예제와 함께 정리해본다. 전처리 지시문(Preprocessor Directive)전처리 지시문은 컴파일러가 코드를 컴파일하기 전에 먼저 해석하는 명령어다. C#에서는 #으로 시작하며, 특정 조건에 따라 컴파일 여부를 제어하거나, 경고를 숨기거나, 코드 영역을 구분할 수 있다.주로 사용되는 전처리 지시문은 다음과 같다.#define / #undef: 특정 심볼을 정의하거나..

Unity 2025.04.08

여덟번째 글, 내일배움캠프 9주차를 마치며

12월 사전캠프부터 1월 본캠프를 시작으로 어느덧 벌써 9주가 흘렀다. 그 기간동안 많은 것들을 배운것은 사실이지만 열심히 블로그에 꾸준히 뭘 배웠는지 업로드해야지 하는 마음은 그동안 저 구석에 있었다..다시 블로그에 글을 쓰는 이유는 오늘을 시작으로 6월2일까지의 최종프로젝트가 시작되었기 때문이다. 그러기에 다시금 초심을 다잡고 다시한번 마음가짐을 새로이 하기위해 글을 쓰고 이번엔 지켜지리라 다시 매일매일 TIL을 작성해야지 마음을 먹어보고자 한다. 지금까지 기간동안 계속해서 여러프로젝트와 Unity를 만지면서 부끄럽지만 이제 조금 할 줄안다 조금...그래도 최종 프로젝트이기에 팀원들과 만들고자하는 게임에 최선을 다해 임할 것이다. 정확히 어떤 기획을 가지고 프로젝트를 시작하는지 아직은 말할 수없지만 ..

카테고리 없음 2025.04.04
728x90
반응형