상세 컨텐츠

본문 제목

[Unity] 유니티 오브젝트 생성과 삭제 관련

게임엔진관련/유니티 엔진

by AlrepondTech 2019. 5. 20. 18:41

본문

반응형

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

출처: https://docs.unity3d.com/kr/530/Manual/CreateDestroyObjects.html

 

게임 오브젝트 생성 및 삭제
씬에서 오브젝트들이 정해진 수만큼 있기도 하지만, 보통 캐릭터, 아이템 그리고 다른 오브젝트를 게임중 생성 및 삭제하는 경우가 자주 발생합니다. Unity는 게임 개체를 만들 때 Instantiate 함수를 사용하여 기존 오브젝트를 복제합니다:

public GameObject enemy;

void Start() {
    for (int i = 0; i < 5; i++) {
        Instantiate(enemy);
    }
}

복제하는 오브젝트는 장면에 이미 있는 것에 한정됩니다. 에디터에서 프로젝트 패널의 공용 변수에 프리팹을 드래그하는 방법도 자주 사용됩니다. 또한 게임 오브젝트를 인스턴스화하면 원래 컴포넌트를 전부 복제합니다.

또한 [Destroy](ScriptRef : Object.Destroy.html) 함수를 사용하여 오브젝트를 제거합니다. 프레임 업데이트가 완료된 후 제거할 지 또는 옵션에서 일정 시간이 지난 후 제거할 지 선택할 수 있습니다:

void OnCollisionEnter(Collision otherObj) {
    if (otherObj.gameObject.tag == "Missile") {
        Destroy(gameObject,.5f);
    }
}

Destroy 함수는 게임 오브젝트 자체에 영향을 주지 않고 개별 컴포넌트를 제거할 수 있는 점에 유의하십시오. 자주 하는 실수는 다음과 같습니다:

 Destroy(this);
… 이것은 게임오브젝트를 삭제하는 것이 아닌, 호출하는 실제 스크립트 컴포넌트를 삭제하게 됩니다.

 

 

=================================

=================================

=================================

 

 

 

 

반응형

 

 

728x90

 

 

 

 

출처: https://green4you.tistory.com/17

 

GameObject 동적으로 삭제 하기

 

유니티에서 게임실행중에 GameObject 를 제거해야 할때가 있다.

 

예를 들면 총알이 몬스터에 맞았을 경우 총알을 제거해 줘야 한다. 

 

또 몬스터의 HP가 0보다 작아지면 몬스터 또한 제거해 줘야 한다.

 

Destroy (Object obj, t : float time= 0.0F)  함수를 이용하면 쉽게 제거할 수 있다.

 

obj 는 삭제할 대상 오브젝트 이며, time 은 Destroy 함수 호출후 몇초후에 삭제할지 결정한다.

 

코드

 

// 게임 오브젝트를 제거한다.

Destroy (gameObject);

 

// 게임오브젝트로부터 현재 스크립트를 제거 한다.

Destroy (this);

 

// 게임오브젝트로부터 강체를 제거합니다.

Destroy (rigidbody);

 

// 오브젝트 로드 후 5초 안에 게임오브젝트를 죽입니다.Kills the game object in 5 seconds after loading the object

Destroy (gameObject, 5);

 

// 사용자가 Ctrl키를 누를때, 스크립트를 제거 할것입니다. 

// 게임오브젝트의 FooScript라는 이름의

function Update () {

    if (Input.GetButton ("Fire1") && GetComponent (FooScript))

        Destroy (GetComponent (FooScript));



출처: https://green4you.tistory.com/17 [Green4You]

 

=================================

=================================

=================================

 

 

# 기타관련 링크

https://purygame.tistory.com/7

https://cpp11.tistory.com/15

https://hyunity3d.tistory.com/388

 

 

=================================

=================================

=================================

 

 

 

반응형


관련글 더보기

댓글 영역