일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Unity
- solid 원칙
- BOJ
- 8-Puzzle
- binary search
- dirtyflag pattern
- 프로그래머스
- stack
- level1
- Gold
- Silver
- Bronze
- level3
- Euclidean
- PrefixSum
- SWEA
- trie
- BFS
- Project
- effective C++
- programmers
- Zenject
- Modern C++
- 3D RPG
- knapsack Problem
- algorithm
- 프로세스 상태
- LEVEL2
- Flyweight Pattern
- two pointer
- Today
- Total
목록Project/Unity Engine (5)
Patrick's Devlog
게임 시작 화면 구상할 때, 간단한 타이틀과 게임 Object를 캔버스에 올리려고 한다. Object는 단순히 캔버스 안에 넣으면 화면에 뜨지 않는다. 아래의 방법대로 차례대로 진행하면 잘 된다. 우선 시작 화면으로 지정할 Scene을 생성한다. Hierarchy에서 Canvas를 생성해주고, Canvas의 Render Mode를 Screen Space - Camera로 변경한다. 그리고 Scene을 생성하면서 만들어진 메인 카메라를 Render Camera에 넣어준다. 그리고 Canvas 안에 Background로 활용할 Image와 Object를 넣을 Button을 생성한다. 마지막으로 Button의 자식으로 원하는 Object를 넣고 Object의 Scale을 조정하면 Canvas 화면에 Objec..

메인 캐릭터가 일정범위 안에 적 안으로 들어오면 적이 메인 캐릭터에게 이동하는 코드이다. SlimeEnemy.cs에서 추가하면 된다. 아래의 코드를 우선 넣어준다. private void UpdateTarget() { Collider[] colliders = Physics.OverlapSphere(transform.position, 6f); // 중점과 반지름으로 가상의 원을 생성해 추출하려는 반경 이내에 들어와있는 콜라이더들을 // 반환하는 함수 if (colliders.Length > 0) // 콜라이더의 개수가 1개 이상이면 { for (int i = 0; i < colliders.Length; i++) { if (colliders[i].tag == "Player") // 콜라이더의 태그가 플레이어..

우선 칙칙한 맵을 숲으로 꾸며주기 위해 맵을 로드해주었다. 맵은 https://assetstore.unity.com/packages/3d/environments/landscapes/simple-low-poly-nature-pack-157552 에서 받아와 그대로 가져왔다. 맵에 대한 수정은 추후 이루어질 예정이며, 일단은 샘플맵을 통해 진행한다. 적은 추후 다수의 적으로 진행할 예정이므로, 우선 2마리의 적을 먼저 맵에 배치해두어 테스트를 진행해보았다. 적에게 가까이 다가갔을 때, 적의 HP가 위에 보이고 애니메이션 또한 바뀌게 된다. 그리고 적에게서 멀어지면 HP가 사라지며, 애니메이션은 원래상태로 돌아간다. 하나씩 살펴보자. 우선 애니메이션을 위와같이 지정해주었다. 평소에는 IdleNormal 애니메..

우선 3인칭을 기준으로 구현을 진행해야 하므로, 카메라를 뒤에 두어 진행하였다. 메인 캐릭터 안에 카메라를 넣고 진행했었는데, 그러다보니 카메라의 시야가 회전하면 캐릭터도 같이 회전되는 일이 발생되었다. 어떤식으로 해결할 지 고민하던 중, 유튜브에서 베르님의 강의를 참고하여 캐릭터 이동을 보완하였다. 자세한 영상은 https://www.youtube.com/watch?v=P4qyRyQdySw 여기서 참고하면 된다. 앞서 언급했듯이, 카메라를 메인 캐릭터에 넣으면 캐릭터도 같이 회전하게 되는 불상사가 발생한다. 이를 막기 위해서 빈 프로젝트인 Character를 생성해주고, 그 안에 메인 캐릭터와 카메라 암을 넣어주었다. 카메라 암에는 메인 카메라가 들어가 있다. 이렇게 수정한 후 코드를 수정해보았다. 우..

개요 간단한 3D RPG 게임을 제작 중에 있다. 막히는 부분이나 정리해야 할 부분은 모두 블로그에 작성할 예정이다. 이번 글에서는 메인 캐릭터의 간단한 움직임을 구현해보았다. 우선 메인 캐릭터는 Asset Store에서 가져왔다. https://assetstore.unity.com/packages/3d/characters/humanoids/rpg-tiny-hero-duo-pbr-225148 의 링크를 타고가면 사용하고 있는 메인 캐릭터의 에셋을 확인할 수 있다. 우선은 오른쪽의 여자 캐릭터로 예시를 들고자 한다. Unity 화면에서 기본 씬에서 Plane과 위의 캐릭터를 등록한다. 위치는 모두 기본인 0으로 바꾸어주었으며, 메인 카메라를 메인 캐릭터에 넣어 조절한 상태이다. 메인 캐릭터와 바닥을 생성하..