home..

Unity에서 통통 튀는 큐브 만들기

blog Unity c# 3D

Watch the video 클릭하면 유튜브로 갑니다.

Unity에서 통통 튀는 큐브 만들기

유니티 책 산지 3일 만에 해보는 간단 프로젝트. 아는 거라고는 hierarchy창, scene창, inspector창, 이정도 밖에 잘 잘모르는데 챗 gpt의 힘을 빌려 해보았다.

1. Cube 객체 설정

hierarchy창에서 cube객체를 추가한다.

1.1. Rigidbody 컴포넌트 추가

Rigidbody 컴포넌트를 추가하여 물리적 움직임을 제어할 수 있습니다. Rigidbody

  1. Hierarchy 창에서 큐브 객체를 선택합니다.
  2. Inspector 창에서 Add Component 버튼을 클릭합니다.
  3. Rigidbody를 검색하여 추가합니다.

1.2. Box Collider 설정

Collider

  1. Inspector 창의 Box Collider 섹션에서 기본 설정을 그대로 둡니다.

1.3. Bouncy Material 설정

Material

  1. Project 창에서 Assets 폴더를 마우스 오른쪽 버튼으로 클릭합니다.
  2. Create -> Physic Material을 선택합니다.
  3. 새로 생성된 Physic Material의 이름을 “New Physic Material”로 변경합니다.
  4. Inspector 창에서 다음과 같이 설정합니다:
    • Bounciness: 1
    • Bounce Combine: Maximum (못보고 minimum으로 했는데 잘 되었다.튀는 강도 조절하는 것 같다.)

1.4. Physic Material 적용

Material

  1. Hierarchy 창에서 큐브 객체를 선택합니다.
  2. Inspector 창에서 Box Collider 컴포넌트를 찾습니다.
  3. Box Collider 컴포넌트 내에서 Material 항목을 찾습니다.
  4. Material 항목 옆의 원형 아이콘을 클릭합니다.
  5. “Bouncy” 물리 재질을 선택합니다.

2. 스크립트 작성 및 적용

2.1. 스크립트 작성

  1. Project 창에서 Create -> C# Script를 선택하여 새 스크립트를 만듭니다.
  2. 스크립트 이름을 “cube_pop”로 설정합니다.
  3. 아래 코드를 스크립트에 작성합니다:
using UnityEngine;

public class BouncyCube : MonoBehaviour
{
    public float bounceForce = 10f;
    
    void Start()
    {
        // 큐브에 처음 힘을 가합니다.
        Rigidbody rb = GetComponent<Rigidbody>();
        if (rb != null)
        {
            rb.AddForce(Vector3.up * bounceForce, ForceMode.Impulse);
        }
    }
    
    void OnCollisionEnter(Collision collision)
    {
        // 큐브가 바닥에 닿을 때마다 위로 튀게 합니다.
        if (collision.gameObject.CompareTag("Ground"))
        {
            Rigidbody rb = GetComponent<Rigidbody>();
            if (rb != null)
            {
                rb.AddForce(Vector3.up * bounceForce, ForceMode.Impulse);
            }
        }
    }
}

2.2. 스크립트 적용

  1. 작성한 스크립트를 저장합니다.
  2. Inspector 창에서 큐브 객체를 선택합니다.
  3. BouncyCube 스크립트를 큐브 객체에 드래그하여 추가합니다.

3. 바닥 객체 생성 및 태그 설정

3.1. 바닥 객체 생성

  1. Hierarchy 창에서 마우스 오른쪽 버튼을 클릭합니다.
  2. 3D Object -> Plane을 선택합니다.
  3. Hierarchy 창에 Plane 객체가 생성된 것을 확인합니다.

3.2. Ground 태그 설정

Material

  1. Hierarchy 창에서 생성된 Plane 객체를 선택합니다.
  2. Inspector 창에서 Tag 드롭다운 메뉴를 찾습니다. 기본값은 “Untagged”로 되어 있을 것입니다.
  3. Tag 드롭다운 메뉴를 클릭하여 Add Tag…를 선택합니다.
  4. Tags and Layers 창이 열리면, Tags 섹션에서 + 버튼을 클릭하여 새로운 태그를 추가합니다.
  5. 새로운 태그 이름을 “Ground”로 입력하고, Save 버튼을 클릭합니다.
  6. 다시 Hierarchy 창으로 돌아와 Plane 객체를 선택합니다.
  7. Inspector 창의 Tag 드롭다운 메뉴에서 방금 추가한 “Ground” 태그를 선택합니다.

이제 모든 설정이 완료되었습니다. 이렇게 하면 큐브가 바닥과 충돌할 때 튀는 동작을 구현할 수 있습니다.

브라우저 설정에 따라 댓글창이 보이지 않을 수도 있습니다.
© 2024 Gorani Works   •  Powered by Gorani Works   •  Theme  Moonwalk