なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Unity で Animation を動的生成したい

元は VRChat 関連だけど、アバターの GameObject のツリー構造に依存せず、 自由にギミックを仕込む為の仕組みを作りたかった。 ただ、そのまま anim を配布しただけだと対応できないので、動的に生成してみました。 Animation を動的に生成するには、以下の…

VRCSDK2 から VRCSDK3-AVATARS へ移行したときに気をつけること

VRChat の Avatars 3.0 なるものがでるようなので、早速入れて触ってみました。 が、既存のプロジェクトをアップグレードすると動かない、なぜ。 原因は Define Symbols にありました。 Unity の Player Settings から、 Configuration セクションにある以下…

Parcel Bundler を使ってるときに、 manifest.json までビルドされるのをなんとかしたい

つい最近気がついたのだけども、どうやら Parcel で manifest.json を含んだ index.html をビルドすると、 JavaScript としてコンパイルされてしまうらしい。 ~それに気がつかず約半年 ServiceWorker を消すスクリプトが動いていなかったようだ~ それの防ぎ…

TypeScript で配列かどうかを型付きで判別したい

下のような型をもつ変数 obj が提供されていて、 これが number なのか number[] なのかを区別したいとき。 type Value<T> = T | readonly T[] | undefined | null; declare const obj: Value<number>; こういう文法が使えるのを必要がなかったので知らなかったのだけど</number></t>…

Unity のエディター拡張を DLL 形式で配布したい

C#

Unity のエディター拡張とかでソースを公開したくない場合とか、 追加参照が必要なときに DLL で配布すると良い感じに出来たりします。 そういうときのための、 DLL でエディター拡張を作る方法についてのメモ。 前提環境は以下の通り: Windows 10 Microsof…

Unity で Humanoid で作成した Animation を Generic に適用したい

VRChat とかで、意図的に Humanoid だったものを Generic にする場合など、 Humanoid で作った Animation を Generic に適用したい場面があります。 そういうときの解決方法。 解決方法は簡単で、 Animation を変換してあげれば良い。 そして、そういうアセ…

.NET 公式で定義されている P/Invoke シグネチャーを使って Win32 API を使いたい

C#

暇だったので .NET Foundation (github.com/dotnet) のリポジトリ一覧を眺めていると、 Windows の P/Invoke の定義をしているリポジトリがあったので、 それを使って Win32 API を呼び出してみます。 前提環境は以下の通り Windows 10 Microsoft Visual Stu…

C# で Glob Pattern でファイルを検索したい

C#

Glob Pattern でファイル検索したいですよね、私はしたいです。 ということで、 C# で使ってみるためのメモです。 探してみると、 Microsoft 公式のライブラリがあったのでそれを使います。 Microsoft.Extensions.FileSystemGlobbing NuGet で上記パッケージ…

Unity でプロジェクト外部の参照を追加したい

ここでいう外部の参照っていうのは、 NuGet ライブラリだったり、 .NET Framework には含まれてるけど追加参照が必要なものを指します。 NuGet ライブラリを使う場合 公式ドキュメントでは nuget.org から DL する方法が紹介されていましたが、 いちいち落と…

Particle System の Stop Action が動かないのでなんとかしたい

VRChat で Particle System を当たり判定として使っているときに見つけた仕様。 知らないとハマりがちなので、メモしておきます。 いつも通りの前提条件はこちら: Unity 2018.4.20f1 Personal 実験を行ったリポジトリはこちらにあります。 GitHub - mika-sa…