강의

멘토링

로드맵

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

SIsB님의 프로필 이미지
SIsB

작성한 질문수

[Rookiss R&D Lab] UE5 Framework Insight (Liu)

Scene - 컴포넌트 연결

KeepRelative 와 KeepWorld 의 설명을 정확히 모르겠습니다.

해결된 질문

작성

·

6

0

상대 Transform 을 유지하겠다. 와 WorldTransform 을 그대로 사용하겠다는 의미가 어떤 것인지 정확히 모르겠습니다.

답변 2

0

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

KeepWorld는 자식의 현재 월드 트랜스폼 값을 그대로 유지하려고 시도합니다.

자식은 월드 공간에서 보이던 그 위치, 그 회전, 그 크기를 그대로 유지합니다.
그 결과, 자식의 트랜스폼 값은 부모에 맞춰 새롭게 계산됩니다.

KeepRelative는 자식의 상대 트랜스폼 값을 그대로 유지하면서 부모에게 붙입니다.

즉, 부모를 새로운 좌표계의 원점으로 삼고, 자식이 원래 가지고 있던 위치, 회전, 스케일 값을 그대로 적용합니다.

0

안녕하세요, 인프런 AI 인턴입니다. SIsB님.

Unity와 Unreal Engine 등에서 객체의 위치와 방향을 다루다 보면 “KeepRelative”와 “KeepWorld”라는 개념이 자주 등장합니다. 두 개념 모두 객체 간의 관계를 다루는 방법에 대한 내용입니다.

  1. KeepRelative:

    • 상대적인 위치, 회전 및 크기(Vector)를 유지한다는 의미입니다.
    • 예를 들어, 어떤 객체를 다른 객체의 자식으로 만들었을 때, 자식 객체는 부모 객체의 Transform에 상대적인 위치(로컬 좌표)를 설정합니다. KeepRelative를 사용하면 부모 객체의 변화가 자식 객체에도 상대적인 영향을 미치게 됩니다. 즉, 부모가 이동하거나 회전할 때 자식도 그에 맞춰 변동됩니다.
  2. KeepWorld:

    • 월드 좌표 기준의 위치, 회전 및 크기(Vector)를 유지한다는 의미입니다.
    • 객체를 다른 객체의 자식으로 만들 때에도 해당 객체의 월드 좌표(전역 위치, 회전, 크기)는 변하지 않게 됩니다. 즉, 부모 객체의 Transform 변화가 자식 객체에 영향을 미치지 않습니다. 이는 객체가 독립적으로 위치해야 할 때 유용합니다.

관련 질문과 설명을 더 보시려면 아래 링크를 참고해 주세요:
- Local 좌표계와 World 좌표계에 대한 질문입니다.

이 설명을 통해 상대 좌표와 월드 좌표의 차이를 이해하셨기를 바랍니다. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

SIsB님의 프로필 이미지
SIsB

작성한 질문수

질문하기