상세 컨텐츠

본문 제목

[Unity] 유니티 Random, 난수 관련

게임엔진관련/유니티 엔진

by AlrepondTech 2019. 4. 8. 12:39

본문

반응형

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

 

출처: https://itskeleton.tistory.com/entry/UnityC-%EB%82%9C%EC%88%98Rendom-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0

 

안녕하세요? 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세상]

 

 

 

=================================

=================================

=================================

 

 

 

반응형

 

 

728x90

 

 

 

 

출처: 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 ) );
    }
}

 

 

 

 

=================================

=================================

=================================

 

 

 

 

반응형


관련글 더보기

댓글 영역