강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

진형님의 프로필 이미지
진형

작성한 질문수

레트로의 유니티 C# 게임 프로그래밍 에센스

플레이어 조작 (2/2)

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

작성

·

644

0

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

답변 1

0

이제민님의 프로필 이미지
이제민
지식공유자

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

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

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

진형님의 프로필 이미지
진형

작성한 질문수

질문하기