오늘은 공격을 마무리 짓고, 탑뷰 형식의 타운을 만들어서 타일맵 그리는 방법에 대해 배웠다.
빈 도화지에 맵을 그리려니 막막하기도 하고, Tile Palette에 그리드와 셀렉션 기즈모가 안 보이는 버그로 인해 그리기 너무 힘들었다...
개인적으로 코딩보다도 어렵게 느껴졌지만, 좋은 레벨 디자인을 위해서는 이런 맵 구성도 자주 해보면 좋을 것 같다.
공격
히트박스
캐릭터 앞에 히트박스 콜라이더를 만들어서 애니메이션에 맞춰 활성화시킨다.
키보드 공격
조이스틱으로만 구현했던 공격 기능을 키보드 쪽에도 만들어주었다.
기존에 만들어놨던 컨트롤러 안에 빠진 내용만 추가해주고, Input.KeyDown으로 메소드를 실행시킨다.
void Update()
{
InputKeyboard();
Jump();
Attack();
}
void InputKeyboard()
{
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
inputDir = new Vector3(h, v, 0);
animator.SetFloat("JoystickX", inputDir.x);
animator.SetFloat("JoystickY", inputDir.y);
// 방향 전환
if (inputDir.x != 0)
{
var scaleX = inputDir.x > 0 ? 1 : -1;
transform.localScale = new Vector3(scaleX, 1, 1);
}
}
void Attack()
{
if (Input.GetKeyDown(KeyCode.Z))
{
if (!isAttack)
{
isAttack = true;
animator.SetTrigger("Attack");
}
else
{
animator.SetBool("isCombo", true);
}
}
}
타운 만들기
타일맵 설정
Window - 2D - Tile Palette를 켠다.
리소스 설정
Full Rect : 이미지 끝쪽을 제대로 처리
타일 팔레트 설정
- 타일맵 생성 (도화지)
- 타일 팔레트 생성 (팔레트)
타일맵 그리기
지형 그리기
집 그리기
환경 그리기
콜라이더
Tilemap Collider
타일맵 콜라이더로 타일맵에 콜라이더를 넣을 수 있다.
Composite Collider
타일맵 콜라이더의 Composite Operation을 Merge로 바꾸고 Composite Collider를 추가하면 콜라이더가 합쳐진다.
offset이나 edge radius 등으로 콜라이더의 모양을 조절할 수도 있다.