c#

Unity

[Unity]Steamの実績(Achievement)の実装

やりたいことSteamの実績(Achievement)の実装します。前提SteamWorksで作成しているアプリのAppIDを取得するところ(アプリの設定ページが表示されている、ストアページが公開されている必要はないです)まで終わっていることを前提にしています。作業Steamworks.NETのインストール以下のページからSteamworks.NETをダウンロードします。この記事を書いた時点ではRelease 2025.162.1が最新でした。ダウンロードするのはAssetsの中の.unitypackageです。UnityEditorのメニューからAssets → ”Import Packag...
Unity

[Unity]UIがクリックされたことを検知

やりたいことUnityでUI(正確に言うとRectTransformのcomonentを持つGameObject)がクリックされたことを検知します。通常はButtonを継承すればいいのですが、そうもいかないとき(下にイベントをスルーしないといけないときなど)は自力でクリックされたことを検知する必要があります。実装以下の関数を使用します。bool RectangleContainsScreenPoint (RectTransform rect, Vector2 screenPoint, Camera cam);screenPointがrectの内側かどうかを検証します。内側の場合はtrueを返し...
Unity

【Unity6】ボタンをInspecterで設定せずに使用する

やりたいこと以下の記事ではボタンをInspecterからセットして使用しています。しかしコールバックを設定した後にボタンはクラス内で使用しないためメンバーで持つ必要もなく、またコードを書くことになれた人間から見るとわざわざGUIでボタンを設定するのも手間です。(コードを見てもセットされたボタンがどれなのかもわかりにくい)そこでコード上からボタン(Button)を取得する方法を紹介します。以前のコード上の記事では以下のコードを書きました。m_ButtonをInspecterで設定しています。using System.Collections;using System.Collections.Gen...
Unity

【Unity6】FPSっぽい挙動の作成覚書

やりたいことUnityでマウスで操作するFPSっぽい挙動を作成します。作成方法というか注意点などを挙げていきます。また作成中なので間違いがあるかもしれませんので参考程度に見てください。仕様:マウスの左右移動 → 視点移動左クリック → 前進壁にぶつかったら止まる環境Unity:6000.0.23f1.7976.6000.0/Staging4246実装Playerとカメラの用意Playerの作成Hierarchyの+からPlayerとなる3Dオブジェクトを作成します。FPSで見えないのでなんでもいいのですがCubeにしました。今後の当たり判定などを考えるとCubeが無難だと思います。Camera...
Unity

【Unity6】ボタンを押されたときの処理の追加

やりたいことUnityでボタンを押されたときに指定の処理を行うようにします。検索すると日本語の記事も結構出てくる(おそらくUnity20XX)のですが、私のやり方が悪いのか、Unity6では動作しないのかうまくいきませんでした。Unity6の環境で動作したやり方を紹介します。実装コードの登録Hierarchyの+からCreate Emptyを選択し、空のGameObjectを作成します。Hierarchyビューから作成した空のゲームオブジェクトを選択しInspectorを表示します。Inspectorビュー下部のAddComponentを選択後New Scriptを選択し任意の名前を付けます。...