반응형

전체 글 47

[Unity] 3D 맵 에디터 - 1. 지형 편집

이번 글에서는 런타임에서 터레인을 이용해 지형편집이 가능한 3D 맵 에디터를 만들어 보겠습니다 일단 사전 준비를 해보겠습니다 먼저 터레인을 하나 생성해 주시고 사이즈를 본인이 원하는 크기로 설정해 주세요 저는 카메라에 다 들어와야 해서 32*32로 설정하였습니다 그다음 Terrain이라는 레이어를 하나 추가해 주세요 아까 만든 터레인에 Terrain레이어를 넣어주세요 준비 과정은 다 끝났습니다 이제 코드를 작성할 차래입니다 using System.Collections; using System.Collections.Generic; using UnityEngine; public class TerrainEditor : MonoBehaviour { [SerializeField] private Terrain te..

[Unity] 모뉴먼트 밸리 모작 - 2. 플레이어 움직이기

모뉴먼트 밸리 플레이어 움직임을 만들어 보겠습니다 우선 저번글에서 맵과 착시현상을 구현했는데요 이번 글에서는 플레이어 움직임을 구현해 보도록 하겠습니다 우선 플레이어가 움직일 수 있는 길을 표현하는 스크립트를 작성해야 합니다 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Road : MonoBehaviour { //연결되어있는 길을 저장하는 List [field:SerializeField] public List connectRoad { get; private set; } = new(); //Ray의 레이어마스크 [SerializeField] private LayerMask roadMask..

[Unity] 모뉴먼트 밸리 모작 - 1. 착시현상 구현

3D 착시현상 게임의 대표라고 할 수 있는 모뉴먼트밸리 이번 글에서는 모뉴먼트밸리를 따라 만들어보며 여러 가지를 배워보도록 하겠습니다 우선 모뉴먼트밸리의 가장 기본이라고 할 수 있는 착시현상을 구현해 보도록 하겠습니다 먼저 카메라설정부터 해야 합니다 우선 카메라의 Projection을 perspective에서 orthographic으로 바꿔주세요 그 후 ClearFlags를 Skybox에서 SolidColor로 바꾸어주시고 Background를 좋아하는 색상으로 바꿔주세요 그 후 Top레이어를 하나 추가해 주세요 카메라의 CullingMask를 Top레이어를 제외한 전부로 설정해 주세요 그 후 카메라를 복사한 후 자식으로 넣어주세요 이 카메라를 DepthCamera라고 부르겠습니다 이제 DepthCame..

[Unity] 3D 랜덤 맵 - 3. 지형 색칠

저번 글에서는 지형을 자연스럽게 생성해 보았습니다 하지만 지형의 텍스쳐가 하나뿐이라 부자연스럽게 보이는 문제가 있었습니다 이번 글에서는 지형에 텍스쳐를 입혀 자연스럽게 보이도록 해보겠습니다 우선 터레인레이어를 추가해 주셔야 합니다 저는 4개만 추가해 주었습니다 이 레이어들에는 번호가 부여되는데요 왼쪽부터 0, 1, 2, 3 이런 식으로 부여됩니다 이제 설정한 터레인 레이어를 기반으로 지형을 색칠해 주는 코드를 작성해 보겠습니다 using System.Collections; using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; public class EX : MonoBehaviour { [Header("타일맵 관..

[Unity] 3D 랜덤 맵 - 2. 자연스러운 지형 생성

저번 글에서는 터레인을 이용하여 지형을 생성해 봤습니다 하지만 너무 부자연스러운 지형이 생성되는 문제가 있었습니다 그래서 이번 글에서는 저번 코드를 바탕으로 더 자연스럽게 지형이 생성되도록 해보겠습니다 우선 기존에 부자연스럽게 지형이 생성되는 문제를 해결하기 위해서는 Perline noise가 아닌 Fractal noise를 사용하여야 합니다 Fractal noise란? : 저주파 Perline noise와 고주파 Perline noise를 중첩하여 얻어낸 디테일한 노이즈 차이가 보이시나요? 그러면 이 Fractal noise를 생성하고 그것을 기반으로 지형을 생성하는 코드를 작성해 보도록 하겠습니다 using System.Collections; using System.Collections.Generic..

[Unity] 3D 랜덤 맵 - 1. 지형 생성

이번 글에서는 유니티 터레인을 사용해서 3D 랜덤 맵을 만들어 보겠습니다 우선 터레인을 만드는 작업부터 시작하겠습니다 우선 터레인을 하나 생성해 주세요 그다음 터레인설정을 조절해야 합니다 자신이 원하는 크기로 하시면 됩니다 저는 큰 걸 원해서 4096x4096으로 설정하였습니다 너무 크게 설정한다면 컴퓨터에 따라 맵 생성 중 메모리초과가 발생할 수 있으므로 본인의 컴퓨터 사양과 게임의 타겟 플랫폼에 따라 알맞게 설정해 주셔야 합니다 이제 지형을 생성할 차례입니다 저는 지형을 표현하기 위하여 Perline Noise를 사용하려 합니다 Perline Noise란? : 파동 형태로 구성된 무작위패턴을 생성하는 노이즈 https://docs.unity3d.com/ScriptReference/Mathf.Perli..

[Unity] LootLocker - 3. 리더보드

저번 글에서는 LootLocker사용자 인증과 사용사 이름을 바꾸는 법에 관하여 알아보았다 이번 글에서는 LootLocker에서 리더보드를 사용하는 법을 알아보도록 하겠습니다 우선 LootLocker콘솔의 System창의 Leaderboards탭으로 가주세요 Create를 눌러 리더보드를 생성해 주세요 Enable Game API writes체크를 해야 합니다 생성을 했다면 이제 코드를 작성할 시간입니다 using LootLocker.Requests; using System.Collections; using System.Collections.Generic; using UnityEngine; public class EX : MonoBehaviour { private void Start() { LootLoc..

[Unity] LootLocker - 2. 사용자 인증과 사용자 이름 설정

저번 글에서는 LootLocker를 사용할 준비를 해보았는데요 이번 글에서는 LootLocker를 사용하여 사용자 인증을 하는 방법과 사용자의 이름을 설정하는 법을 알아보도록 하겠습니다 우선 사용자 인증입니다 LootLocker는 여러 인증방법을 지원합니다 이번 글에서는 가장 간단한 게스트인증을 알아보겠습니다 우선 LootLocker콘솔의 Setting창의 Platforms탭으로 이동합니다 그 후 Guest Login을 활성화해 주세요 그 후 코드를 작성해야 합니다 using LootLocker.Requests; using System.Collections; using System.Collections.Generic; using UnityEngine; public class EX : MonoBehavio..

반응형