x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

[Closed] (動画チュートリアル関連) Seed や Stream とは?

動画チュートリアル 『UE4 Blueprint Quickshot 12 - Random Streams (v4.7)』で出てくる Seed や Initial Seed、Stream とは何でしょうか?

Product Version: Not Selected
Tags:
more ▼

asked Sep 07 '16 at 03:26 AM in Japanese

avatar image

ymars STAFF
243 41 53 71

(comments are locked)
10|2000 characters needed characters left

The question has been closed Sep 07 '16 at 03:31 AM by ymars for the following reason:

The question is answered, right answer was accepted


1 answer: sort voted first

動画チュートリアルでは Random Float in Range from Stream (ストリームから一定範囲にある Float 値の乱数を得る) 関数を利用して乱数を作っています。

seed1

「乱数」はでたらめの数という意味ですが、コンピュータで作られる乱数は、一定の計算に基いて作られているため、本当はでたらめではありません (つまり、予測可能です)。その計算の基になる数が Seed (シード、種、初期値) です。

乱数を計算する方式は多数あります。たとえば、 シードにある数を掛けてさらに別の数を加えたものの下4桁を乱数にし、さらにその得られた乱数から新たなシードを作って新たな乱数を得る (以下、延々と続けることができる) 、などというやり方もあります。

ストリームと乱数とシードの関係を分かりやすく説明するために、円周率を使ったごくごく簡単な 1 桁の擬似乱数を考えてみます。円周率は、

3.14159 26535 89793 23846 26433 83279 50288...

だとして、シードが 3 の時は、円周率の小数点以下第3位以下の数を乱数とします。つまりこの場合、

1、5、9...

というように乱数が生成されることになります。シードが 5 の時は、小数点以下第5位以下の数

9、2、6...

という乱数が生成されることになります。この時、1、5、9... や 9、2、6...が、シードから得られるストリーム (一連の乱数) となります。(さらに、このストリームの中から「 5 以下の乱数を取り出す」などと 範囲 を指定することもできます。)

上記の例から、シードが決まれば、乱数のストリームが 1 個だけ決まることが分かります。言い換えるならば、 シードを変えなければ、ずっと同じ乱数が生成されることになります。 このことは、シードの値がどんな値でも同じです。必ず一意にストリームが決まります。また、どんなに複雑な計算方式を用いる乱数であっても同じです (もちろん UE4 の乱数発生関数であっても)。乱数の流れは一意に決まります。ですから、動画チュートリアルでは Initial Seed (最初に設定されているシード) を変更して、ブッシュの位置を変えています。言い換えれば、Initial Seed を変更するまでは、同じ乱数が使われることになるので、ブッシュの位置も予測可能 (「同じ位置になるはずだ」と予測できる) なのです。

▶関連する UE4 ドキュメンテーションランダム ストリーム

seed1.png (622.8 kB)
more ▼

answered Sep 07 '16 at 03:31 AM

avatar image

ymars STAFF
243 41 53 71

(comments are locked)
10|2000 characters needed characters left

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question