반응형

Unity 10

[Unity] #10. FPS 게임 제작(1)

이번에는 FPS게임을 제작해볼 것이다. FPS 게임 : 1인칭 슈팅게임을 의미하는 말로 대표적인 게임으로는 서든어택, 오버워치, 발로란트 등이 있다. 목차 1. 지면새성 2. 카메라 회전 3. 캐릭터 이동 & 점프 1. 지면생성 먼저 3D프로젝트를 먼저 생성해준다. [Hierarchy] - [3D Object] - [Plane] 을 생성하고 오브젝트 이름을 Ground로 변경한다. 땅처럼 보일 수 있도록 다음과 같이 크기를 변경해준다. 지면에 땅처럼 색상을 만들어 주기 위해 Material 을 적용할 것이다. 먼저 Material을 모아 둘 폴더를 생성한다. Material 폴더에서 마우스 우클릭을 한 뒤 Material을 생성한다. Albedo를 이용해서 색상을 땅과 유사하게 바꿔주었다. Ground ..

[Unity] #9. 슈팅 게임 제작(5)

5번째 글을 마지막으로 슈팅 게임 제작을 마무리 할 예정이다. 이번에는 마지막으로 최적화에 조금 더 신경을 써보기로 했다. 목차 1. 싱글톤패턴으로 관리자 만들기 2. 오브젝트풀을 이용한 메모리 관리 1. 싱글톤패턴으로 관리자 만들기 싱글톤패턴 객체의 인스턴스가 오직 한개만 생성되는 패턴을 의미한다. 일종의 전역변수, 전역클래스 정적변수를 사용해서 만들게 된다. Gameobject.Find를 사용하면 Hierarchy창의 모든 오브젝트를 검색하기 때문에 효율적이지 못하다. 그래서 싱글톤 패턴을 사용한다. ScoreManager 스크립트를 싱글톤 패턴으로 구현한 것이다. public class ScoreManager : MonoBehaviour { . . . (생략) . . . // 싱글톤 객체 publi..

[Unity] #8. 슈팅 게임 제작(4)

이번에는 현재점수를 기록하고 최고점수를 저장하는 기능을 만들어 보도록하자. - 화면 표시 [Hierarchy] - [UI] - [Text] 를 클릭한다. Canvas 하위에 생긴 Text 오브젝트의 이름을 CurrentScore로 변경한다. 텍스트 창에 현재점수라고 표시 될 수 있도록 작성한다. 우주배경을 사용하였기 때문에 검정색 글씨의 경우 잘 안보인다. 하얀색 글씨로 색상을 변경한다. 기본 위치는 좌측하단에 표시되었으나 좌측 상단으로 텍스트 위치를 변경시킨다. 게임화면에는 다음과 같이 표시된다. 동일한 방법으로 최고점수 항목도 만들어준다. - 스크립트 작성 점수를 기록하고 저장하는 기능을 사용하기 위해서 ScoreManager 스크립트와 Empty Object를 생성한다. 다음과 같은 스크립트를 작성..

[Unity] #7. 슈팅 게임 제작(3)

목차 1. 폴리싱 2. 배경 및 효과 1. 폴리싱 - 사용자(Player) 폴리싱 상단바에서 [Window] - [Asset Store] 를 클릭한다. Search online버튼을 누르면 Asset을 다운받을 수 있는 사이트로 연결된다. awesome cartoon airplane 을 검색하여 다음 Asset을 다운 받는다. 내 에셋에 추가하기 [Download] - [Import] Import 로 적용시킨다. Plane1을 Player에 마우스 드래그 & 드랍하여 적용시킨다. [Inspector] 에서 Player의 Cube와 Mesh Renderer을 Remove Component한다. 다음으로는 비행기의 크기를 화면에 맞출 수 있도록 0.2정도로 조정한다. 또한 현재 슈팅게임은 3D로 제작은 하지..

[Unity] #6. 슈팅 게임 제작(2)

1. 적 생성하기 2. 적 자동생성 3. 충돌처리 & 범위 제한 1. 적 생성하기 이번에는 적을 만들어 보도록 하자 큐브모양 오브젝트를 하나 더 생성한뒤 오브젝트 이름을 Enemy로 변경하고 스크립트도 생성하여 적용한다. enemy 오브젝트가 나를 향해 내려와야 하므로 아래방향으로 움직이는 스크립트를 작성한다.using System.Collections; using System.Collections.Generic; using UnityEngine; public class Enemy : MonoBehaviour { public float speed = 5; // Start is called before the first frame update void Start() { } // Update is calle..

[Unity] #5. 슈팅 게임 제작(1)

목차 1. 프로젝트 생성과 환경설정 2. 플레이어 이동 제작 3. 총알 이동 제작 1. 프로젝트 생성과 환경설정 먼저 3D 템플릿으로 프로젝트를 생성한다. 버전은 상관없으나 본글은 2020.3.30f1 을 사용했기 때문에 년도가 차이난다면 내용이 상이할 수 있다. 3D템플릿을 사용하긴 하지만 이번에 실제로 만들것은 탑뷰에서 본 시점이기 때문에 시점을 변경하고 카메라 위치도 변경시켜준다. 다음으로는 [Hierarchy] - [Directional Light] 에서 Light의 체크박스를 없애 Light를 비활성화 시킨다. [window] - [Rendering] - [Lighting] 에서 Auto Generate도 비활성화를 시킨다. 다음으로 Enviroment 항목에서 Source를 Color로 변경하..

[Unity] #4. C# 스크립트(3)_메서드&클래스

메서드 : 스크립트가 끝없이 길어질 때, 길어진 처리를 의미가 있는 처리 블록으로 분해하고 이름을 붙이는 구조를 만드는데, 이렇게 분해한 각 처리이다. 함수라고도 칭한다. 처리를 기능 단위로 묶는 역할 외에도 메서드에 값을 전달해서 계산하거나 계산 결과를 돌려받을 수 있도록 하는 역할을 한다. 메서드로 건네는 값은 인수(파라미터), 메서드에서 돌려받는 값을 반환값(리턴)이라고 한다. 인수는 여러 개 건넬 수 있지만 반환값은 한개로 정해져 있다. 메서드 만들기 반환값의 데이터형 메서드명(인수, 인수...) { 연산 반환값 } int Add(int a, int b) { int c = a + b; return c; } -반환값의 데이터 형에는 호출자의 메서드로 반환하는 값의 데이터 형을 지정한다. -값을 반환..

[Unity] #3. C# 스크립트(2)_제어문&배열

제어문 : 선택적으로 원하는 코드를 실행하는 방식 배열 : 변수 여러개를 한꺼번에 묶어서 선언하고 사용하기위한 방식 if 문 : 특정 조건이 맞을때 스크립트를 실행하고 싶을 때 형식 if(조건문){ 처리 } if문의 조건식에는 관계 연산자를 사용할 수 있다. 관계 연산자 연산자 비교 연산자 == 왼쪽과 오른쪽 값이 같으면 참 != 왼쪽과 오른쪽 값이 다르면 참 > 왼쪽이 오른쪽 값보다 크면 참 = 왼쪽이 오른쪽 값보다 크거나 같으면 참

[Unity] #2. C#스크립트 기초_변수와자료형

C# 스크립트는 유니티에서 기본적으로 사용하는 스크립트이며 일종의 명령어이다. 스크립트도 '언어'이므로 자주 사용해야 실력이 늘 수 있다. 그럼 본격적으로 스크립트를 작성해 보도록 하자. 이번에는 오브젝트는 다루지 않고 스크립트만 다룰 예정이기 때문에 템플릿은 2D 3D 모두 상관없다. 1. 스크립트 작성하기 [Project 창에서 마우스 우클릭] - [Create] - [C# Script] 선택 [Hierarchy] - [Create] - [Create Empty] 선택 다음과 같이 GameObject가 추가 된다. 생성한 C# Script를 드래그하여 GameObject에 드랍하면 GameObject에 Script가 적용된다. 위처럼 그냥 스크립트를 밖에 꺼내 두어도 되지만 폴더를 만들어 정리하는 것..

[Unity] #1 설치 및 기본 조작

1. 설치 및 기본 화면구성 먼저 유니티를 시작하기 위해 https://unity.com/kr Unity 실시간 개발 플랫폼 | 3D, 2D, VR 및 AR 엔진 업계를 선도하는 기업들이 실시간 3D 기술을 이용하여 어떻게 건물의 설계, 건축, 운영 방법을 바꾸고 있는지 알아보세요. unity.com 해당 사이트에 들어가서 unity hub를 설치한다. 위에서 에디터 설치를 누른 후 원하는 버전을 설치받으면 된다. 아카이브를 클릭하면 이전에 제공하던 버전까지 모두 제공하니 원하는 버전이 안보이면 아카이브에서 찾아보는것이 좋다. 다운로드가 모두 끝났다면 기본 조작법을 알아보기 위해 새 프로젝트를 눌러서 원하는 템플릿과 프로젝트 이름, 위치등을 설정하고 프로젝트를 생성하면 된다. 전 3D로 공부할 거예여 프..

반응형