はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

Unity

【Unity】AssetStudioでUnity製のゲーム・AssetBundleの中身を覗き見・エクスポートする(悪用はしないように)

はじめに 今回はAssetStudioというツールを利用して、AssetBundleを抽出&解析してみるという記事になります。github.com AssetBundleの中身を解析している様子あんまり深く掘っていくとグレーな予感がしてきますが、逆に開発者にとってもこういった危険性が…

【Unity】OpenJTalkのC#ラッパーであるSharpOpenJTalkを利用して音声合成を行う

はじめに 前回OpenJTalkForUnityというUnityで簡単にOpenJTalkを利用できるようにしたパッケージを紹介しました。 www.hanachiru-blog.comただこのパッケージはWindowsでしか動作しないという欠点があり、どうしてもクロスプラットフォームで動作させたかっ…

【Unity】今更ながらAssetBundleの基礎的な使い方を学んでみる

はじめに 以前Addressable Asset Systemについての基本操作の記事を書いたのですが、Asset Bundleの知識もマトモに得ずにけしからんと怒られてしまうかもしれないのでAsset Bundleの基礎を学んでいこうかなと思います。(Addressableは内部的にAssetBundleを…

【Unity】LocalizationのString TableをCSVファイルにインポート・エクスポートする方法

はじめに 今回はLocalizationのString TableをCSVファイルにインポート・エクスポートする方法について書きたいと思います。 docs.unity3d.comまたLocalizationの基本的な使い方についての記事は前に書いたのでよければチェックしてみてください。 www.hanac…

【Unity】TextMeshProUGUIで描画したテキストに座布団(テキストの後ろの背景)をつけてみる

はじめに 今回はTextMeshProUGUIで描画したテキストに座布団(テキストの後ろの背景)をつけてみるという記事になります。 テキストの座布団TextMeshProならUnityEngine.Boundsを利用することで割と簡単に実現できるのですが、TextMeshProUGUIではその手法が上…

【Unity】UnityEngine.Boundsについて簡単に調べてみた

はじめに UnityEngine.Boundsについて調べる必要があったので、そこで分かったことをメモがわりに残しておきたいと思います。docs.unity3d.com はじめに Boundsの変数・コンストラクタ・メソッド Boundsの持つ変数について Boundsを可視化する TextMeshPro.b…

【Unity】OpenJTalkでテキストの音声読み上げをさせる(Windows)

はじめに 今回はOpenJTalkを利用してテキストの音声読み上げをしてみるという記事になります。といってもオリジナルのOpenJTalkを使えるようにするのではなく、OpenJTalkForUnityという簡単にUnityで利用できるようにしてくれたものが存在したのでそちらを利…

【Unity】ML.NETを利用をしてUnityで機械学習を行ってみる

はじめに 今回はML.NETというマイクロソフトが作成している機械学習ライブラリをUnityで利用してみようという記事になります。 ML.NET を使用すると、オンラインまたはオフラインのどちらのシナリオでも、.NET アプリケーションに機械学習を追加できます。 …

【C#, Unity】自作Attributeの作り方とその応用例(PropertyAttribute)

はじめに 今回は自作Attributeの作り方とそれを利用した応用例のサンプルを紹介したいと思います。docs.microsoft.com 自作AttributeをUnityで利用した例 はじめに 作り方 コンストラクターとパブリックな読み取り/書き込みフィールドまたはプロパティ Syste…

【Unity】Google Cloud TextToSpeech V1(v2.5.0)を利用して音声合成によりテキストを読み上げる(Windows)

はじめに 今回はGoogle Cloud TextToSpeechを利用してテキストを読み上げてみる記事になります。 cloud.google.com公式ドキュメントを見てみるとC#やGo、Java等のクライアントライブラリが提供されているそうなので、C#のライブラリをありがたく利用させても…

【Unity】Project Settings・PreferencesにSettingsProviderを用いて独自項目を追加する(IMGUI,UIToolkit(UIElements)それぞれのやり方紹介)

はじめに 今回はSettingsProviderを用いて、Project SettingsやPreferencesに独自の項目を追加してみようという記事になります。docs.unity3d.com Project Settingsに独自項目を追加した様子Preferencesに独自項目を追加した様子UI Toolkitを利用した様子一…

【Unity】URPでレンズフレア(Lens Flare)を実装する(Unity2021.2以降利用可)

はじめに 公式の動画を見ていたところURPで利用可能なレンズフレアの紹介をされていて、面白そうだったので試してみました。www.youtube.com公式ドキュメントにはURP 12 (Unity 2021.2)のNew featureとして紹介されていますね。 docs.unity3d.com厳密にはUni…

【Unity】RectTransformのCorners(四隅)のスクリーン座標を取得する(RenderModeにより変化)

はじめに RectTransformのCorners(角)の座標のスクリーン座標を取得しようと思ったところ少し手間取ったので書き残しておきたいと思います。私が調べた限りCanvasのRenderModeによって動作が異なるようなので、それぞれについて書きます。また原因が異なる可…

【Unity】はじめてニューラルネットワーク推論ライブラリ「Barracuda」を触ってみる(MNIST)

はじめに 今回はUnity公式のニューラルネットワーク推論ライブラリであるBarracudaを触ってみるという記事になります。docs.unity3d.comただ最初に言っておくと機械学習について私は生まれたばかりの赤子並みの知識しかないので、間違ったことも多く含んでい…

【Unity】サーバーにアセットバンドルを配置し、Addressable Asset Systemでロードしてみる

はじめに 前回Addressable Asset Systemの基本操作についての記事を書いたのですが、今回はサーバー上(ロリポップ)にbundleを配置し、それをダウンロード&利用してみたいと思います。www.hanachiru-blog.comdocs.unity.cn はじめに 環境 新規グループ作成 Ad…

【Unity】ローカルで利用するAddressable Asset Systemの基本的な使い方

はじめに 今回はAddressable Asset Systemの基礎的な使い方を知る目的のため、ローカルにAddressable Assetsからアセットバンドルをビルドして利用してみたいと思います。docs.unity.cn はじめに 概要 環境 インストール Addressable Assetとしてマークをす…

【Unity】OpenUPMを利用してアセットをインストールする方法

はじめに 今回はOpenUPMを経由してアセットのインストールを行ってみようという記事になります。 OpenUPM is a service for hosting and building open-source UPM (Unity Package Manager) packages. OpenUPM provides a managed UPM registry and automati…

【Unity】多言語対応を簡単に行える公式パッケージ「Localization」の基本的な使い方

はじめに 今回は多言語対応を簡単に行える公式パッケージLocalizationパッケージについて書いていきたいと思います。docs.unity3d.com はじめに 概要 環境 インストール方法 Unity2021.2以上 Unity2021.2未満 Localizationの初期設定 Localization Settings…

【Unity】Final IKの「Grounder」を用いて足が地面に接地するようにする

はじめに 今回はFinal IKというアセットのFBBIK Grounderを用いて、キャラクターの足の位置を地面に合わせてみたいと思います。www.youtube.com はじめに できるもの 概要 利用アセット やり方 Full Body Biped IKコンポーネントをアタッチ パラメーターの詳…

【Unity】任意のプラットフォームでコンソール・簡易プロファイラー利用・パラメータ調整ができる「SRDebugger」の利用方法

はじめに 今回はSRDebuggerというビルドできる任意のプラットフォームにてコンソールと簡易プロファイラー、パラメータ調整ができるアセットを紹介したいと思います。 利用している様子一応iOSやAndroidなどの他のデバイス上で動作しているものを、Unityエデ…

【Unity,iOS】XCodeでビルドする際に「'GoogleMobileAds/GoogleMobileAds.h' file not found」というエラーが出た時の対処法

はじめに XCodeでビルドした際に以下のようなエラーが出てきました。 xxxxxxx/Libraries/Plugins/iOS/GADURewardedInterstitialAd.h:5:9: 'GoogleMobileAds/GoogleMobileAds.h' file not found はじめに 対処法 参考 対処法 以下のダウンロードページからgoo…

【Unity】PackageManagerで「[Package Manager Window] Error searching for packages offline.」と表示されたときの対処法

はじめに PackageManagerを利用しようとしたところ以下のようなエラーが表示されてしまいました。 [Package Manager Window] Error searching for packages offline. UnityEditor.EditorApplication:Internal_CallUpdateFunctions () (at /Users/bokken/buil…

【Unity】Unity IAPのCodeless IAPを用いて非消費型(買い切り型)のアプリ内課金を実装する(iOS・Android)

はじめに 今回はUnity IAPのCodelessIAPという機能を用いて、簡単に非消費型(買い切り型)のアプリ内課金を実装してみるという記事になります。docs.unity3d.com先に言っておくと、Unityでの実装はすごく簡単ですが割とストア関連・テスト関連で躓くことの…

【Unity】GooglePlayConsoleにて「このリリースは Google Play の 64 ビット要件に準拠していません。」というエラーが出たときの対処法

はじめに GooglePlayConsoleにアプリをアップロードしたところ、以下のようなエラーが出てしましました。 このリリースは Google Play の 64 ビット要件に準拠していません。 以下の APK または App Bundle は 64 ビットのデバイスで利用できますが、32 ビッ…

【Unity】Project Tiny Preview 0.32のチュートリアルをやってみる

はじめに 少し前に話題になったProject Tinyですが、最近は全く聞かなくなってしまったような気がします。調べたところJanuary 22, 2021にProject Tiny Full Preview 0.32が公開され、それ以降はバージョンアップはされていないようです。 Unity - Project T…

【Unity】xception: C++ code builder is unable to build C++ code. In order to build C++ code for Windows Desktop, you must have one of these installed:というエラーの対処法

はじめに UnityでWindows Build(IL2CPP)しようとしたところ、以下のようなエラーが出てしまいました。 Exception: C++ code builder is unable to build C++ code. In order to build C++ code for Windows Desktop, you must have one of these installed: …

【Unity】TextMeshProのFontAsset作成手順(ビットマップフォントにFallbackでダイナミックフォントを利用)

はじめに 今回はビットマップフォントとダイナミックフォントの両方を活用したFontAssetの作り方を紹介したいと思います。 ビットマップフォントとダイナミックフォントそもそもビットマップフォントとダイナミックフォントってなんやねんという方はこちらの…

【Unity】IJobParallelForTransformを初めて使ってみる

はじめに 今回はTransformに対して動作するようなParallelFor jobについて取り上げたいと思います。 今回実装するものまた用語の整理をさせていただくとこんな感じ。 ・ParallelForTransformジョブはIJobParallelForTransformインターフェースを実装するジョ…

【Unity】UniRxのIObservable<T>.Debugメソッドの利用方法と仕組みの考察(デバッグ・テストに便利)

はじめに 今回はUniRxのテスト・デバッグに使えるIObservable<T>.Debugを紹介したいと思います。 動作例github.com はじめに 概要 利用サンプル 仕組み 概要 IObservable<T>.Debugオペレーターを挟むことで、以下のタイミングでログを出力することができます。 pub</t></t>…

【Unity】依存するアセットを一覧で表示してくれるEditorUtility.CollectDependencies

はじめに 今回はEditorUtility.CollectDependenciesという依存する全てのアセットを取得できる便利メソッドを紹介したいと思います。docs.unity3d.com 動作している様子 はじめに EditorUtility.CollectDependencies 活用例 公式サンプル ヒエラルキー上のゲ…