[過去ログ]
【ゲームエンジン】Unityなんでも質問スレpart4 (1002レス)
【ゲームエンジン】Unityなんでも質問スレpart4 http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
296: 名前は開発中のものです。 [sage] 2021/05/27(木) 07:31:13.61 ID:gb+qRYu8 0から1のfloat乱数を10個作って合計、合計値をAとする 300/Aを上の10個の乱数と掛け算する 誤差は自分でなんとかして http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/296
297: 名前は開発中のものです。 [sage] 2021/05/27(木) 07:56:53.95 ID:UiFe0pyC >>295 全文書いてないだけですよね。 http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/297
298: 名前は開発中のものです。 [sage] 2021/05/27(木) 08:37:30.04 ID:a0FlewyP 素朴な疑問なんだけど 乱数の出現率が常時10%固定で10分割すると NumberNは300*0.1=30くらいにいつもなるのでは? この式は300並んだ配列の順番を求める式ではないよね 何に使うのかがよく分からない http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/298
299: 名前は開発中のものです。 [sage] 2021/05/27(木) 08:43:06.43 ID:SLQj1j9d >>297 Random.Range、そのパラメータじゃ1-10のランダム値こねーだろ 変数10分けてるのも意味わからんし何より他の人が言ってるようにほぼほぼ同じになる値を何に使いたいのか ランダム値のランダム性の検証でもしたいのか? http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/299
300: 名前は開発中のものです。 [sage] 2021/05/27(木) 09:10:18.93 ID:UiFe0pyC >>299 エスパー現るw そうなんだろうけど、そればかりは本人にしかねぇ。 http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/300
301: 名前は開発中のものです。 [sage] 2021/05/27(木) 09:13:25.60 ID:a0FlewyP 0〜10はRandom.Range(0, 11)だよね 10+1をmaxに入れる 1,9だと1〜8になるので何かが可笑しい 「乱数テーブル」を作りたいなら素直にググった方がいいと思う http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/301
302: 宵闇大使 ◆SoVpkB15jY [sage] 2021/05/27(木) 09:30:05.36 ID:tYp4tuFV Random.Range(0, 5)の0が以上なのに5のほうは未満なの結構初心者には罠でふよね(^^ 僕も最初混乱しまひたよ(^^ http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/302
303: 289 [sage] 2021/05/27(木) 09:51:00.66 ID:un4LUW1y >>295 書き間違いなだけで>>297の解釈で合ってます。 ×int test=Random.Range(1, 9); 〇int test=Random.Range(1, 10); >>298 1つの変数の平均値は30の計算なので、ランダムで生成された数値が30でも問題ないです。 これは、ステータスの初期値をランダム生成させたいだけです。 体力51、魔力5、精神力20みたいな感じです。 >>302 C#とunity勉強始めてからまだ1カ月経ってないぐらいなので、C#のランダムとごっちゃになりますね。 皆様、レスありがとうございました。 http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/303
304: 名前は開発中のものです。 [sage] 2021/05/27(木) 10:06:08.28 ID:a0FlewyP 適当な振れ幅なら int AGI = 30 + Random.Range(-5,5+1) みたいに書けると思う intは負の値いけたっけ? floatは多用するんだけど(-30,30+1)にできるなら 30を基準にして0〜60が作れる http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/304
305: 名前は開発中のものです。 [sage] 2021/05/27(木) 10:19:53.73 ID:coz7zI8o >>292 それをしたいならifじゃなくてswitchかな for (int i =0; i < 300; i++) { int num=Random.Range(0, 10); switch(num){ case 0: Nunber0++; break; case 1: Nunber1++; break; ••• http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/305
306: 名前は開発中のものです。 [sage] 2021/05/27(木) 10:26:55.99 ID:gb+qRYu8 10個の乱数決めるのにRandom300回か 面白いね君たち http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/306
307: 名前は開発中のものです。 [sage] 2021/05/27(木) 10:31:25.08 ID:4V3hIemC ランダムな9個の仕切りで分けるのはちゃんとランダム? http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/307
308: 名前は開発中のものです。 [sage] 2021/05/27(木) 10:59:06.02 ID:UiFe0pyC うーん、ランダム http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/308
309: 名前は開発中のものです。 [sage] 2021/05/27(木) 11:01:37.11 ID:a0FlewyP https://qiita.com/memakura/items/6b3e6e06eae51725fd5d#%E4%BE%8B%E8%A6%81%E7%B4%A0%E3%81%AE%E7%B7%8F%E5%92%8C%E3%81%A7%E6%AD%A3%E8%A6%8F%E5%8C%96 配列の正規化を使ってlist*300すると簡単に出せるけど floorだから足しても300にはならないが非常にシンプル https://i.imgur.com/4FIBuVl.png http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/309
310: 名前は開発中のものです。 [sage] 2021/05/27(木) 11:17:52.51 ID:coz7zI8o >>289 これをベースに考えるなら 変数を10個作るのではなく配列にして 後からランダムに並び替えるのがいいかな float[] array = new float[10]; //この間で数値の振り分け float[] number = array.OrderBy(i => Guid.NewGuid()).ToArray(); http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/310
311: 名前は開発中のものです。 [sage] 2021/05/27(木) 12:50:53.47 ID:ocyZxuLk 0〜300の乱数を一つも被らずに10個ゲットしたいって話ならこんな感じ int v = 300 / 10; List<int> Nums = new List<int>(); for (int i = 0; i < 10; i++) { Nums.Add(Random.Range (((v * (i+1)) - v), (v * (i+1))+1 ) ) ; print( Nums[i]); } http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/311
312: 名前は開発中のものです。 [sage] 2021/05/27(木) 13:37:07.42 ID:un4LUW1y 便利なサイトがあったので、コード貼ります。 https://ideone.com/XSSWkn 300を10個の変数に振り分けたいんですよ。 例1(均等に振り分けた場合) A30B30C30D30E30F30G30H30I30J30 ※合計300 例2(ランダムに振り分けた場合) A55B11C21D46E8F26G42H35I30J26 ※合計300 この例2をやりたいんですよ。 現在のfor文を300回やるパターンでも例2は再現できてますが、 あまりよろしくないとの意見もあるので、現在模索中です。 http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/312
313: 名前は開発中のものです。 [] 2021/05/27(木) 14:32:43.22 ID:iQQ16bCL 二枚の白い板を、隙間なく並べたとき、板の継ぎ目が全く見えないのですが、 ライトマップをベイクすると、板の色が違う色になってしまい、継ぎ目が解るようになってしまいます。 これを、継ぎ目が解らないようにするには、どのようにすればよいですか? ご存じの方、いらっしゃいましたら、教えていただけると嬉しです。 宜しくお願いいたします。 http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/313
314: 名前は開発中のものです。 [sage] 2021/05/27(木) 14:33:58.71 ID:SW5j+p99 >>312 うーん>>310で実現出来てると思うんだけどダメな理由を教えて? >>289では最後に0が固まるのが不満なんだよね? 数値が決まってからランダムに並べ替えるだけで問題解決だと思ってるのだけど それとも0が複数出るのが嫌って事なのかな? その辺は下限値を決めるとかいくらでも出来ると思うけど http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/314
315: 名前は開発中のものです。 [sage] 2021/05/27(木) 14:34:27.32 ID:a0FlewyP >>312 https://ideone.com/xG6Sr8 forで回したいならコレでいい http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/315
316: 名前は開発中のものです。 [sage] 2021/05/27(木) 14:40:40.62 ID:UO0LeoxU >>312 10個の変数に割り振る際の各変数の取りうる値の範囲とか、ばらつきや片寄り具合をどうしたいのとか、仕様は明確になってるの? そちらを決めないままアルゴリズムを模索しても意味がないよ よろしくないという意見は自分がやりたいことに合致してる?ただダメと言われたから他の方法にしたいとか思ってないか? http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/316
317: 名前は開発中のものです。 [sage] 2021/05/27(木) 15:10:49.27 ID:un4LUW1y >314 シンプルで良いコードだと思うんですけど、 >310は>289をベースにしているので、ふり幅があまりにも大きすぎるのと、 0が多すぎるので、>289の考え方自体が間違ってたんですよ。 すみません。 >315 ありがとうございます。 >316 残念ながら、仕様は明確ではないですね。 ある程度ふり幅があって、数値がバラバラになってくれればいいという感じです。 http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/317
318: 名前は開発中のものです。 [sage] 2021/05/27(木) 15:33:53.93 ID:a0FlewyP https://ideone.com/GJ3ECm whileで配列がnになるまで回すなら こういう書き方も出来る sum:300, 9,48,1,48,23,59,1,27,27,57, キャラメイクでアタリを引くまでリセマラはアリな派 ハズレは大いにアリじゃね? http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/318
319: 名前は開発中のものです。 [sage] 2021/05/27(木) 15:36:51.74 ID:SW5j+p99 >>317 ならこんなんで int point = 300; int[] num = new int[10]; for(int i = 0; i < 10; i++){ if(i == 9)   num[i] = point; else if(point == 0){   num[i] = 0; } else{ int tmpPoint = Random.Range(0,61); if(tmpPoint < point) {   num[i] = tmpoint;   point -= tmpPoint; } else{   num[i] = tmpoint;   point = 0; } }} http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/319
320: 名前は開発中のものです。 [sage] 2021/05/27(木) 15:37:10.09 ID:4V3hIemC https://ideone.com/T72Gq2 こうだな http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/320
321: 名前は開発中のものです。 [sage] 2021/05/27(木) 15:39:04.83 ID:SW5j+p99 タイポしまくってるのはすまん直してくれ スマホからなんだ http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/321
322: 名前は開発中のものです。 [sage] 2021/05/27(木) 16:08:34.08 ID:SW5j+p99 さすがにアレなんで>>319はこっちに書き直しました https://ideone.com/z2lrZB http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/322
323: 名前は開発中のものです。 [sage] 2021/05/27(木) 16:18:47.64 ID:a0FlewyP >>320 本日の一等賞やな スマートで面白いんだけど何でソートして引いただけで こうなるのかが分からない 何かヒントないです? http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/323
324: 名前は開発中のものです。 [sage] 2021/05/27(木) 17:00:20.56 ID:un4LUW1y >315と>318と>322は採用させていただきます。 >320 すみません。 コードを丸コピーしてもエラー吐いてうまく動作しませんでした。 採用させていただいた分でこうなってます。 https://ideone.com/nF7Q4c 皆様、ありがとうございました。 http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/324
325: 名前は開発中のものです。 [sage] 2021/05/27(木) 17:23:13.85 ID:a0FlewyP public static void Main() → void Start() var nums = new Test().Divide(m, n); → TestがClass名だからそこ直す Console.WriteLine(string.Join(',' , nums)); → print(string.Join(','.ToString(), nums)); エラーは間違いのお知らせだから、 そこは自分で読んで直せるように頑張ろうず Next()がLagged Fibonacci法の引き算法を使った疑似乱数までは分かったけど あっコレどうしてなのか考えたらダメな奴だ 頭から煙が出るぜうぇっw http://mevius.5ch.net/test/read.cgi/gamedev/1619223275/325
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 677 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s