2018年6月

1/2ページ

【Unity】RequireComponentで安全にコンポーネントを操作する

アタッチしてないコンポーネントをスクリプトから操作しちゃうこと、よくありませんか? うっかりGetComponentしてエラーを出しちゃう……そんな時には、RequireComponentのAttributeを付けておくのがオススメ! スクリプトをアタッチするときにコンポーネントも一緒にアタッチしてくれるので、うっかりさんも安心です(通販風)

【Unity】乱数を使って空間に点やオブジェクトを描画してみる実験

Unityのマニュアルには『ランダムなゲームプレイ要素の追加』のトピックがあります。乱数の考え方の基本を押さえるのにとても良い出発点だったので、このブログでも実例を交えてサンプルコードを用意。今回はランダムな空間座標を取得してオブジェクトを配置するサンプルです。

【Unity】UnityのRandomを使って重み付き抽選を実装するサンプル

異なる発生確率を持った事象を選択するのはかなり頻繁に行われることで、ランダム性が重視されるゲームではほぼ必須と言っても過言ではありません。ここでは敵を倒した時にドロップするアイテムの抽選を例に、Unityのサンプルコードをアレンジして遊んでいます。

【Unity】乱数を使ってサイコロの1から6が全部出るまで走る逆鱗マラソン

UnityのRandomクラスって、結構確率論に沿ってるんですね。自分で手を動かして確認してみると実感します。この記事ではサイコロを振って1から6までの数字が全部出るまでの試行回数をシミュレーションし、期待値や最小値などが理論値どどの程度一致するかを確認しています。

【Unity】ゲームといえばランダム要素。Randomクラスを使って遊ぼう

UnityではRandomクラスを使って簡単に乱数を取得することができます。この記事では簡単な例として、サイコロを振る時にそれぞれの目が出るサンプルと、その発生確率の統計を行なっています。試行回数が多いと確率は収束しますが、少ない時には体感的に偏ってると感じることも。

【Unity】Capsule Colliderのパラメータについて。向きも変えられるよ

衝突を表現するのに必要なコンポーネントであるColliderを扱っています。ここではカプセル型のColliderであるCapsule Colliderのパラメータについて紹介しています。細長くて丸いものを表現したり、擬似的に楕円を表現したりすることもできるので、工夫が光るColliderでもあります。

【Unity】無限とは一体…うごごご! UnityではInfinityがどう扱われるのか

UnityではMathfの中に無限大(Infinity)が定義されています。この無限大が計算の上でどう扱われているのかを確認してみました。話を辿っていくとC#の言語仕様やら、IEEEの浮動小数点数の標準にまで行きついてしまったので、思いの外ボリュームが大きくなりました。

【Unity】RangeAttributeの最小値・最大値をConstで指定する

Unityではメンバ変数(フィールド)にRangeAttributeを指定しておくと、Inspectorウィンドウでスライダーを使って値を調整できるようになります。最大値と最小値を指定するため、Inspectorでの操作で変な値が入ることも少なくなり、スライダーの移動量で大体の値を掴むこともできます。

【Unity】SerializeFieldとNonSerializedの頂上バトル! 勝つのはどっちだ!!

Unityでスクリプトを作成する際はクラスやフィールド、メソッドなどにAttirbuteを指定することができます。その中で、privateでもシリアライズする[SerializeField]と、publicであってもシリアライズさせない[System.NonSerialized]がありますが、どちらが優先されるのか確認を行なっています。

【Unity】ゴルフっぽいゲームを作るチュートリアルの紹介

このブログで扱っている初心者向けチュートリアルの紹介です。全30回と、初心者向けにしては結構なボリュームですが、その分覚えておくと役に立つテクニックは満載。手順毎に画像を載せているので、記事に沿って手を動かせばUnity初心者でもゲームが作れるようになっています。