[5주-23일차] 쿠크3마 연습용 웹게임 - 바운스볼,투명바닥 프리팹 + 깃허브 연동
우선 저번에 계획했던대로 3가지를 처리해보려고 한다
1. bounceball 프리팹 완성
(왕복운동의 가속도까지 구현)
2. 투명 바닥 프리팹 완성
(플레이어와 충돌하면 플레이어의 체력이 0이 되도록 구현)
3. 프로젝트 폴더 github 연동 + 지속 커밋 가능하도록 설정
(meta파일 visible해서)
- bounceball 프리팹 완성
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
유튜버 베르 님의 영상을 참고해서 깃허브 데스크탑을 설치해서 커밋과 푸시를 해보았다
- 내일 개발 과제
1. 바닥세팅(맵 제작)
일단 쿠크 영상을 계속 보는데 바닥이 바뀌진 않는것 같다.
그래서 바닥을 일단 전부 길이 + 비율을 맞춰서 세팅을 해 놓아야 할 것 같다.
2. 바운스볼 + 폭탄 배치
일단 현재 만들어놓은 프리팹인 바운스볼과 폭탄만을 먼저 배치해 보려고 한다
3. 캐릭터 걷기 애니메이션(좌우반전) 설정 + q키 애니메이션 설정
걷는 모션하고 q키 를 누르면 그 자리에 멈춰서 공격 애니메이션을 취하도록 설정하려고 한다.
이전 루비프로젝트에서는 c키를 누르면 표창(?) 을 발사했었는데 이동하면서 발사할 수 있었다.
이 부분을 수정하는것을 중점으로 잡아야 겠다.
3마 참고영상
https://www.youtube.com/watch?v=cz4zEE0Rdfg
유튜브에 3마 치니까 젤 첫번째로 나오는 영상인데 이 패턴들(공색깔) 중 한가지만 선택해서 만드려고 한다
공이나 폭탄, 몹 배치나 공의 상호작용 또한 영상에 나온 공색깔에 맞춰서 제작해보려고 한다.
오늘은 끝!