2023年1月30日のブックマーク (2件)

  • 【Unity】配列の要素をシャッフルする方法(図解) | なおゆブログ

    どうもなおゆです。前回はコルーチンについて説明しました。 今回は、配列に入れているプレハブをランダムに並び替えする方法について、備忘も兼ねてまとめます。(配列の型を変えるとintなどでも応用可能) 配列の要素をランダムに入れ替え Unityゲームを作っていると、配列で管理しているオブジェクトをランダムに入れ替えたい時がよくあります。今回はRandomクラスを応用してシャッフルしていきます。 まずはシャッフルするための配列を宣言しよう 配列の型は何でも可能ですが、今回はプレハブを格納したGameObject型の配列を使います。 public GameObject[] foods = new GameObject[3]; 配列の要素にはヒエラルキー画面からプレハブを追加しています。ハンバーガー・バナナ・寿司の順番で格納しました。 シャッフルメソッドを作成 続いて配列をシャッフルするためのメソ

    【Unity】配列の要素をシャッフルする方法(図解) | なおゆブログ
  • 【Unity】重み付きの確率抽選を行う方法

    オンラインゲームにおけるガチャなどデータの改ざんが懸念される場面においては、サーバー上でロジックを実装することを推奨します。記事で解説するアルゴリズム部分は、Unity以外の環境でも適用可能です。 ループを用いて重み付き抽選を行う 最初に、ループを用いて抽選を行うアルゴリズムについて紹介します。 要素数に比例して計算量が増大する傾向がありますが、メモリの消費が少ない [1] 、実装が簡単というメリットがあります。 この方法は、以下リファレンスのページでも紹介されています。 アルゴリズム まず、重み全体の総和を計算し、0~総和までの範囲の乱数値を取得します。 次に、要素の先頭から順に、乱数値と現在要素までの重みの総和の大小関係を調べ、乱数値が総和より下回るまで繰り返します。 繰り返しが終了したときの現在要素が最終的な抽選結果となります。 このように要素の先頭から順番に大小関係をチェックして

    【Unity】重み付きの確率抽選を行う方法
    alelita
    alelita 2023/01/30
    確率抽選の高速化