Cooooding!!

Unity(C#)を使ったゲーム開発関連Tipsなど

2019-06-01から1ヶ月間の記事一覧

4つの頂点座標からRectを求める【C#】

概要 与えられた複数の頂点(Vector2)が矩形(Rect)になるかどうかを判定して処理を分岐させたかったので、与えられた頂点からRectを求める関数を実装してみました。 実装 Rectを求める関数の実装: using System.Collections.Generic; using UnityEngine; publ…

Tilemapの情報をスクリプトから取得する【Unity】

概要 Tilemapの情報をスクリプトで取得して処理したかったので取得方法を調べてみました。 取得方法 タイルがどこに存在するかを取得する タイルが存在する範囲はTilemap.cellBoundsで知ることができます。この範囲のセルに対してTilemap.HasTileを使うこと…

2Dの地形に3DのColliderを付けてみる【Unity】

概要 少し前の記事で地形は2Dで3Dモデルに2DのColliderを付ける検証をしました。今回は逆に地形の方に3DのColliderを付ける検証をしてみました。3DモデルはRigidbodyのZ方向の移動とXY方向の回転を禁止(Freeze)してRigidbody2Dのような動きしかしないように…

FreezeをOnにしたRigidbodyを積み上げると勝手に動くことがある問題を解決する【Unity】

概要 Rigidbodyの動きを制限して2Dゲームのような動きをさせようと検証していたらRigidbodyが不自然な動きをすることがあったので調査してみました。 問題の再現方法 新規3Dプロジェクトを作る Terrainを作る カメラとの位置関係を調整するために座標を(-250…

3Dモデルに2DのColliderを付けてみる【Unity】

概要 地形は2Dでキャラクターは3Dモデルを使う2Dゲームを考えているのですが、2DのColliderと3DのColliderは衝突しないので3Dモデルに2DのColliderを付ける検証をしてみました。 検証 1.シンプルな形状 まずはCubeやCylinderなどのシンプルな形状のモデルにC…

ProCamera2Dのカメラが別のシーンに移動してしまう問題を解決する【Unity】

概要 ProCamera2Dのカメラを配置したシーンをAdditiveでロードすると何故かカメラが遷移前のシーンに移動してしまうことがありました。これはProCamera2Dの振動機能(ProCamera2DShake)などを使ったときにカメラの親GameObject (ProCamera2DShakeContainer)…

ActiveではないシーンにGameObjectを生成する【Unity】

概要 マルチシーン機能を使ってシーンをAdditiveでロードしたときに、遷移先のシーンではなく遷移前のシーンにGameObjectが生成されてしまうことがありました。これは遷移中はまだ遷移前のシーンがActiveであることが原因のようでした。そこでActiveではない…

シングルトンを継承する【C#】

C#

概要 汎用的なクラスをシングルトンとして実装して使おうと考えましたが、状況によっては機能を追加したくなりそうだったためシングルトンの継承をすることを考えてみました。 シングルトンの継承を活用するパターン シングルトンの継承を活用するパターンは…