본문 바로가기

유니티엔진

유니티 Tag와 Layer

안녕하세요 ~ 3d배경모델러 새벽언덕입니다.

오늘은 절대강좌 유니티를 보면서 unity를 진행하던중. 생긴오류에대해서 포스팅하고자합니다.

오류 해결방법은 정말 간단한데..

코드도 살펴보고, 인터넷검색도 하고, 1시간여 헤맨끝에 찾아서 구현이되어서 너무 기쁜것같습니다.

enemy 캐릭터들이 너무 귀엽게 강남스타일 춤을 추네요 ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ

해결해서 너무 행복해서 바로 포스팅합니다.

1> 아래 Console창에 UnityException: Tag ENEMY is not defined 라고하면서 오류가뜹니다.

해결해보려고 코딩이잘못된것은아닌지, 오탈자가 있는것은 아닌지 확인해봤는데 문제가 없었고 빌드가 잘되었습니다.

------------------------------------------------------------------------------------------------------------------------------------------------------------------

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Damage : MonoBehaviour

{

private const string bulletTag = "BULLET";

private const string enemyTag = "ENEMY";

private float initHp = 100.0f;

public float currHp;

// 델리게이트 및 이벤트 선언

public delegate void PlayerDieHandler();

public static event PlayerDieHandler OnPlayerDie;

void Start()

{

currHp = initHp;

}

//충돌한 Collider의 IsTrigger 옵션이 체크됐을 때 발생

void OnTriggerEnter(Collider coll)

{

//충돌한 Collider의 태그가 BULLET이면 Player의 currHp를 차감

if (coll.tag == bulletTag)

{

Destroy(coll.gameObject);

currHp -= 5.0f;

Debug.Log("Player HP =" + currHp.ToString());

//Player의 생명이 0 이하이면 사망처리

if (currHp <= 0.0f)

{

PlayerDie();

}

}

}

//Player의 사망 처리 루틴

void PlayerDie()

{

OnPlayerDie();

//Debug.Log("PlayerDie !");

//"ENEMY" 태그로 지정된 모든 적 캐릭터를 추출해 배열에 저장

//GameObject[] enemies = GameObject.FindGameObjectsWithTag(enemyTag);

//배열의 처음부터 순회하면서 적 캐릭터의 OnPlayerDie 함수를 호출

//for (int i = 0; i < enemies.Length; i++)

//{

// enemies[i].SendMessage("OnPlayerDie", SendMessageOptions.DontRequireReceiver);

//}

}

}

------------------------------------------------------------------------------------------------------------------------------------------------------------------

2> 알고보니 간단한 실수였는데, Tag에 ENEMY로 적용을해줘야되는데 Layer에 ENEMY라고 적용을 해주었네요.

많이 배웠고, 열심히찾았고, 기뻐서 포스팅합니다 ㅎㅎ



'유니티엔진' 카테고리의 다른 글

C# 유니티 공튀기기  (0) 2020.03.08
Unity Clear Flag(유니티에서 스카이박스가 안보일때)  (0) 2020.03.05
유니티 Pivot  (0) 2020.03.04
유니티엔진 Spawn  (0) 2020.03.03
유니티엔진과 폴리곤스무스  (0) 2020.03.03