DAIKI

ゲーム作ってます https://www.andgear-games.com/

DAIKI

ゲーム作ってます https://www.andgear-games.com/

記事一覧

【Unity】TimeScaleを管理するクラス

メニュー画面で一時停止したり、ボス撃破でスロー演出を流したり、Time.timeScaleを変更するケースは色々あります。ですが、複数のコードからTime.timeScaleを変更すると不…

DAIKI
1か月前
1

【Unity】Game ViewでGizmosが重なる問題と対処法

問題カメラをMain CameraとUI Cameraで分けて実装するとき、Game ViewにGizmosを表示すると、Gizmosが二重に表示されてしまいます。 どうやらGame ViewのOnDrawGizmos()は…

DAIKI
1か月前

【Unity】初めてSteamゲームをリリース!使ったライブラリなどを公開します

Find it! festival in the Hotel という3D探し物ゲームをリリースしました!ミニゲームでサクッと遊べるのでぜひプレイしてみてください。 この記事では実際に開発に使った…

DAIKI
1か月前
10

【Unity】Steamクラウドセーブ対応

Steamクラウドとは、ゲームのセーブデータのファイルをSteamのサーバにアップロード・同期する機能です。フォルダ名にはユーザのIDを含める必要があり、本記事ではそれに対…

DAIKI
1か月前

【Unity】BurstDebugInformation_DoNotShipを自動で削除するエディタ拡張

表題のBurstに限らず、ビルド後に指定したファイル・フォルダを自動で削除するエディタ拡張を作りました。 以下のリポジトリをクローンしたり、UPMからインポートできます…

DAIKI
2か月前
1

【Unity】フォルダをビルドパスにコピーするエディタ拡張

ビルド時に、プロジェクト内の任意のフォルダをビルドパスにコピーするエディタ拡張を作りました。 以下のリポジトリからクローンできます。またはUPMからインポートできま…

DAIKI
2か月前
1

【Unity】Rigidbody.GetAccumulatedForce()の解説と使用例(キャラのジャンプ処理)

解説GetAccumulatedForce()は、前回の物理シミュレート以降にAddForce()で加えた力の合計を返します。この力はまだrigidbody.velocityに反映されておらず、次の物理シミュ…

DAIKI
2か月前
1

【Unity】ScrollbarのNavigationをゲームパッドに対応させる

ゲームパッドを操作したとき、ScrollView(Scrollbar)のデフォルトの挙動は次のようになります。 隣にボタンがない:スクロールする 隣にボタンがある:スクロールせずボ…

DAIKI
2か月前

【Unity】キーボード入力時にボタンを自動で選択する

ボタンの問題点Buttonコンポーネントは、マウスとキーボード(コントローラ)で挙動が異なります。 マウス カーソルをボタンに合わせるとボタンがHighlighted状態になり、…

DAIKI
2か月前
2

【Unity】コントローラ入力の実装で使うべきはInputSystem?SteamInput API?

結論、InputSystemを使うべきだと思います。現状だとSteamInputAPIを利用するとuGUIの操作ができなくなるためです。 ※開発中のゲームにSteamworksを組み込みながらこの記…

DAIKI
3か月前
2

SteamWorksメモ

Steam Works の設定で、調査に時間がかかったり忘れそうなことのメモです。随時更新していきます。 基本的なことは公式のドキュメントを確認してください。 Developer Com…

DAIKI
3か月前

【Unity】プレハブをScene Viewにドラッグ&ドロップするとHierarchyの位置がおかしい

プレハブをScene Viewにドラッグ&ドロップしたとき、生成したオブジェクトのHierarchyの位置が変になります。 どうやら、プレハブを作成した際の並び順(.prefabファイル…

DAIKI
8か月前
1

【Unity】OSフォントをFallbackFontに設定する

2024/2/21 追記 githubリポジトリを作成・PackageManagerに対応しました。 多言語対応をもっと簡単にしたい!全言語のフォントをインポート・設定が面倒。 組み込みOKな…

DAIKI
9か月前

UnityでEOSを使う備忘録

2023/11/10追記 Unity向けのプラグインが用意されているので、こちらを使うと良さそうです。 https://github.com/PlayEveryWare/eos_plugin_for_unity UnityでEpicOnlineS…

DAIKI
3年前
5

Blender モデル作成 操作

1ヵ月後、操作方法を忘れるであろう自分へのメモ。 とりあえずモデルを作ってUnityに入れたい人向けでもある。 目標(参考)謎の箱 Blenderをインストールhttps://www.blen

DAIKI
3年前

Unity Asset Storeに出品した

久しぶりにアセットを出品したので、販売開始までの流れをメモしていきます。ちなみに、アセットを作る時間よりもストアページを作る時間のほうが長かったです。 詳細な出…

DAIKI
3年前
2
【Unity】TimeScaleを管理するクラス

【Unity】TimeScaleを管理するクラス

メニュー画面で一時停止したり、ボス撃破でスロー演出を流したり、Time.timeScaleを変更するケースは色々あります。ですが、複数のコードからTime.timeScaleを変更すると不具合になりやすいです。

不具合の例:
スロー演出中にメニューを開いて閉じると、スロー演出が解除されてしまう。

そこで、TimeScaleの変更を管理するクラスを作成しました。

コード以下から取得できます。リ

もっとみる
【Unity】Game ViewでGizmosが重なる問題と対処法

【Unity】Game ViewでGizmosが重なる問題と対処法

問題カメラをMain CameraとUI Cameraで分けて実装するとき、Game ViewにGizmosを表示すると、Gizmosが二重に表示されてしまいます。

どうやらGame ViewのOnDrawGizmos()はカメラのcullingMaskに関係なく実行されるようです。

対処法自作のコンポーネントは以下のようにすると良いです。

private void OnDrawGizmos

もっとみる
【Unity】初めてSteamゲームをリリース!使ったライブラリなどを公開します

【Unity】初めてSteamゲームをリリース!使ったライブラリなどを公開します

Find it! festival in the Hotel という3D探し物ゲームをリリースしました!ミニゲームでサクッと遊べるのでぜひプレイしてみてください。
この記事では実際に開発に使ったライブラリを紹介します。自作の公開ライブラリもあります。

基本Action Game Core

汎用的なアクションゲーム向けの自作ライブラリです。別のゲーム開発のために頻繁に更新しているので、落ち着いた

もっとみる

【Unity】Steamクラウドセーブ対応

Steamクラウドとは、ゲームのセーブデータのファイルをSteamのサーバにアップロード・同期する機能です。フォルダ名にはユーザのIDを含める必要があり、本記事ではそれに対応したコードを紹介します。

フォルダ名について上記の通り、ユーザが複数アカウントを切り替えてプレイした場合は、それぞれのアカウントごとにフォルダを生成する必要があります。

いい感じに保存先のパスを生成するコード以下がそのコー

もっとみる

【Unity】BurstDebugInformation_DoNotShipを自動で削除するエディタ拡張

表題のBurstに限らず、ビルド後に指定したファイル・フォルダを自動で削除するエディタ拡張を作りました。
以下のリポジトリをクローンしたり、UPMからインポートできます。

BurstDebugInformation_DoNotShipとは?Burstコンパイル後にビルドパスに生成される、デバッグ用のフォルダです。DoNotShipと書いてある通り、ゲームと一緒に配布しないほうが良いようです。

もっとみる

【Unity】フォルダをビルドパスにコピーするエディタ拡張

ビルド時に、プロジェクト内の任意のフォルダをビルドパスにコピーするエディタ拡張を作りました。
以下のリポジトリからクローンできます。またはUPMからインポートできます。

使いどころライセンス表記の.txtファイルをビルドパスに設置したいと思ったので作りました。
Licensesフォルダはgitの管理下に置きたいが、ビルドパスはgitは無視したい・・・という状況です。

コピーするファイル形式は問

もっとみる

【Unity】Rigidbody.GetAccumulatedForce()の解説と使用例(キャラのジャンプ処理)


解説GetAccumulatedForce()は、前回の物理シミュレート以降にAddForce()で加えた力の合計を返します。この力はまだrigidbody.velocityに反映されておらず、次の物理シミュレートで反映されます。
m (質量) × a (加速度) = F (加えた力) なので、次のrigidbody.velocityは以下のようになるでしょう。

次のrigidbody.vel

もっとみる

【Unity】ScrollbarのNavigationをゲームパッドに対応させる

ゲームパッドを操作したとき、ScrollView(Scrollbar)のデフォルトの挙動は次のようになります。

隣にボタンがない:スクロールする

隣にボタンがある:スクロールせずボタンを選択する

後者を、次のように変更したいです。

隣にボタンがある:スクロールする。端に到達したなら隣のボタンを選択する

利用規約を下までスクロールするとOKボタンが選択される、というようなイメージです。

もっとみる
【Unity】キーボード入力時にボタンを自動で選択する

【Unity】キーボード入力時にボタンを自動で選択する

ボタンの問題点Buttonコンポーネントは、マウスとキーボード(コントローラ)で挙動が異なります。

マウス
カーソルをボタンに合わせるとボタンがHighlighted状態になり、クリックするとPressed状態になり、その後はSelected状態になる。

キーボード・コントローラ
デフォルトでは何もできない。Selected状態のボタンがある場合、方向キーを押すと隣のボタンがSelected状

もっとみる

【Unity】コントローラ入力の実装で使うべきはInputSystem?SteamInput API?

結論、InputSystemを使うべきだと思います。現状だとSteamInputAPIを利用するとuGUIの操作ができなくなるためです。

※開発中のゲームにSteamworksを組み込みながらこの記事を書いています。

InputSystemだけで実装するとどうなるのかInputSystemでActionなどを適切に設定すると、InputSystemがあらゆるコントローラの入力を受け付けてくれま

もっとみる

SteamWorksメモ

Steam Works の設定で、調査に時間がかかったり忘れそうなことのメモです。随時更新していきます。
基本的なことは公式のドキュメントを確認してください。

Developer Comp パッケージ開発者自身がゲームをテストするためのパッケージ。新しくアプリを作成すると、開発者のライブラリに自動で追加されます。
Developer Comp パッケージに紐づくデポにビルドを設定すると、開発者は

もっとみる
【Unity】プレハブをScene Viewにドラッグ&ドロップするとHierarchyの位置がおかしい

【Unity】プレハブをScene Viewにドラッグ&ドロップするとHierarchyの位置がおかしい

プレハブをScene Viewにドラッグ&ドロップしたとき、生成したオブジェクトのHierarchyの位置が変になります。

どうやら、プレハブを作成した際の並び順(.prefabファイルのm_RootOrder)を再現しているようです。

個人的にはCameraやLightなどの基本オブジェクトを一番上に集めておきたいので、毎回Hierarchyを整理しています。
とても面倒くさい!

というこ

もっとみる

【Unity】OSフォントをFallbackFontに設定する

2024/2/21 追記
githubリポジトリを作成・PackageManagerに対応しました。

多言語対応をもっと簡単にしたい!全言語のフォントをインポート・設定が面倒。

組み込みOKなフォントを探すのが面倒。

ユーザのPC内にあるSystem font(OS font)を利用したい。

Charactor Setの設定が面倒。

Dinamic Fontに頼りたい。

ローカライズは

もっとみる

UnityでEOSを使う備忘録

2023/11/10追記
Unity向けのプラグインが用意されているので、こちらを使うと良さそうです。
https://github.com/PlayEveryWare/eos_plugin_for_unity

UnityでEpicOnlineServicesを導入した時の備忘録です。
P2Pを利用するまでにつまづいた点など。
手順書というよりは、困った誰かの検索に引っかかれば良いなという感じで

もっとみる

Blender モデル作成 操作

1ヵ月後、操作方法を忘れるであろう自分へのメモ。
とりあえずモデルを作ってUnityに入れたい人向けでもある。

目標(参考)謎の箱

Blenderをインストールhttps://www.blender.org
執筆時点では2.92.0

Blenderを日本語化Edit > Preferences(ウィンドウが開く),  Interface > Language
日本語を選択。
すぐ下にあるNe

もっとみる
Unity Asset Storeに出品した

Unity Asset Storeに出品した

久しぶりにアセットを出品したので、販売開始までの流れをメモしていきます。ちなみに、アセットを作る時間よりもストアページを作る時間のほうが長かったです。

詳細な出品の手順は公式ページをご確認ください。

アセットを作る2画面で作業中に「こっちの画面にも再生ボタンが欲しい!」と思ったのが始まりで、コード自体は2~3時間で完成しました。

商品ページのDraftを作成AssetStoreのパブリッシャ

もっとみる