inflearn logo
강의

講義

知識共有

MSW(メープルストーリーワールド)ゲームを作る

マップ & キャラクター 配置

TransformComponent 와 SpriteRendererComponent의 차이가 있나요?

解決済みの質問

6

glglgl03

投稿した質問数 1

0

왼쪽 포탈을 좌우반전할 때 강좌에선 TransformComponent 의 Scale 을 X=-1로 해서 반전을 했는데 SpriteRendererComponent 의 FlipX 를 체크해도 반전이 되더라고요.
혹시 둘의 차이가 있는지 궁금해요. 단순히 이미지만 반전시킬 거라면 어느 방법을 써도 상관이 없는걸까요

Lua UCC

回答 1

0

communityai8509

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

glglgl03님, 두 방법 모두 화면에 보이는 이미지를 좌우반전할 수 있지만 적용 범위가 다릅니다.

TransformComponentScale.X = -1을 사용하는 경우에는 엔티티의 전체 좌표계가 좌우 반전됩니다.

따라서 다음 요소에도 영향을 줄 수 있습니다.

  • 자식 엔티티의 위치와 방향
  • 콜라이더와 같은 물리 컴포넌트의 위치
  • 파티클이나 이펙트의 방향
  • 엔티티의 로컬 좌표 기준
  • 포탈의 기준점과 회전 방향

반면 SpriteRendererComponentFlipX는 스프라이트를 화면에 렌더링할 때 이미지의 좌우 방향만 반전합니다.

즉, 다음과 같은 특징이 있습니다.

  • 엔티티의 Transform 위치와 스케일은 그대로 유지됩니다.
  • 자식 엔티티의 Transform에는 영향을 주지 않습니다.
  • 콜라이더나 다른 컴포넌트의 위치와 방향도 변경하지 않습니다.
  • 단순히 캐릭터나 포탈 이미지의 방향만 바꿀 때 적합합니다.

따라서 이미지 자체만 좌우반전하려는 목적이라면 SpriteRendererComponentFlipX를 사용하는 것이 더 안전하고 의도에도 잘 맞습니다.

반대로 엔티티 전체를 좌우반전해야 하거나, 자식 오브젝트와 콜라이더까지 함께 반전해야 한다면 TransformComponentScale.X = -1을 사용할 수 있습니다.

정리하면 다음과 같습니다.

이미지만 좌우반전       → SpriteRendererComponent.FlipX
엔티티 전체를 좌우반전 → TransformComponent.Scale.X = -1

포탈처럼 이미지 방향만 바꾸고 다른 컴포넌트의 위치나 동작은 유지해야 하는 경우에는 FlipX를 사용하는 것을 권장합니다.

참고 자료: Spring Boot 공식 문서

MovementComponent 가 nil 로 나옵니다.

0

127

1

공유 파일

0

121

1

몬스터 포탈 생성 오류

0

293

1

상점등록X 본인만 사용하고 싶을때

0

344

1

노션 페이지가 어디에 있나요??

2

447

1

선생님 도와주세요

1

614

2

제 다리는 에러가..

0

271

0

궁금한 것이 있습니당

0

397

1

로블록스 심화 과정

0

314

1