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에서 게임 오브젝트 위치 이동 시키기
  • 연산자란? 연산자 종류 - 단항 연산자, 이항 연산자, 삼항 연산자
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (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)
  • 인기 글

  • 태그

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

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

티스토리툴바