1인개발 메이킹로그/[Web game] 쿠크세이튼3마리오

[5주-23일차] 쿠크3마 연습용 웹게임 - 바운스볼,투명바닥 프리팹 + 깃허브 연동

청룡동사는연우 2022. 3. 4. 02:53

우선 저번에 계획했던대로 3가지를 처리해보려고 한다

 

1. bounceball 프리팹 완성 
(왕복운동의 가속도까지 구현)

2. 투명 바닥 프리팹 완성 
(플레이어와 충돌하면 플레이어의 체력이 0이 되도록 구현)

3. 프로젝트 폴더 github 연동 + 지속 커밋 가능하도록 설정 
(meta파일 visible해서)

 

 

  • bounceball 프리팹 완성 

https://namwhis.tistory.com/entry/Unity%EC%9C%A0%EB%8B%88%ED%8B%B0-%EC%A0%95%EB%A6%AC-04-%EC%A2%8C%EC%9A%B0%EC%9D%B4%EB%8F%99-%EB%AC%B4%ED%95%9C%EB%B0%98%EB%B3%B5-TimedeltaTime-Timetime-MathfSin

 

Unity(유니티) 정리: 04. 좌우이동 무한반복, Time.deltaTime, Time.time, Mathf.Sin()

슈퍼마리오같은 횡스크롤 게임에 자주 등장하는 지형이 있습니다. 공중에 떠있고 좌우로 무한 반복해서 왔다 갔다 하기때문에 타이밍을 잘 맞추어 올라타야하는 지형입니다. 기본설정 -----------

namwhis.tistory.com

 

 

sin 그래프를 활용해서 공의 좌표를 이동시킴으로서 자연스러운 가속도를 만든것 같다

근데 이분 블로그에서는 사인그래프의 온전한 모습대로 왕복해서 공이 튕기는것이 아닌 상하 운동을 하게 되는데

sin함수에 절댓값을 씌워서 적당히 구현해 낼 수 있었다.

 

바운스볼 영상

 

바운스볼  c# 코드

 

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

public class bounceball : MonoBehaviour
{
    
    public float bounceball_speed=1.0f; // 이동속도
    Vector3 pos; //현재위치
    float delta = 5.0f; // 좌(우)로 이동가능한 (x)최대값

    void Start()
    {
        pos = transform.position;
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 v = pos;
        float acceleration = delta * Mathf.Abs(Mathf.Sin(Time.time * bounceball_speed));
        // 좌우 이동의 최대치 및 반전 처리를 이렇게 한줄에 멋있게 하네요.
        v.y += acceleration;

        transform.position = v;
    }

    void OnTriggerEnter2D(Collider2D other)
    {
        player controller = other.GetComponent<player>();

        if (controller != null)
        {
            controller.ChangeHealth(-1);
        }
    }
}

 

  • 투명 바닥 프리팹 완성

투명바닥

투명도는 20정도 남기고 빨간색으로 해서 유저들에게 보이도록 설정해 놓으려고 한다.

 

 

 

이정도 만들어놓고 투명 바닥 쓸때마다 길이만 늘려서 쓸 수 있을것 같다.

 

  • 프로젝트 폴더 github 연동 + 지속 커밋 푸시 가능하도록 설정

https://www.youtube.com/watch?v=wBsSUBEUYV4

유튜버 베르 님의 영상을 참고해서 깃허브 데스크탑을 설치해서 커밋과 푸시를 해보았다

 

unity 용 레파지토리

 

파일 약 2만개 커밋 ㅋㅋ
first commit

 

 

  • 내일 개발 과제

1. 바닥세팅(맵 제작)

일단 쿠크 영상을 계속 보는데 바닥이 바뀌진 않는것 같다.

그래서 바닥을 일단 전부 길이 + 비율을 맞춰서 세팅을 해 놓아야 할 것 같다.

 

2. 바운스볼 + 폭탄 배치

일단 현재 만들어놓은 프리팹인 바운스볼과 폭탄만을 먼저 배치해 보려고 한다

 

3. 캐릭터 걷기 애니메이션(좌우반전) 설정 + q키 애니메이션 설정

걷는 모션하고 q키 를 누르면 그 자리에 멈춰서 공격 애니메이션을 취하도록 설정하려고 한다.

이전 루비프로젝트에서는 c키를 누르면 표창(?) 을 발사했었는데 이동하면서 발사할 수 있었다.

이 부분을 수정하는것을 중점으로 잡아야 겠다.

 

3마 참고영상

https://www.youtube.com/watch?v=cz4zEE0Rdfg 

유튜브에 3마 치니까 젤 첫번째로 나오는 영상인데 이 패턴들(공색깔) 중 한가지만 선택해서 만드려고 한다

공이나 폭탄, 몹 배치나 공의 상호작용 또한 영상에 나온 공색깔에 맞춰서 제작해보려고 한다.

 

오늘은 끝!