728x90
반응형

유니티/닷지(3D 탄막 슈팅 게임) 5

닷지(5) - 게임 매니저와 UI

프로젝트탭에 Scripts, Materials, Prefabs 폴더를 만들어 정리해줍니다. 게임이 진행될때 전체 화면이 계속해서 회전되게 만들겠습니다. Rotator 스크립트를 작성합니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Rotator : MonoBehaviour { public float rotationSpeed = 60f; void Update() { transform.Rotate(0f, rotationSpeed*Time.deltaTime, 0f); } } 해당 스크립트를 Level에 드롭합니다. 원하는대로 회전하는걸 확인할 수 있습니다. UI 개체를 만들어줍니다. Re..

닷지(4) - 탄알 생성기 제작

원기둥 오브젝트를 생성하고 Bullet Spawner로 이름을 변경합니다. 위치는 (8, 1, 0)으로 설정해줍니다. 에셋의 Bullet Color 머터리얼을 씬 창의 원기둥 오브젝트로 드래그&드롭합니다. 탄알 생성기 스크립트를 작성합니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class BulletSpawner : MonoBehaviour { public GameObject bulletPrefab; //생성할 탄알의 원본 프리팹 public float spawnRateMin = 0.5f; //최소 생성 주기 public float spawnRateMax = 3f; //최대 생성 주기 pr..

닷지(3) - 탄알 제작

지난 Player 제작에 이어서 탄알 게임 오브젝트를 생성합니다. 3D Object 중 Sphere를 생성한 뒤 Bullet으로 이름을 변경합니다. 위치를 (0, 5, 0), 스케일을 (0.5, 0.5, 0.5)로 변경합니다. Meterial을 생성한 뒤 Bullet Color로 이름을 변경합니다. 컬러는 (255, 0, 0)으로 설정한 뒤 Bullet 게임 오브젝트로 드래그&드롭합니다. Bullet 게임 오브젝트에 Rigidbody 컴포넌트를 추가합니다. 이후 중력에 영향을 받지 않도록 Use Gravity 체크를 해제합니다. 탄환이 플레이어와 접촉을 감지하고 사망처리는 해야 하지만 충돌로 인해 밀려남이나 이동에 영향을 주는 것은 원치 않으니 접촉을 감지만 할 수 있도록 Is Trigger를 체크합니다..

닷지(2) - 플레이어 스크립트 생성&입력감지

PlayerController이름으로 스크립트를 생성합니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public Rigidbody playerRigidbody; //이동에 사용할 리지드바디 컴포넌트 public float speed = 8f; //이동 속력 void Start() { } void Update() { if (Input.GetKey(KeyCode.UpArrow) == true) { //위쪽 방향키 입력이 감지된 경우 z방향 힘 주기 playerRigidbody.AddForce(0f, 0f, speed); }..

닷지(1) - 씬 구성&카메라 설정&플레이어 제작

가장 기초적인 기능을 사용하여 탄막슈팅게임 Dodge를 만들어 보겠습니다. 유니티 버전은 2020.3.1f1을 사용합니다. 먼저 바닥을 설치합니다. 스케일은 (2,1,2)로 설정해줍니다. 바닥 색 지정을 위해 Plane Color이름으로 머티리얼을 생성합니다. 검은색으로 만들어줍니다. 머티리얼을 게임 오브젝트로 드래그&드롭하여 적용시킵니다. 벽으로 사용할 큐브를 생성합니다. 벽은 (0,0.5,0) 위치에 스케일은 (20,1,1)로 설정합니다. 벽의 위치를 (0,0.5,10)으로 변경하여 사이드로 보내줍니다. 벽의 이름이 Cube로 되어있었습니다. Wall로 수정한 뒤 복제합니다. 복제된 벽은 (0,0.5,-10)위치로 변경합니다. 같은 방법으로 두개의 벽을 더 생성해 테두리를 전부 막아줍니다. Level..

728x90
반응형