본문 바로가기
게임 개발

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

by chobbo 2024. 4. 9.

무한 배경 만들기

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를 활용하여 최고 점수 저장