게임 개발

[Unity] 게임 개발 - Galaga 만들어보기 (2)

chobbo 2024. 4. 9. 18:09

무한 배경 만들기

1. 무한 배경으로 사용할 사진 한장을 준비한다.

2. 사진의 Inspector 창에서 Texture Type을 Default, Wrap Mode를 Repeat로 적용시킨다.

3. Material 하나를 생성한 뒤, Shader 종류를 Particles/Alpha Blended로 적용한다.

4. MainScene에 Background라는 이름의 3D Object-Quad를 생성한다.

    4-1. 화면에 맞게 transform을 적절히 수정한다.

    4-2. Mesh Renderer - Materials - Element에 3번에서 미리 만들어 놓은 Material을 끌어다 놓는다.

5. 스크립트 하나를 생성한 뒤 다음과 같이 코드를 작성한다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Background : MonoBehaviour
{
    public float speed = 0.3f;
    Material material;
    void Start()
    {
        material = GetComponent<Renderer>().material;
    }

    void Update()
    {
        float newOffsetY = material.mainTextureOffset.y + speed * Time.deltaTime;
        Vector2 newOffset = new Vector2(0, newOffsetY);
		
        // texture를 그리는 시작 지점을 설정해주는 mainTextureOffset. 
        // y값을 계속 변경해주며 무한 배경 스크롤을 구현.
        material.mainTextureOffset = newOffset;
    }
}

 

6. 이 스크립트를 Background 오브젝트에 적용시키고 실행시키면 완성!

무한으로 돌아가는 우주 배경

 

 

 

구현 완료

- UI 배치

- Player 기체에서 미사일 발사 로직

- StartScene 애니메이션 제작 완료

- StartScene에서 시작 버튼 MainScene과 연결 완료

- Background Scrolling을 활용한 무한 배경 만들기

- Enemy 기체와 Player 기체 충돌 시 왼쪽 아래 생명 -1

 

구현할 것

 

- 배경음악 삽입하기

- Enemy 기체 프리팹 생성 & 움직임 애니메이션

- Enemy 기체에서 특정 상황 때 미사일 발사되는 로직

- Enemy 기체와 Player 기체 충돌 시

     - Player 기체 폭팔하는 애니메이션

- Playerprefs를 활용하여 최고 점수 저장