FMOD Studioをインストール FMOD for Unityのインポートとセットアップ FMOD Studioのセットアップ Unityで鳴らす 英語が読めるなら公式ドキュメントがめちゃくちゃ丁寧だからそっちを見た方が早い。 https://www.fmod.com/docs/2.01/studio/welcome-to-fmod…
問題 UnityのAndroidビルドをインストールしようとしたところ、 You can't install the app on your device. や お使いの端末に対応していません といった表示がでてインストールできなかった。 一部端末ではインストールできるため、余計に謎だった。 原因 …
問題 Unity Build Automationにて特に何もしていないのに、いつも使っているiOSのビルドターゲットがDisabledとなり、ビルドできない状態になった。 原因と対処法 原因はビルドに使っていたXcode versionが古くなって使えなくなっていたことだった。 Xcode v…
UnityのParticle用シェーダーを作成する際、Particle Systemで設定した値(SizeやVelocityなど)を使いたいことがあります。 この際、以下の方法で各種情報にアクセスできます。 Particle SystemのRender > Custom Vertex Streams にチェックを入れる Custom…
ある日突然、通常の文字が太字(ボールド体)になるバグが発生した。 こんな感じで日本語部分だけが太くなっている。 特定のアプリに限らず、複数のアプリでフォントがおかしくなっているようだった。 気付いたものだけでも、Discord、Notion、Chromeなどが…
CRIをUnityで利用するにあたり、独自のサウンドデータを用意したい方向けのCRI Atom Craft入門記事です。 CRIをUnityに導入するのは別記事があるので、そちらをご覧ください。 ※どちらから始めても特に問題ないです。 hansel-bread.com CRI Atom Craft CRI A…
基本的にはこちらのチュートリアルに沿って進めます。 game.criware.jp CRIについて CRIの料金や権利表記周りについてまとめた記事があるので、気になる方は合わせてご覧ください。 tmls.hatenablog.com 導入手順 https://game.criware.jp/products/adx2-le/…
CRIWAREの利用料金や権利表記周りの確認をしたい方向けのまとめ記事です。 少し複雑なので最終的には問い合わせ等で確認するのが良いかと思います。 目安としてご活用ください。 なお今回はUnityを使う想定で進めますが、その他のエンジン等でも大きく変わる…
ステートマシンの実装は色々ありますが、asyncを用いたシンプルなものを紹介します。 と言いつつも実際はasyncを使う必要もなくて、単純にステート遷移時に実行する関数をasyncにしてるだけです。 ただ、世に出回っているステートマシンがOnEnter,OnUpdate,O…
こんな感じで各クラスに含まれるenumの値を参照してヘッダーとして表示してくれる。 (通常はElement 0などで表示される部分) Attribute using UnityEngine; public class EnumListAttribute : PropertyAttribute { public string EnumPropertyName = null;…
Unity NuGetとOpenUPMをPackageManagerのScoped Registryに登録する Unity NuGetからR3を入れる OpenUPMからR3を入れる 両方入れないとダメらしい。 参考 R3をUnityNuGetとOpenUPMで楽々インストール
問題 Unityエディタでは正常に描画されているのに、iOSビルド(未確認だが多分PCやAndroidも)ピンク(エラー状態)になる問題が発生した。 原因と対処法 下記のようにTagsのRenderPipelineにUniversalRenderPipelineを指定していたのが原因だった。 Tags { "Ren…
問題 MacでiOS向けにビルドした際に下記のようなエラーが発生した。 Library/Bee/artifacts/iOS/AsyncPluginsFromLinker: xcrun: error: SDK "iphoneos" cannot be located 原因 ターミナル等でXCodeのコマンドラインツールのパスを確認するとこうなっていた…
XZ平面上のマウスのクリック位置判定でRayを飛ばすほどでもないなーという時の計算方法 var mousePos = Input.mousePosition; var camera = Camera.main; // 視錐台上の一点を求める mousePos.z = 1; var cameraPlaneMousePos = camera.ScreenToWorldPoint(m…
VFXを初めて触る方向けのチュートリアル的なものです。 プロジェクト作成~VFX導入 Unity Hubを起動し、右上のNew Projectを選択 以下のように入力してCreateProjectを選択 Editor Version: 今回使いたいUnityのバージョン 3D (URP) Project name: 好きな名…
Unityではシーンをまたぐときに全てのゲームオブジェクトが破棄されます。 そのため前シーンのデータを利用するには、データを受け渡す必要があります。 シーン間でデータを受け渡す方法 シーン間のデータの受け渡しはいくつか方法があります。 DontDestroyO…
staticクラスを用いてシーン間でデータを受け渡す方法について紹介します。 今回は、SceneAからSceneBに遷移することを考えます。 まずは受け渡したいデータを含むstaticクラスを作成しましょう。 CommonData.cs public static class CommonData { public st…
Addressableとは? Addressable(アドレサブル)とは、一言でいうと「色んなアセットにアドレスをつけて管理できる機能」のことです。 ではなぜアドレスをつけると便利になるかというと、以下のようなメリットがあるためです。 アドレスを指定することで、ス…
GoFのデザインパターン23種類をC#で書いたまとめ記事です。 本記事はGang of Fourの「オブジェクト指向における再利用のためのデザインパターン」で紹介されている23種類のデザインパターンを参考に、最小構成のC#サンプルコードを列挙しています。 どのデザ…
Unityの新InputSystemを試していたところ、ゲームパッドが反応しませんでした。 色々確認したところ、導入していたSteamworks SDKのSteamManagerを非アクティブにすると正常に動作することが分かりました。 じゃあ、SteamManagerを使えないのかというとそう…
herokuでGoogle APIを認証するのは意外と骨が折れる。 それを簡単にしてくれるのが、こちらのビルドパックだ。 github.com 使い方 herokuにログインし、対象のアプリを選択する。 Settingsタブ内の、BuildpacksのAdd buildpackボタンをクリック。 表示された…
pipenv installをしたら、下記のエラーが発生した。 pkg_resources.VersionConflict: (importlib-metadata 4.11.3 (/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages), Requirement.parse('importlib-metadata<2,>=0.12; python_version < "3.…
下記を実行する。 $pip install ffmpeg-python
概要 VcXsrvというのを使ってWSLからGUIを起動するための設定を行っていた。 これは、matplotlibやPySimpleGUIなどを使う時に便利だ。 しかし、どれだけやってもError: Can't open display:と表示されてしまった。 結局、導入していたシェルfishの設定が問題…
Steamworksとは Steamにリリースをする際に利用するデベロッパーツールの名称。 基本的には、https://partner.steamgames.com のこと。 Steamworks SDKとは Steamworksにビルドをアップロードするなど、ウェブで完結できないことをやる為のツール。ダウンロ…
多言語対応の問題点 UnityではTextMeshProなどを用いて文字を表示できます。 しかし多言語に対応する場合、例えば↓のようなスクリプトを書かなくてはいけません。 var lang = Application.systemLanguage; if (lang == SystemLanguage.Japanese) { text.text…
問題 vim-lsp-settingsをLSP環境で使用し,:LspInstallServerを実行してもPlease do :LspInstallServer to enable Language Serverが表示される. 解決方法 .vimrcに下記を記述する. let g:lsp_settings_extra_paths=['/mnt/c/Users/[ユーザー名]'] 解説 WS…
sudo apt updateを実行した際、Failed to Fetchエラーが発生した。 下記のように、aptのパッケージリストを削除すれば直るという記事もあるが私はダメだった。 qiita.com ダウンロードサーバーの変更 sudo apt updateで参照するサーバーを変更することで解決…
Unityのコード編集 Unityのコード編集ツール候補には次のような選択肢がある. Visual Studio Visual Studio Code Rider Vim Emacs IDE 単にコードを書く支援だけじゃなく,デバッグ機能や便利ツール全盛り!というIDE(統合開発環境)がある. これは,すご…
UnityはWindowsで動かしたいけど、Vimが使いたいので、WSLでVimを使うことにした。 WSLのインストール WSL2を使っても良かったが、追加のコンポーネントが必要とのことで、ひとまずWSL1で利用することにした。 WSL2でも問題ない。 https://qiita.com/mataril…