Menu
CoddyTech

무작위 생성

Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 67개 중 53번째.

Random.Range(min, max)는 임의의 숫자를 선택하며, 반환될 수 있는 값은 전달하는 숫자의 유형에 따라 달라집니다. 실수의 경우 min부터 max까지 양 끝값을 모두 포함한 값이 나올 수 있습니다. 정수의 경우 max 자체는 제외됩니다. 따라서 주사위를 굴릴 때는 1부터 7까지를 지정합니다:

int roll = Random.Range(1, 7);   // 1, 2, 3, 4, 5 또는 6
Debug.Log("You rolled " + roll);

정수 버전은 max를 제외하므로 Random.Range(0, names.Length)는 항상 유효한 배열 인덱스입니다. 또한 결과를 실수형 변수에 저장하더라도 Random.Range(-5, 5)는 -5부터 4까지의 정수만 반환합니다. 그 사이의 임의의 값을 원한다면 Random.Range(-5f, 5f)라고 작성하세요.

3D 공간의 위치와 방향을 구할 때 Unity에는 바로 사용할 수 있는 임의 벡터가 두 가지 있습니다. Random.insideUnitSphere는 (0, 0, 0)을 중심으로 반지름이 1인 구 내부의 임의 지점입니다. Random.onUnitSphere는 그 구의 표면에 있는 임의 지점이며, 길이가 1인 임의의 방향 벡터가 됩니다. transform.position + Random.insideUnitSphere * 2f는 위아래를 포함해 어느 방향으로든 최대 2유닛 떨어진 위치입니다.

challenge icon

챌린지

중급

클릭할 때마다 바닥 위의 무작위 위치에서 상자가 떨어져야 합니다:

  • x와 z: 각각 -4에서 4 사이의 임의의 값이며, 정수에만 한정되지 않습니다.
  • y: 5, 상자가 바닥으로 떨어지도록 합니다.
  • 회전 없음.

Play를 누르고 몇 번 클릭한 다음, Check를 누르세요.

직접 해보기

using UnityEngine;

public class CrateDropper : MonoBehaviour
{
    public GameObject cratePrefab;

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            // 임의의 위치에서 상자를 떨어뜨립니다: x와 z는 -4부터 4까지, y = 5
        }
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Unity 스크립팅 기초의 모든 레슨