블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2797)
Unity3D (853)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (61)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

'무시'에 해당되는 글 1건

  1. 2012.11.05 오브젝트 간 충돌을 막고 싶을 때..

1) Layer 단위로 충돌을 막을 때..


 Layer를 생성 & 셋팅 하고, 충돌을 안하고 싶은 레이어들을 셋팅해 준다.


Physics.IgnoreLayerCollision(LayerMask.NameToLayer("MonsterBody"), LayerMask.NameToLayer("MonsterBody"), true); 


위 소스는 MonsterBody끼리 충돌을 방지한다.

예를들어 플레이어가 박스등에 부딪히고 싶지 않다면..


Physics.IgnoreLayerCollision(LayerMask.NameToLayer("Character"), LayerMask.NameToLayer("Box"), true); 


이런 식으로 하면 된다.


[추가]

충돌을 안하게 했던 부분을 다시 충돌하게 하려면 3번째 매개변수 값을 false로 넣으면 된다.

Physics.IgnoreLayerCollision(LayerMask.NameToLayer("MonsterBody"), LayerMask.NameToLayer("MonsterBody"), false); 



참조1 : http://devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=20010&sca=UNITY&sfl=wr_subject%7C%7Cwr_content&stx=%EC%B6%A9%EB%8F%8C&sop=and&page=2&currentId=44


참조2 : http://www.devkorea.co.kr/reference/Documentation/ScriptReference/Physics.IgnoreLayerCollision.html




2) 각 개체(오브젝트)별로 충돌을 (실시간으로)막고 싶을 때..

  플레이어가 몬스터와 충돌되다가 몬스터를 죽이면 충돌이 안되게 하고 싶어서 이걸 사용했다.

  처음에 Collider 자체를 껐더니 바닥과도 충돌이 안돼서 빠지는 문제 때문에 이걸로 바꿨다.


Physice.IgnoreCollision() 함수를 쓴다.


static function IgnoreCollision (collider1 : Collider, collider2 : Collider, ignore : bool = true) : void


collider1과 collider2를 충돌하지 않게 해준다.


자세한 사항은 아래 참조로..


참조 : http://www.devkorea.co.kr/reference/Documentation/ScriptReference/Physics.IgnoreCollision.html

반응형

'Unity3D > Physics' 카테고리의 다른 글

Raycast  (6) 2013.02.28
Posted by blueasa
, |