작성
·
226
1
다 똑같이 따라했는데 돼지 죽여도 텍스트가 안떠요 ㅠㅠ
private void MeatInfoAppear()
{
if(hitInfo.transform.GetComponent<Animal>().isDead)
{
dissolveActivated = true;
actionText.gameObject.SetActive(true);
actionText.text = hitInfo.transform.GetComponent<Animal>().animalName + " 해체하기" + "<color=yellow>" + "(E)" + "</color>";
}
}
즉 이부분이 아예 실행이 안되는것 같습니다 ㅠㅠ
답변 3
1
Action Controller의 Layer Mask에 돼지가 포함되어 있지 않아서 if문에 걸리지 않아 생기는 오류 같습니다. 돼지의 Layer를 item으로 하거나 Animal Layer를 추가해서 Layer를 Animal로 설정하게되면 if문에 걸려서 위의 문제를 해결할 수 있습니다.
그러나 Weapon에서는 충돌감지가 layer가 변함에 따라 적용되지 않으므로 CloseWeapon layer(ex axe, pickaxe 등의 하위의 Layer mask)에도 animal을 추가해주면 위의 문제를 해결할 수 있을 것 같습니다.
0
0
우선 돼지가 RayCast에 의해 충돌했는지 여부를 알기 위해 hitInfo.transform.name 을 Debug로 띄웁니다.
제대로 돼지와 Ray가 충돌했다면 다음으로 if 조건문을 만족하는지 확인합니다.
isDead가 제대로 true가 되었다면 조건문 안의 내용을 실행하게 될겁니다.
감사합니다.