inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발

발사체와 소행성 충돌

Trigger

61

Hyobin Kim

작성한 질문수 81

0

삭제된 글입니다

C# unity

답변 1

0

UDevApp

안녕하세요. 

유니티의 원리를 설명하는 것에 있어서 효빈님께서 생각하신 것과 제가 강의에서 말씀드린 내용이 제가 보기에는 같은 말인것 같은데요. 

강의에서 보니 제가 물리충돌이라는 말을 하지는 않는 것 같은데요. 이 게임에서는 물리충돌을 사용하지 않고요. 

그래서 그냥 충돌이라고 합니다. (영어로 충돌체를 콜라이더라는 용어로 사용하고 있습니다 그래서 제가 물리 충돌이라고 말씀 드린것으로 생각할 수 있습니다만 물리 충돌을 이야기 하고 있지 않습니다. 물리 충돌은 Collision 이고요. 충돌체 충돌은 Trigger 입니다. Collider 가 용어 자체가 충돌체라 조금 혼란스러울수도 있을것 같습니다)

IsKinematic 도 체크되어 있으니까요 저걸 해제한다고 말씀드리지 않았고요. 이게임에서 물리충돌을 이야기 하고 있지는 않습니다. 다 Trigger 충돌입니다. 문맥상으로 그렇게 보시면 될것 같습니다. 

결론적으로 첫번째 질문을 생각해보면 물리충돌하고 트리거 충돌하고 구분해서 생각하시면 좋을 것 같습니다.

5장의 물체의 충돌 을 한번 다시 보시는 것도 좋을 것 같습니다.

그리고 물체의 충돌(트리거)을 해야 하는데요. 이건 유니티에서 만든 조건입니다.

물체 둘중에 하나(아니면 둘다 체크)를 IsTrigger 를 체크해야 하는데 OnTriggerEnter 의 코드가 있는 부분에서 IsTrigger 를 true 로 해서 체크를 실행하고 있습니다. 그런데 반대로도 테스트를 해보면 동작합니다.

둘중에 하나가 IsTrigger 가 되어 있으면 됩니다. 그래서 저같으면 OnTrigger 함수가 있는 쪽에서 IsTrigger 를 체크하는 것을 선호합니다.

원하시면 두 곳에서 OnTriggerEnter 를 실행 하거나 반대쪽에서 체크를 실행하도록 해서 체크하는 것으로 프로그래밍을 해도 관계없습니다.

그것이 잘 동작한다면 문제가 없으니까요

그런데 한군데서만 하면 되는데 그걸 두 군데서 다 할 이유가 없을 것 같아서 저는 그렇게 하지 않은 것입니다. 

수고하세요.

0

Hyobin Kim

역시 용어 때문에 혼동이 온거네요

Collider는 옵션들이 직관적이지 않은거 같아서 다른 것들 보다 더 복작합게 느껴지네요

그래도 답변 감사합니다!

캐릭터 변경에 관해

0

230

1

Asteroid 생성에 관련해서

0

194

1

Part4 유니티로 세가지의 게임만들기 강의

0

211

1

Clamp 사용 시 앞서 설정한 ViewportToWorldPoint의 min, max를 사용하지 않고 새로 설정하는 이유가 있을까요

0

283

1

섹션8 슈팅게임 프로토타입 만들기3(적과 발사체)

0

270

1

캐릭터 고정데이터 로딩 강의

0

327

1

Destroy 함수 질문

0

413

1

GetComponent 강의 질문

0

344

1

transform.position과 transform.Translate 의 차이가 뭔가요??

0

1941

1

강의도중 질문이 있습니다

0

497

1

강의자료

0

284

0

117강 구조체를 정의하여 ShipData 구성

0

224

0

굳이 InitTime을 만들어서 호출 하는 이유가 있나요?

0

291

0

GameManager 의 Start()가 스페이스 누를때마다 반복실행됩니다.

0

415

1

Collider인 other.gameObject;

0

430

0

Generic에 대한 질문이 있습니다.

0

260

0

gameObject.setActive(false);

0

582

1

애플 앱스토어

0

248

0

비주얼스튜디오 오류

0

2151

1

part4강의

0

318

1

발사체 스피드

0

305

1

4분 44초 제가 이해한게 맞는지 궁금합니다

0

271

1

2분 44초 왜 void 함수를 써야하나욤..?

0

362

1

해당 부분 업데이트

0

260

1