=================================
=================================
=================================
안녕하세요? ITSkeleton 입니다.
난수를 생성하는 방법에 대하여 알려 드리려 하는데요.
난수 생성 방법은 생각보다 간단합니다.
UnityEngine.Random 을 이용하는데요.
쓰다보니 그냥 Random 이라고
치니까 System 안으로 들어가 버리더군요.
(using에 System과 UnityEngine을 같이 써야하는 경우)
그래서 UnityEngine.Random을 사용했습니다.
using에 UnityEngine만 있다는 가정하에 코드를 알려드리겠습니다.
int or float ran = Random.Range(int or float, int or float);
이런식으로 사용하면 됩니다. Range 뒤에 파라미터 값은 1, 2, 3, 4, 5 정수로 쓴다면 알아서 int 형식으로 반환해 주고 1.1, 1.2, 1.3, 1.4 소수로 쓴다면 알아서 float 형식으로 반환해 줍니다.
Random.Range(0, 6);
이렇게 적어준다면 정수형인 값만 랜덤으로 생성을 해주는데 0~5 까지의 숫자중 랜덤값을 반환해 줍니다.
0이상 6미만 이라는 형식이 적용되지요.
Random.Range(0.0, 1.5);
이 경우는 1.4 까지의 값이 생성됩니다. 어느정도 이해가 되실거라 믿고
난수 생성하는 방법에 대한 내용을 마치도록 하겟습니다~
감사합니다
유튜브 :
https://www.youtube.com/channel/UCuhamVaQCtATPaEdYX-kM5Q
출처: https://itskeleton.tistory.com/entry/UnityC-난수Rendom-생성하기 [ITSkeleton의 IT세상]
=================================
=================================
=================================
출처: https://codingmania.tistory.com/168
Random.Range(0, 10);
이라는 명령어를 통해 0부터 9까지의 값들 중 하나를 랜덤으로 생성하게 된다.
중요한 것은 0부터 10이 아니라는 것이다.
매개변수 두 개 중
시작값인 0은 포함(inclusive)되고, 끝값은 제외(exclusive)된다.
물론 시작값이 0이 아니어도 마찮가지이다.
만약, 1부터 99까지의 값들중에 랜덤으로 값을 만들기 위해서는 다음과 같이 작성하면 된다.
Random.Range(1, 100);
100까지 하고 싶다면, 마지막 값에 +1을 해주는 방식으로 작성해야한다.
//------
float와 int형 두 개의 값을 구할 수 있다. 다른점은
출처: https://codingmania.tistory.com/168 [괴발개발 개발새발 하는 개발자의 개발 블로그]
=================================
=================================
=================================
출처: https://docs.unity3d.com/kr/530/ScriptReference/Random.Range.html
Random.Range
public static float Range(float min, float max);
파라미터
Description
min [inclusive]과 max [inclusive]사이의 랜덤 float 수를 반환합니다. (읽기전용)
Note that max is inclusive, so using Random.Range( 0.0f, 1.0f ) could return 1.0 as a value.
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public GameObject prefab;
// Instantiate the prefab somewhere between -10.0 and 10.0 on the x-z plane
void Start()
{
Vector3 position = new Vector3(Random.Range(-10.0f, 10.0f), 0, Random.Range(-10.0f, 10.0f));
Instantiate(prefab, position, Quaternion.identity);
}
}
파라미터
Description
Returns a random integer number between min [inclusive] and max [exclusive] (Read Only).
Note that max is exclusive, so using Random.Range( 0, 10 ) will return values between 0 and 9. If max equals min, min will be returned.
using UnityEngine;
public class ExampleClass : MonoBehaviour
{
// Loads a random level from the level list
void Start()
{
Application.LoadLevel( Random.Range( 0, Application.levelCount ) );
}
}
=================================
=================================
=================================
'게임엔진관련 > 유니티 엔진' 카테고리의 다른 글
[Unity] 유니티 오브젝트 찾기, 접근, 생성, 만들기 관련 (0) | 2019.04.16 |
---|---|
[Unity] 유니티 레이아웃 관련 (0) | 2019.04.10 |
[Unity] 유니티 모바일 디바이스 소프트키보드 관련 (0) | 2019.04.07 |
[Unity] 유니티 로컬 데이터 저장, 로드 쓰기 읽기 관련. (0) | 2019.03.31 |
[Unity] 유니티 다수 개발 팁 관련 (0) | 2019.03.25 |
댓글 영역