유니티 랜덤 함수 (Random), 정확하게 말해서 Random.Range() 함수는 비디오 게임에 우연성과 예측 불가능성을 추가하는 데 사용됩니다.
즉, 플레이어가 다음에 무슨 일이 일어날지 항상 예측할 수 없게 해 주기 때문에 게임을 더 흥미롭고 도전적으로 만들 수 있습니다.
비디오 게임에서 Random.Range() 함수를 사용하는 경우에 대한 몇 가지 예를 들어 보겠습니다.
임의의 적 스폰 지점 생성
게임에서 스폰할 적의 임의 위치를 생성할 수 있습니다. 이것은 플레이어가 적이 나타날 위치를 예측하기 어렵게 만드는 한편, 게임을 역동적이고 도전적으로 유지하는 데 도움이 될 수 있습니다.
무작위 파워업 생성
게임에서 파워업을 생성할지 여부를 무작위로 결정하고 파워업 생성위치도 임의로 지정할 수 있습니다.
적 행동에 무작위성 추가
적의 게임 내 행동 방식을 무작위로 결정할 수 있습니다. 예를 들어 Random.Range() 메서드를 사용하여 적의 공격 패턴을 무작위로 선택하거나 적이 플레이어를 쫓을지 아니면 후퇴할지 무작위로 결정할 수 있습니다.
이처럼 Random 함수는 비디오 게임에 다양성과 예측 불가능성을 추가하는 데 유용한 도구가 될 수 있으며 플레이어의 참여와 도전을 유지하는 데 도움이 될 수 있습니다.
유니티 랜덤 함수의 사용법
Random.Range() 함수(메서드)는 지정한 두 값(포함) 사이에서 임의의 정수나 실수를 생성하는 Unity의 Random 클래스 메서드입니다. 다음과 같은 구문이 있습니다.
int Random.Range(int min, int max);
float Random.Range(float min, float max);
Random.Range() 메서드는 무작위 정수가 생성되어야 하는 범위의 최소값과 최대값이라는 두 가지 인수를 사용합니다. 지정된 범위 내에서 임의의 정수나 실수를 반환하는데, 정수 타입의 경우 두번째 인자보다 1 작은 값까지 만을 반환한다는 점에 주의해야 합니다.
다음은 Random.Range() 메서드를 사용하여 1에서 100 사이의 임의의 정수를 생성하는 방법의 예입니다.
int randomInt = Random.Range(1, 101);
Debug.Log("Random integer: " + randomInt);
이 예제에서 Random.Range() 메서드는 1에서 100 사이의 임의의 정수를 생성하고 randomInt 변수에 할당합니다. randomInt 값은 무작위로 생성되기 때문에 코드를 실행할 때마다 달라집니다.
다음은 유니티 클래스에서 Random.Range()를 사용한 예제입니다.
using UnityEngine;
public class RandomExample : MonoBehaviour
{
void Start()
{
// 1에서 100 사이의 랜덤 정수 생성. 마지막 숫자인 101은 제외
int randomInt = Random.Range(1, 101);
Debug.Log("Random integer: " + randomInt);
// 0.0에서 10.0 사이의 랜덤 숫자(실수)생성
float randomFloat = Random.Range(0f, 10f);
Debug.Log("Random float: " + randomFloat);
}
}
위의 코드를 실행하면 콘솔창에 대략 다음과 같은 결과가 나타납니다.
Random integer: 37
Random float: 7.85963
더 공부할 자료
유니티 C# 스크립트 작성에 대해 보다 심도 있는 공부를 원하시면 다음 링크를 체크해 보시기 바랍니다.
“막 유니티를 배운 주니어 게임 프로그래머로서 자신의 힘으로 첫번 째 게임을 만들고 싶지만 어디서부터 시작해야 할지 막막한 분 계신가요? 이 책을 읽어 보세요. 간단한 게임이지만 게임 구현 전체 프로세스를 자세한 설명과 함께 제공합니다. 동영상 예제까지 들어 있어요!”
더 공부할 자료 - 개발 능력 다양화를 위한 학습의 필요성
유니티 엔진의 대안으로서, 인디 개발자들에게 선풍적인 인기를 끌고 있는 엔진이 바로 고도 엔진입니다. 혹시 고도 엔진을 배워 보려고 하신다면, 다음의 온라인 강의를 체크해 보시기 바랍니다.