728x90
Player인 펭지와 아이템들에게 Collider 컴포넌트를 추가한다
아이템들에게는 태그를 각각 달아주어서,
아이템을 갖다 댔을 때 플레이어와 아이템 충돌 -> 아이템의 태그를 가지고 와서
아이템 게임 오브젝트가 켜질 수 있도록 한다!
콜라이더를 설정해 주었다

크기는 넉넉하게 해주었다
태그 지정!

그리고 Player에만 isTrigger를 체크해주었다
-> 스크립트에선 onTrigger 사용!!
그리고 새 스크립트를 작성하는데, button에서 가져왔다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public GameObject hat1;
public GameObject ribbon1;
public GameObject bag1;
private void OnTriggerEnter2D(Collider2D collision)
{
Debug.Log("와!");
switch (collision.tag)
{
case "hat1":
hat1.SetActive(hat1.activeSelf ? false : true);
break;
case "ribbon1":
ribbon1.SetActive(ribbon1.activeSelf ? false : true);
break;
case "bag1":
bag1.SetActive(bag1.activeSelf ? false : true);
break;
default:
break;
}
}
}
근데 처음엔 감지가 되지 않길래, Debug.Log를 작성해주었는데
아예 뜨지 않았다.
그래서 혹쉬...?
하고 플레이어에 리지드바디를 추가하고 X, Y, Z를 체크해서 고정해주었다

그랬더니 된다!

다시 닿으면 꺼진다

음..
콜라이더로 충돌 감지만 하면 되지 않을까 생각했는데...
리지드바디는 물리적인 상호작용이니 충돌 자체가 나려면 있어야 하는 건가?
아 다시 찾아보니 그게 맞는구나,,
충돌을 감지하려면 무조건 하나는 리지드바디가 있어야 한다고 한다!
리지드바디랑 콜라이더는 처음 보자마자 계속 헷갈려했어서.....
이제 더 기억에 남게 된 듯 *^----^*
아무튼 해결!
음 근데 드래그하는 애는 따로 있으니까
같은 아이템이 총 세 개 꺼내져있어야 하는 건가 생각이 든다.
아니 네 개???
고민해봐야겠다!

귀욥
'Project > [Unity] 옷입히기 게임' 카테고리의 다른 글
| 유니티 드래그 앤 드롭을 다른 방식으로 구현해보자 (0) | 2022.04.14 |
|---|---|
| 화살표를 이용해서 아이템을 바꿔보자 + 색상 변경 고민 (즐거운 뒤죽박죽~~) (0) | 2022.04.10 |
| 유니티 옷 입히기 입은 옷 다 삭제하는 버튼 만들기 (씬 리로드) (0) | 2022.04.07 |
| 유니티 드래그 앤 드롭 방식 구현해보자 (0) | 2022.04.05 |
| 유니티 옷 입히기 게임 버튼을 이용해 간단하게 만들어보기 (0) | 2022.04.05 |
댓글