코드네임 :

슈팅게임 #4 충돌처리 본문

프로그래밍/Unity(C#)

슈팅게임 #4 충돌처리

비엔 Vien 2023. 7. 7. 14:26

Cube  - DestroyZone_U

 

✔︎ Transform  : 사진처럼

✔︎ Box Collider : Is Trigger 켜주기 (이걸 켜주면 반드시!! 충돌 함수로서 OnTrigger 계열의 함수 써야 함)

Add Component - RigidBody : 충돌 감지 기능 역할

✔︎ Add Component - RigidBody - Is Kinematic : 물리 오브젝트를 사용했다는 의미

                                                                             물리(움직이는?) 오브젝트이지만 사용자가 지정한 위치에 딱 갖다놓고 싶어서 이동하지 않도록 하고 싶을 때 사용한다. 

(이거 안 키면 실행시 DestroyZone_U 옵젝 중력으로 수직 하강..)

 

 


DestroyZone.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//충돌 영역 설정

public class DestroyZone : MonoBehaviour
{
    void Start()
    {
        
    }

    void Update()
    {
        
    }

    private void OnTriggerEnter(Collider other) // ontriggerEnter치고 누르면 자동으로 요 문장 나옴 
    {
        Destroy(other.gameObject);
        // 물체를 실시간으로 없애줌 
        // other.GameObject : other에 들어가있는 것들 중 Destroy Zone과 충돌한 오브젝트
        // 즉 Hierarchy 창에 나와있는 Object들 중 이 Zone(DestroyZone_U 막대기 큐브)에 들어간다면 즉시 사라짐                        
    }
}

레이아웃 설정

 


 

나머지도 전부 글케해

방법1 : DestroyZone_D 누르고 - shift 키 - 나머지 L, R 누르기 

 


✔︎ 가로 디존과 세로 디존이 겹친 곳 체크 해제 ( : Destroy Zone 끼리는 충돌하지 X )

 

 


✔︎ Player, Bullet, Enemy에도 Layout 설정

 

✔︎ 그 Edit - ProjectSettings - Layouts같은거 겹치는 거 해제 + DestroyZone/Player 부분도 해제!


 

실행 시