はなちるのマイノート

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

【Unity, iOS】OnnxRuntimeをiOS端末で動作するように修正してみる

はじめに 今回はOnnxRuntimeをiOSで動作させてみようという記事になります。github.com ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator 一応公式でiOSに対応していると記述されていますが、Unityで動作させるのに…

CMakeを初めて使ってみる(実行ファイル、静的ライブラリ、動的ライブラリ)

はじめに 今回はCMakeを初めて触ってみるという記事です。 CMake is a tool to manage building of source code. Originally, CMake was designed as a generator for various dialects of Makefile, today CMake generates modern buildsystems such as Nin…

【Unity】OpenJTalkがWin, Mac, Andriod, iOSで動くようなC#ラッパーを作りたい①

はじめに UnityでOpenJTalkを利用したく、今までOpenJTalkForUnityとSharpOpenJTalkを試してきました。github.comgithub.comどちらも一部プラットフォームのUnityでは動作確認できたのですが、iOS・Androidでは動作は確認できていません。 ライブラリ 公式対…

【Unity】SharpOpenJTalk.Langを用いてテキストから音素ラベルを抽出してみる

はじめに 今回はSharpOpenJTalk.Langというライブラリを利用してテキストから音素ラベルを抽出してみる記事になります。 github.com 前回SharpOpenJTalkの紹介をしましたが、SharpOpenJTalk.Langは音素ラベルの抽出のみを備えたライブラリのようですね。 www…

【Unity】AssetPostprocessorを利用してアセットをインポートした前後に処理を走らせる

はじめに 今回はAssetPosprocessorを利用してアセットをインポートした前後に処理を走らせてみる記事になります。docs.unity3d.com はじめに 使い方 関数一覧 Postprocess Preprocess 応用例 特定のフォルダにファイルが追加・削除されたときに操作を行う Te…

【Unity】IPreprocessBuildWithReport,IPostprocessBuildWithReportを利用してビルド前後に処理を挟む

はじめに 今回はIPreprocessBuildWithReportとIPostprocessBuildWithReportを使ってビルド前後に処理を挟んでみるという記事になります。 はじめに 概要 使い方 概要 公式ドキュメントは以下の通り。docs.unity3d.comdocs.unity3d.com 使い方 public class C…

【Unity, XCode】XCodeでライブラリ(dylib, bundle, a)を作成してUnity(iOS)で利用してみる

はじめに 今回はXCodeでライブラリ(動的リンク, 静的リンク)を作成してUnityで利用してみたいと思います。具体的には動的ライブラリ(共有ライブラリ)の.dylib,動的ライブラリ(バンドル)の.bundle,静的ライブラリの.aの3種類について紹介します。またUnity…

【XCode】'__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributesというエラーの対処法

はじめに XCodeでc++のライブラリを作成しようとしたところ、以下のようなエラーが出てきてしまいました。 '__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes 一応解決できたの…

GitHubのWebhooksを用いてLINEに通知を送ってみる

はじめに GitHubとSlackの連携は定番ですが、GitHubとLINEの連携も可能だと聞き面白そうなのでやってみたいと思います。 動作している様子 はじめに LINE Notifyで設定を行う GitHubで設定を行う LINE Notifyで設定を行う まずはLine Notifyにログインします…

【Unity】LocalizationのLocal Variablesをスクリプトから設定する

はじめに 今回はLocalizationのLocal Variableをスクリプトから設定してみる記事になります。 Local Variables(ローカル変数)を活用している様子LocalizeStringEventコンポーネントから設定する方法はよく紹介されているのですが、あくまでスクリプト上でLoc…

【Unity】エディタ拡張でEnumを複数選択できるEnumMaskFieldは廃止されEnumFlagsFieldに置き換わったぽい

はじめに エディタ拡張でEnumを複数選択する要素を作りたいときはEnumFlagsFieldを使おうねという記事になります。 Enumを複数選択 以前(Unity何からは要調査)はEnumMaskFieldで実装できたのですが、少なくともUnity2017.4の段階ではObsoleteつまり廃止とな…

【Unity】Text Animator for Unityを使って簡単にTextMeshProにアニメーションをつける

はじめに 今回はText Animator for Unityというアセットの紹介になります。 動作している様子ざっくり紹介するとRich Text Tagをつけるとそれに対応したアニメーションをする感じで、設定自体も簡単なのですぐに習得することができると思います。 はじめに …

【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…