시작전



해당 게시물은 충돌을 감지하는 콜리전을 코드로 생성 하는 법을 설명합니다
인게임 내에서 만든 콜리전을 보고 싶다면
디버그> 보여줄 콜리전 모양을 체크
게임을 편집하는 에디터에서도 콜리전을 보고 싶다면
콜리전의 owner를 에디터씬루트로 해놔야합니다
생성 노드 종류



고도엔진에서 콜리전을 만드는 노드는
convexpolygonshape3d() [볼록]
concavepolygonshape3d() [오목]
총 2가지가 있습니다
볼록
볼록은 수학 및 기하학의 볼록성은 두 점을 잇는 모든 선분이
반드시 그 도형 안에 포함되어 있는 성질을 말합니다
볼록 형태는 수학적으로 매우 단순하게 정의되어 있으므로
출동감지가 빠르고 안정적이며 속이 차있습니다
볼록(convex)은 백터 배열의 인덱스 순서에 상관 없이
속이 찬 상대로 만들어 줍니다
오목
오목은 선분이 도형 밖에 나가있는 것을 뜻합니다
오목에 들어가는 백터들은 인덱스 순서에 따라
3개씩 짝을 이뤄 삼각형으로 만들어지며
속은 비어있습니다
바닥이나 terrain을 만들 때 사용합니다
ConcavePolygonShape3D() [오목]


콜리전 쉐이프를 사용하기 위해서는
static노드나 리직바디같이
자식에 콜리전 노드를 필요로하는 노드에 코딩을하게 됩니다
concave객체의 setFaces()함수를 사용하여 콜리전을 만듭니다
그 함수 안에는 백터 배열이 들어가며
트라이앵글을 만들어야 하기 때문에
3개씩 짝을 맞춰야 합니다
만든 것을 콜리전.shape에 할당하면 표현됩니다
속이 비어있기 때문에 terrain같은 바닥을 만들어 사용합니다
ConvexPolygonShape3D() [볼록]


볼록 콜리전은 오목과 똑같은 백터 좌표를 사용하였지만
겉에 있는 백터만을 계산하여 속이 찬 콜리전을 만들어 냅니다
겉면을 알아서 계산해 만들어 주기 때문에
백터를 아무렇게나 넣어도
속이 찬 볼록 형태로 만들어 줍니다
속이 차있기 때문에 돌이나 지형지물에 사용할 수 있습니다