>source

public GameObject BrokenBottle;
AudioSource audioSource;
void Start()
{
    audioSource = GetComponent<AudioSource>();
}
private void OnCollisionEnter(Collision collision)
{
 if(collision.relativeVelocity.magnitude > 2)
    {
        
        Instantiate(BrokenBottle,transform.position, transform.rotation);
        Destroy(this.gameObject);
        Destroy(BrokenBottle,1.5f);
        audioSource.Play();
    
    }
}

}

나는 병을 부 수면 부수 지 않은 병을 파괴하고 파괴 된 병을 인스턴스화하는 스크립트를 만들었습니다. 그러나 나는 1.5f 후에 깨진 병 (GameObject BrokenBottle으로)을 파괴하려고하지만 대신 깨진 병은 여전히 ​​남아 있습니다.

  • 답변 # 1

    잘못된 물체를 파괴하고 있습니다.

    인스턴스화원래 개체를 매개 변수로 사용하고보고사본. 반환 된 객체를 지역 변수에 할당하고이를 destroy 호출에 전달해야합니다.

    var brokenBottleInstance = Instantiate(BrokenBottle,transform.position, transform.rotation);
    Destroy(brokenBottleInstance, 1.5f);
    
    

  • 이전 excel - vba - (for… each)를 (array)로 대체하는 방법은 무엇입니까?
  • 다음 python 사전 - dict의 모든 키에 대한 목록을 만들고 dict의 모든 값에 대해 다른 목록을 만듭니다