• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

RigidBody가 여러개있을 때, 어떻게 지정?

19.10.28 14:31 작성 조회수 394

0

RigidBody가 여러개있을 때, dynamic하게 소스상에서 지정할 떄는 어떻게하나요? 강의 내용처럼 자동으로 지정하겠지만, 여러개인 경우 특정 id를 넣어줘야할 것같은데 그부분은 설명에 없어서요~

답변 1

답변을 작성해보세요.

0

하나의 게임 오브젝트에는 Rigidbody 컴포넌트가 하나만 부착되도록 허용됩니다. 따라서 Rigidbody 컴포넌트는 게임 오브젝트 단계에서 식별했다면, 해당 게임 오브젝트 내에서 여러개의 Rigidbody 컴포넌트 중 하나를 찾아내야할 상황은 대처하지 않아도 됩니다.

단, 일반적으로는 같은 종류의 컴포넌트가 하나의 게임 오브젝트에게 여러개 추가될 수 있습니다. 이 경우는 GetComponent가 아닌, 드래그&드롭을 통한 레퍼런스 할당을 추천하지만, 코드 상에서 해야한다면 GetComponents 메서드를 통해, 한 게임 오브젝트에 추가된 같은 종류의 컴포넌트를 전부 가져온다음 (배열로 가져와집니다), 가져와진 순서를 통해 파악합니다.

예를 들어 게임오브젝트 A에게 박스 콜라이더 컴포넌트가 5개 붙어있을때, GetComponents<BoxCollider>()를 하면, 인스펙터 창에서 확인할 수 있는 순서대로 정렬이 된, 박스콜라이더가 5개 포함된 배열을 가져오게 됩니다.