はなちるのマイノート

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

2022-01-01から1年間の記事一覧

Steamでストアプレゼンスの"近日登場として投稿..."ボタンが押せないバグの原因は「Standard Packages」らしい

はじめに Steamのストアページを公開する際に以下のステップを踏みます。 準備: ストアページを近日登場として掲載するには、まず新しいアプリケーションを作成し、リリースのチェックリストにある項目を完了し、Valveによるページのレビューと承認を受ける…

【Unity】ScriptableObjectをテキスト形式ではなくバイナリ形式で保存する(PreferBinarySerialization)

はじめに 今回はPreferBinarySerializationという属性(Attribute)について紹介したいと思います。docs.unity3d.com はじめに PreferBinarySerializationとは? メリット デメリット 補足 PreferBinarySerializationとは? PreferBinarySerializationをScript…

【GitHub Actions】GitHub Actions初心者が公式ドキュメントを見ながら理解を深めていったメモ①

はじめに 今までGitHub Actionをまともに使ったことがなかった私ですが、そろそろ学んでいこうと思い公式ドキュメントを見ながら勉強し出しました。https://docs.github.com/ja/actions/quickstartdocs.github.comそこで学んだことをメモしておきます。 はじ…

【Unity】Physics.autoSimulationを用いて物理演算のシミュレートのオン・オフを切り替える

はじめに 今回はPhysics.autoSimulationを利用して物理演算のシミュレートのオン・オフを切り替えるという記事になります。 Physics.autoSimulationの動作 はじめに Physics.autoSimulationとは? もっと詳しく 手動で物理演算をシミュレートする Physics.au…

【Unity】stackallocを用いる事でGC.Allocを発生せずに配列を確保する

はじめに 今回はUnityでのstackallocの使用を想定して、簡単な説明記事を書きたいと思います。 はじめに メモリ領域について stackallocとは stackallocの利用 stackalloc利用の注意点 Spanの注意点 おまけ メモリ領域について Unityでは以下の大きく分けて3…

【Unity】Burst Direct CallでXor Shiftを活用したノイズを作ろうとしたら失敗した話

はじめに 今回はBurst Direct Callを触って、簡単な計測をしてみたという記事になります。www.youtube.com公式のYoutube動画でBurst Direct Callの紹介動画があったので、自分でも触ってみようかなと思った次第です。結果としてあんまり良い結果が得られなか…

【C#】Span<T>とString.Substringでどれくらい速度差が出てくるのか調べてみる

C#

はじめに 今回はSpan<T>とString.Substringでどれくらい速度差が出てくるのか調べてみる記事になります。 https://docs.microsoft.com/ja-jp/dotnet/api/system.span-1?view=net-6.0 String.Substring メソッド (System) | Microsoft Docs一応公式ドキュメント</t>…

【Unity】「AudioMixerのVolume(dB, -80~0)←→SliderのValue(0~1のfloat)」の相互変換コード

はじめに AudioMixerのVolumeをスライダーを用いて変更したいと思った際、Volumeは-80~0の範囲でSliderは0~1の値と少し厄介でした。 AudioMixerdocs.unity3d.comそれらの変換方法について紹介をしたいと思います。 はじめに 変換方法 変換方法 volumeをスラ…

【Unity】AudioClipからWAVEファイルを生成する

はじめに 前回WAVEファイルからAudioClipを動的に生成する記事を書きました。www.hanachiru-blog.com今回はその逆でAudioCliipからWAVEファイルを作ってみたいと思います。 はじめに WAVEファイルの形式 AudioClipとの対応 コード WAVEファイルの形式 前述の…

【Unity】UTFで「UNITY_INCLUDE_TESTS」があると通常のビルドにはテストコードが含まれないようになっているらしい

はじめに Unity Test Framework(UTF)のPlayModeを利用していた際、実機ビルドしたときにコードが含まれちゃうんじゃないかと不安になってしまいました。 docs.unity3d.com 対応プラットフォーム結果的に含まないっぽいですが、一応実験をしてみました。 はじ…

【Unity】Unity2022を起動したときに「To run this application, you must install missing frameworks for .NET.」というエラーが出てきた時の対処法

はじめに Unity2022をインストールして起動しようとしたところ、以下のようなエラーが出てきました。 To run this application, you must install missing frameworks for .NET.Would you like to download it now? エラー対処法をメモしておきます。 対処法…

【Unity】「InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.」というエラーの対処法

はじめに 以下のようなエラーが出てきたので、対処法をメモしておきます。 InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player …

【Unity】Unity公式のNewtonsoft JsonとNuGetからのdllを共存させる

はじめに Unity2020よりPackageManagerからNewotonsoft.jsonがインポートできるようになりました。 Unity2020でNewtonsoft.Jsonを入れる - Qiita Unity公式のNewtonsoft.jsonそれ以前ではdllを入れていたwww.nuget.orgただUnity公式のものとNuGetから取って…

【Unity】WAVファイルからAudioClipを動的に生成する(WAVEのファイル構造解析)

はじめに 今回はWavファイルからAudioClipを生成する方法について書きたいと思います。https://docs.unity3d.com/ja/2018.4/ScriptReference/AudioClip.Create.html https://docs.unity3d.com/ja/2018.4/ScriptReference/AudioClip.SetData.html はじめに 利…

【Unity】Unity2020.3.32f1でEnumerable.ReverseよりもArray.Reverseがめちゃ遅いんだが??

はじめに Unityを触っていて、なんだかArray.Reverseが遅く、Enumerable.Reverseにしてみたら速くなったという不思議な現象に出会いました。 https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.reverse?view=net-6.0 https://docs.micros…

【Unity】Unity公式のObjectPoolを使ってみる(内部実装も一部紹介)

はじめに 今回はObjectPoolについて紹介していきたいと思います。 The object pool pattern is a software creational design pattern that uses a set of initialized objects kept ready to use – a "pool" – rather than allocating and destroying them …

【C#】リトルエンディアンとビッグエンディアンの変換を行う

C#

はじめに 今回はエンディアンの変換についてお話したいと思います。 エンディアン(英: endianness)は、複数のバイトなどを並べる順序の種類である。一般的な用語による表現ではバイトオーダ(英: byte order)、ないしそれを一部訳して日本語ではバイト順…

【Unity, C#】InternalsVisibleToを用いて特定アセンブリからinternalにアクセスできるようにする

はじめに 今回はInternalsVisibleToという属性(Attribute)について紹介したいと思います。 同一アセンブリ内でないとアクセスできない皆さんご存知かと思いますが、internalを利用することで同一アセンブリでしかアクセスできないようにすることができます。…

【Unity】NuGet importer for Unityを使って簡単にNuGetパッケージをUnityに導入する(NuGetForUnityの後継者になりうるか)

はじめに 今回はNuGet importer for UnityというNuGetのパッケージをUnityへ導入できるようにするエディタ拡張を紹介したいと思います。github.com 一応UnityでNuGetといえばNuGetForUnityが有名だと思いますが、バージョンの指定がうまくできなかったりエラ…

【C#】AES(Advanced Encryption Standard)暗号化をしてみる

C#

はじめに 今回はAES(Advanced Encryption Standard)暗号を利用してみるという記事になります。 Advanced Encryption Standard (AES) は、アメリカが2001年に標準暗号として定めた共通鍵暗号アルゴリズムである。アメリカ国立標準技術研究所(NIST)が公募し…

【Unity, C#】K4os.Compression.LZ4を使ってLZ4の圧縮・展開をしてみる

はじめに 今回はUnityでLZ4を用いてバイト配列を圧縮してみるという記事になります。 LZ4 は圧縮と展開の速さに焦点を当てた可逆圧縮アルゴリズムである。バイト指向の圧縮方法であるLZ77ファミリーに属する。 gzipのようなアルゴリズムより低い圧縮率である…

【C#】MemoryStreamを利用してメモリにデータを読み書きする

C#

はじめに 今回はMemoryStreamというメモリにデータを読み書きできるクラスの使い方について書きたいと思います。docs.microsoft.com 定義MemoryStream クラス (System.IO) | Microsoft Docs はじめに 使い方 使い方 MemoryStreamはStreamの派生クラスであり…

【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 一応解決できたの…