Unity

Category
[Unity] バウンディングボックス(AABB)について調べてみた
ゲームにおいて衝突判定を行う際、AABB(軸平行境界ボックス)を定義して無駄な計算を削減するアルゴリズムがよく用いられます。 AABBはxyzの各軸に平行な直方体です。 軸に平行であるため、当たり判定の計算が非常に軽くなります。 複雑なメッシュ形状に対する衝突判定を行う際、メッシュ形状を包含するAABBを事前に定義し、...
644 PV
[Unity] ライントレーサーを実装してみた
Unityでのネタ的な投稿です。 地面の黒ラインに沿って走行するロボット(ライントレーサー)をUnity上で再現してみました。 黒ラインはカメラ画像から認識するようにします。 今回はカメラを照度センサに見立て、画像全体の輝度からロボットをラインに沿って走行するようにフィードバック制御します。 ロボットの実装 自律移動型...
453 PV
[Unity] 複数のタイマーチャネルを持たせる
Unityのタイマー関連の情報はTimeクラスのstaticメンバより取得できます。 以下のように使用されることが多いでしょう。 [crayon-5c12ef1573770716435869/] 前回のフレームからの経過時間はTime.deltaTime、ゲーム起動からの経過時間はTime.timeをReadすることで...
143 PV
[Departure from the Void] ステージ2実装中・・・
今日からゴールデンウィークが始まったということで、Departure from the Void(縦スクロールシューティングゲーム)のリメイク作業を進めています。 現在はステージ2の敵キャラのモーション作成&配置を行っています。 以下、開発途中の画面です。 進捗は3分の1くらいです。 完成までの道のりはまだまだ長いです...
78 PV
[Unity] プロパティをインスペクタから編集できるようにする
UnityのC#スクリプトにて、シリアライズ可能なフィールドはインスペクタから編集することができますが、プロパティはpublicにしても[SerializeField]属性を指定しても編集できません。 プロパティはフィールドとは違い、内部的にはメソッドとして扱われるためです。 メソッドはシリアライズできないため、プロパ...
322 PV
[Unity][C#] XMLファイルとしてデータを保存する
ゲームで使用しているオブジェクトのデータをファイルに保存する方法のメモ書きです。 ファイルに保存する方法はいろいろありますが、C#に備わっているシリアライズ/デシリアライズの機能を用いると便利です。 .NET FrameworkにてXMLとしてシリアライズ/デシリアライズできるXmlSerializerクラスが用意され...
475 PV
[Unity] WWWリクエストのタイムアウトを実装する
UnityのWWWクラスには元々タイムアウトの機能が実装されていません。 そこで、何とかして簡単にタイムアウト機能を実装して使えないかどうか考えました。 あまり良い方法が思いつきませんでしたが、以下のようにMonoBehabiourを継承したクラスを実装し、GameObjectにアタッチして使えばひとまずは実現できます...
288 PV
[Unity][LeapMotion] 付属のジェスチャーを試してみる
LeapMotionのAPIを用いてあらかじめ用意されているジェスチャーを行ってみたいと思います。 シーンの作成から実際にジェスチャーを検知するまでの手順をメモ書き程度にまとめました。 前提条件 LeapMotionSDKがUnity上で動くことが前提です。 上記を満たしていない場合、こちらにセットアップ手順を記してお...
470 PV