728x90
SMALL

📚 개발 일지/Unity, CG 6

[컴퓨터그래픽스] 3D 모델을 현실감있게 하는 방법 2, 베이스맵

지난 게시글에 이어 현실감있게 환경 구성하기 두 번째! 노말 맵을 통해 머테리얼 자체에 질감은 입혀졌지만 오브젝트에는 적용이 되지 않았다. 머테리얼이 이 매쉬에 입혀지는 방식에 문제가 있을 것이라 생각했다. 이것과 관련해서 노멀 맵 텍스쳐를 적용하기 전에 궁극적으로 궁금했던 부분이 내가 사용 중인 이 오브젝트의 베이스 맵 텍스쳐였다. | Base MapBase Map은 3D 모델의 표면을 가장 기본적으로 덮어주는 컬러 텍스처다. 오브젝트의 기본 색상과 질감을 담당하며 쉽게 말해 메쉬 표면에 가장 먼저 입혀지는 '바탕 이미지'인 것이다. Unity를 포함한 대부분의 3D 엔진에서 현실감과 스타일을 결정짓는 데 기본이 된다. 앞에서 노멀 맵을 설명할 때 했던 이미지 텍스쳐를 입히는 방법에서, 이미지 텍..

[컴퓨터그래픽스] 3D 모델을 현실감있게 하는 방법 1, 노멀맵이란?

구현 중인 화면 중 일부이다. 불, 하늘은 비교적 현실적인데에 반해 도시 전경은 비현실적이다. 에셋 스토어에 올라온 무료 에셋을 불러와 환경을 구성하여 표현에 한계가 있었다. 좀 더 실사풍의 도시 모델을 구매해 불러와도 되지만 현재 이 에셋들을 수정해보고 싶었다. 3D 모델을 현실감있게 보이도록 하는 방법이 바로 텍스쳐 맵핑이다. 예를 들어 벽돌로 이루어진 건물의 외벽을 구현할 때, 벽돌의 색, 벽돌의 재질과 거칠함의 정도 등을 통해 현실적으로 보이게 할 수 있다. 오늘은 그 중에서 Normal Map 위주로 이 에셋에 대해 공부해보았다. | Normal Map우선 텍스쳐 맵핑의 주요 맵 중 하나인 노멀 맵핑이다. 여기서 노멀은 우리가 알고있는 '평범한'이라는 뜻이 아니라 '법선'이라는 뜻이다. 법..

혼자 만들 땐 몰랐던 Unity 협업 실전 정리

유니티 팀 프로젝트를 하다 보면 코드 충돌, 에셋 꼬임, 구조 혼란이 자주 발생한다.이 글에서는 유니티 협업을 원활하게 하기 위한 기본 폴더 구조와 코드/버전관리 팁을 정리했다. 1. 유니티 프로젝트 폴더 구조Assets: 모든 자산이 저장되는 폴더Library: 임포트된 에셋 캐시, 버전관리 제외ProjectSettings: 프로젝트 설정, 버전관리 포함Packages: 사용 중인 패키지 목록 및 종속성2. 유니티 코드 구조 개요2-1. 생명주기 메서드Awake → OnEnable → Start → Update → FixedUpdate → LateUpdate → OnDisable → OnDestroyStart()게임 오브젝트가 존재하기 시작할 때 호출된다(씬이 로드될 때 또는 게임 오브젝트가 인스턴스화..

[디자인 패턴] Unity 싱글톤 패턴 완전 정리: 전역 인스턴스를 하나만 만들고 관리하는 법

여러 씬을 넘나들며 하나의 객체만 유지해야 할 때, 많은 개발자가 가장 먼저 떠올리는 디자인 패턴은 Unity 싱글톤 패턴이다. | 싱글톤 패턴쉽게말해 인스턴스를 하나만 만들고 그 인스턴스를 전역에서 사용하도록 만드는 패턴.게임 전체에서 딱 하나만 존재해야할 때 사용하면 좋다.보통 게임과 무관한 설정 관리에 자주 쓰이는 듯하다.(게임 매니저, 오디오 매니저, 씬 전환 매니저, 설정 값 저장, 대사 처리 매니저 등) | 왜 자주 쓰일까?게임 전체에 하나만 존재해야할 시스템이 있을 때공통된 데이터를 여러 씬에서 다룰 필요가 있을 때 | 장점쉽게 사용할 수 있다.| 단점쉽게 사용할 수 있는 만큼 오용되기 쉬운 패턴이다.불필요한 전역 상태나 종속성이 발생한다.테스트를 어렵게 만든다.컴포넌트 하나를 변경하면 ..

[디자인 패턴] 유니티 상태 패턴 쉽게 이해하기: 상황에 따라 다른 행동을 하게 만들기

상태에 따라 달라지는 캐릭터 행동, 어떻게 구현할까?게임 캐릭터가 걷고, 뛰고, 점프할 때마다 행동이 다르면, if-else로만 처리할 수 있을까? 복잡한 상태가 반복되면 유지보수가 어려워진다. 이럴 때 필요한 게 바로 ‘상태 패턴’이다. | 상태 패턴이란?객체 내부 상태에 따라 스스로 행동을 변경한다.상태를 클래스로 캡슐화하고, 상태 전환을 클래스 간의 참조 변경으로 처리한다.하나의 상태만 가질 수 있으며 각 상태는 다른 상태의 전이에 따라 트리거된다.캐릭터의 움직임 상태(걷기, 뛰기, 서있기 등), 네트워크 상태(연결됨, 연결 끊김 등), 툴 상태(브러쉬 상태, 리무버 상태 등) | 상태 패턴의 장단점장점상태를 캡슐화해서 전환이 유연하다.코드의 가독성이 향상된다.상태를 추가 및 변경 시, 다른 상태..

728x90
LIST