Unity에서 게임 오브젝트 회전하는 방법

2023. 3. 19. 16:15·Unity
반응형
Unity에서는Transform 컴포넌트를 사용하여 게임 오브젝트를 회전시킬 수 있습니다.

1. Transform.Rotate()

Transform.Rotate() 함수를 사용하여 게임 오브젝트를 회전시킬 수 있습니다. 이 함수는 세 개의 인자를 받습니다.

public void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);

  • eulerAngles: 회전시킬 방향 벡터입니다.
  • relativeTo: 회전시킬 기준 좌표계를 지정합니다. 생략하면 Space.Self로 설정됩니다.
// 예시: 오브젝트를 x축으로 30도 회전
transform.Rotate(new Vector3(30, 0, 0), Space.Self);

2. Transform.rotation

Transform.rotation 속성을 사용하여 게임 오브젝트의 회전값을 직접 변경할 수 있습니다. 이 속성은 Quaternion 자료형을 사용합니다.

// 예시: 오브젝트를 y축으로 45도 회전
transform.rotation = Quaternion.Euler(0, 45, 0);

3. Rigidbody 컴포넌트

게임 오브젝트가 Rigidbody 컴포넌트를 가지고 있다면, Rigidbody 컴포넌트의 AddTorque() 함수를 사용하여 회전력을 가할 수 있습니다.

public void AddTorque(Vector3 torque, ForceMode mode = ForceMode.Force);

  • torque: 회전력 벡터입니다.
  • mode: 회전력의 적용 모드를 지정합니다. 생략하면 ForceMode.Force로 설정됩니다.
// 예시: 회전력을 y축으로 100만큼 가할 때
rigidbody.AddTorque(new Vector3(0, 100, 0), ForceMode.Force);

위와 같은 방법으로 Unity에서 게임 오브젝트를 회전시킬 수 있습니다.

4. Quaternion과 Euler Angle

Quaternion과 Euler Angle은 회전값을 표현하는 두 가지 방법입니다.

Quaternion은 4차원 벡터로 회전값을 표현합니다. Unity에서는 Quaternion.Euler() 함수를 사용하여 Euler Angle을 Quaternion으로 변환할 수 있습니다.

// 예시: Euler Angle을 Quaternion으로 변환
Quaternion rotation = Quaternion.Euler(30, 45, 60);

Euler Angle은 x, y, z 축을 기준으로 회전값을 표현합니다. Transform.rotation에서는 Euler Angle을 사용하여 회전값을 표현합니다.

// 예시: 오브젝트를 x, y, z 축을 기준으로 회전시키기
transform.rotation = Quaternion.Euler(30, 45, 60);

5. Rotation Order

Euler Angle로 회전값을 표현할 때, 회전 순서에 따라 다른 결과가 나타날 수 있습니다. Unity에서는 Rotation Order를 설정하여 회전 순서를 변경할 수 있습니다.

Transform.rotation에서 회전 순서는 Rotation Order 속성을 통해 설정할 수 있습니다.

// 예시: x, y, z 순서로 회전시키기
transform.rotation = Quaternion.Euler(30, 45, 60);
transform.rotation = Quaternion.Euler(60, 45, 30); // 같은 Euler Angle이지만 결과가 다름

회전 순서에 따라 결과가 다르기 때문에, 회전값을 표현할 때에는 Quaternion을 사용하는 것이 좋습니다.

저작자표시 비영리 변경금지 (새창열림)

'Unity' 카테고리의 다른 글

Unity 수학 함수 Mathf  (0) 2023.03.22
Unity에서 오일러각과 쿼터니언  (0) 2023.03.21
Unity에서 게임 오브젝트 위치 이동 시키기  (0) 2023.03.18
연산자란? 연산자 종류 - 단항 연산자, 이항 연산자, 삼항 연산자  (0) 2023.03.16
Unity 코루틴 - Coroutine  (0) 2023.03.10
'Unity' 카테고리의 다른 글
  • Unity 수학 함수 Mathf
  • Unity에서 오일러각과 쿼터니언
  • Unity에서 게임 오브젝트 위치 이동 시키기
  • 연산자란? 연산자 종류 - 단항 연산자, 이항 연산자, 삼항 연산자
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (727)
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (18)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    codingcommunity
    programmerlife
    rtsp
    list
    programming101
    상품 리뷰 크롤링
    믈레코비타멸균우유
    셀레니움
    스마트스토어리뷰
    스크립트 실행
    unity
    Python
    codingtips
    라떼우유
    appdevelopment
    긴유통기한우유
    파이썬
    쇼핑몰리뷰
    ipcamera
    카페24리뷰이관
    리뷰이관
    learntocode
    devlife
    cv2
    리뷰관리
    리스트
    스크립트 실행 순서
    C#
    유니티
    카페24리뷰
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
Unity에서 게임 오브젝트 회전하는 방법
상단으로

티스토리툴바