지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=ajwRvAGKl_k&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=6 이번 강의에서는 적 스폰(소환)시스템을 만들어본다. 시작해보자. 적을 소환하기 위한 스크립트와 빈 게임 오브젝트 Spawner 를 만들자. Spawner 오브젝트의 위치를 중앙으로 설정하고 Spawner 스크립트를 할당해주자. | Spawner 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Spawner : MonoBehaviour { public..
전체 글
게임 만들고 싶어요지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=v0zVBtZpB-8&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=5 이번 강의에서는 데미지 시스템을 만들어본다. 시작해보자. 먼저, 지난 시간에 충돌 시 충돌을 감지하도록 했다. 데미지를 주기 위해서는 이를 오브젝트에 전달해야 한다. 이를 위해 데미지를 받는 메소드를 가지는 인터페이스를 생성, 데미지를 받아야 할 각 오브젝트는 인터페이스를 상속받아 발사체에 맞은 것을 감지하는 메소드를 구현하자. (클래스가 다중상속이 되지 않기 때문에 다중상속이 가능한 인터페이스를 사용하여 추상화된 멤버를 각 클래스에서 구현하여 사용한다) 인터페이스를 생성..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=UnPZyFjUvOM&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=4 이번 강의에서는 적을 만들어본다. 시작해보자. 먼저 적으로 사용할 캡슐을 하나 만든다. 적에 적용할 마테리얼 Enemy 도 만들어서 적용해주자. Enemy 스크립트도 만들어서 Enemy 오브젝트에 추가해주자. 게임을 플레이 할 때 만나는 적을 보면 적이 나를 공격하러 따라온다. 이렇게 적이 나를 따라오는 기능을 유니티의 내비메쉬(NavMesh) 시스템으로 구현 할 것이다. (자세한 설명 : https://docs.unity3d.com/kr/2021.3/Manual/nav-..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=rZAnnyensgs&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=3 이번 강의에서는 무기를 만들어본다. 시작해보자. 먼저 무기를 간단하게 표현하자. 빈 오브젝트 Gun 을 만들어 플레이어 앞쪽에 놓는다. 해당 오브젝트 하위(자식)오브젝트로 빈 오브젝트 Gun_Graphics 를 생성하고, 그 하위 오브젝트로 큐브 오브젝트들을 추가해 총을 만든다. 큐브를 여러개 만든 다음 크기를 조절하고 돌리고 옮겨서 간단하게 총 형태로 만든다. Material 에 Gun 을 만들어서 총 재질을 추가하고 색상을 설정해준다음 큐브들에 적용하자. 지금은 총의 ..
게임을 만들어 보고싶어졌다.. 만들어 볼 만한 게임이 없을까..찾아보다가 강의를 하나 찾았다. https://www.youtube.com/watch?v=SviIeTt2_Lc&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=1&pp=iAQB 탑 다운 뷰 슈팅 게임이다. 3D 상에서 플레이어 이동, 마우스 위치에 따른 방향 전환, 탄환 발사, 적 생성 후 장애물을 피해 플레이어를 따라오는 AI, 맵 생성 등, 재밌어보였다. 위 채널의 영상에서 쉽게 잘 설명해주시는 것 같다. (한글 자막도 있어서 좋다) 위 영상을 참고하여 탑다운 슈팅게임을 만들어보기로 했다. 먼저 Unity 를 설치하고 프로젝트를 3D 프로젝트로 생성했다. C# 스크립트들을 저장할 Script 폴더를 생성하..
1. 문제 상세 https://www.acmicpc.net/problem/1427 2. 문제 접근 정수를 입력받고 각 자리수를 구하여 배열에 저장한다. 이 자리수들을 내림차순으로 정렬하여 출력하자. 입력받는 수는 최대 1,000,000,000 이다. 따라서 정렬 해야 할 수의 최대 갯수는 10개이다. 정렬 할 수의 개수가 적어서 여러 정렬 알고리즘을 사용할 수 있다. 좀 더 효율 알고리즘인 퀵 정렬 알고리즘을 사용해보자. ■ 퀵 정렬 퀵 정렬 알고리즘은 합병 정렬(merge sort)과 비슷하게 분할 정복 정렬 알고리즘이다. 하지만 합병 정렬과는 다르게 배열을 비균등하게 분할한다는 차이점이 있다. 분할 과정에서는 배열을 임의의 피벗 값을 기준으로 피벗보다 작은 쪽(왼쪽) 과 큰 쪽(오른쪽), 총 2개의 ..