みかづきメモ

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

Unity

Unity だけでメッシュを作ってアセットとして保存したい

危うく今月の学びがなくなるところでした。 ということで、 Blender などを使わずに任意のメッシュを作成して保存する方法。 やり方は簡単で、以下のコードで 1 tris なメッシュが作成・保存されます。 // see: https://www.wikiwand.com/ja/%E6%AD%A3%E4%B8…

Unity で File (Local) ID を元に Object を検索したい

まあ普通にやっていてそんなケースは無いと思うのですが、以下の場合。 Unity のシーンファイルを解析中 YAML のタグ情報は使えない みたいな場合、 GetComponentsInChildren<T> からがんばって探すことになります。 そういったときのやり方。</t>

Unity で Animator Controller を動的生成したい

前回、 Animation を動的に生成しましたが、 Controller の方はテンプレートでした。 今回はそこも C# Script から生成してみました。 ちなみに動機は同じですが仕様上不可能だと分かったので供養としておいておきます。

Unity Editor のカスタムエディター上で配列を良い感じに扱いたい

配列を出すためのメソッドが標準で用意されていなかったので、メモしておきます。 例えばこういう配列があったとして。 [SerializeField] private VRCAvatarDescriptor[] _avatars; これをカスタムエディター上で良い感じに表示して欲しいとき、 下のように …

Unity で Animation を動的生成したい

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

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

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

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

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

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

VRChat とかで、意図的に Humanoid だったものを Generic にする場合など、 Humanoid で作った Animation を Generic に適用したい場面があります。 そういうときの解決方法。

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

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

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

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

Re: VRChat Inventory System の動作の仕組みについての解説

もしかしたら気になる人がいるかもしれない、 VRChat Inventory System の 動作の仕組みについて解説します。 このシステムでは、 Particle System、 Animation および隠しオプションを使用し、 動作を実現しています。 なおこの解説は、現在配布している v0…

テクスチャを切り替えられるシェーダーを作りたい

暫く前に、Texture2DArray を作成する記事を書いたのですが、その続きです。 Texture2DArray を元に、テクスチャを切り替えられるシェーダーを作ってみます。

VRChat で自分にしか見えないオブジェクトを実装したい

自分にだけ見えると都合が良いもの (例: 表情確認カメラ) を実装したいとき、 そういったものを実装する為の方法のメモです。

シェーダー開発でも Visual Studio のデバッグ機能を使いたい

いちいち Fragment で色として出力するのよく分からないしやってられない!ということで、 Visual Studio を使ってのデバッグ方法をメモしておきます。 デバッグ方法まではたどり着くんだけど、そこから先がちょっとわかりにくかった。

ドメインシェーダーで一意な ID を頂点に割り振りたい

そんなことをする必要があるかどうかはさておき、やりたくなったのでメモしておきます。

Unity で Texture2DArray を作成したい

使っているシェーダーの都合上、 Texture2DArray を使う必要が出てきたのだけど、 どうやら Texture2DArray は直接作れないようなので、作り方のメモ。

Unity で Project から Hierarchy へスクリプトを使って Prefab を展開したい

Prefab の設定を楽にしたくて、エディター拡張を作ったのですが、 もはや Prefab を Hierarchy に移すのさえ面倒だったのでやり方を調べました。

VRChat で使えるタッチで取り出し・収納可能なギミックを作りたい

朝のラジオ体操に出かけてから毎日が楽しい私、みかです (VRChat の話です)。 VRChat でも使えるちょっとしたギミックを作ったので、 忘れないうちに仕組みを書いておきます。 なお、このギミック自体は Animation Override を使用していません。 (Particle …

Unity のエディター拡張で D&D を受け入れたい

VRChat でいろいろやっている影響もあって Unity を最近よくいじっているのですが、 大量のオブジェクトの操作をやりたくなったので、エディター拡張を作りました。 ただ、私の知る限り一括で Object を設定できるコントロールは無かった気がしたので、 ドラ…

SteamVR でレーザーポインターを実装する

VR ゲームで操作するとき、レーザーポインター形式の操作方法をよく見かけます。 それを Unity + SteamVR で実装してみます。

SteamVR + Index Controller で Animation を使いながら Finger Tracking をしたい

先日の記事で指トラッキングをしましたが、 Animation Controller と使うと、 Animation で上書きされてしまってうまく動作しないらしいので、 改めて、 Animation Controller に対応した指トラッキングをやってみました。

SteamVR + Unity で、アバターのサイズを人間の大きさに合わせたい

前回までの記事で、せっかく自分の動きでアバターを動かせるようにしたけど、 大きさがあっていないので、若干の違和感が発生してしまっていました。 ということで、この記事では自己流でサイズを合わせてみました。

SteamVR + Index Controller で Finger Tracking をしたい

ということで、久々ですが SteamVR の記事です。 せっかく Index Controller があるので、指の動きを良い感じにしてみようと思います。

Unity + SteamVR + VRIK でプレイヤーモデルを動かしたい

VRChat で使っているアバターは実は VRChat 以外にも使えるので、 有効活用していきたいシリーズ。 目標は VRChat みたいに良い感じに動かしたい。 今日は VRIK を使って、自分の動きに合わせてアバターも動かしてみます。

Unity 2019.2.x で VR 空間内に鏡を置きたい

VR の練習をしていくのです。 とっかかりとして、 VR 空間内で自分のアバターを動かしてみます。 今回はそのうち、自分の動きを確認するための鏡を設置します。 Blender での人型モデル作成の練習もしないとな...

Unity Editor 拡張開発で Visual Studio のデバッグ機能を使いたい

Unity のエディタ拡張ばっかり触っている私です。 エディタ拡張を触っているとき、ブレークポイントを挟んだりする方法。 前提としては Visual Studio 2019 Visual Studio 2019 Tools for Unity がそれぞれ導入されていること。 デバッグする方法は、まず初…

Unity 拡張で、 Component から Inspector に表示されている名前をとりたい

大体のことは GitHub にある UnityCsReference を読めば、 どの API 使えば良いか解決するなと気がつき始めました、みかです。 Unity で GameObject とかに Component をくっつけると表示されるこの名前 これ 最初はクラス名から自力で生成するのかと思って…

Git LFS で Unity プロジェクトを Git 管理する

VRChat でアバターいじったりするのは良いのだけども、 バージョン管理されないのが怖いので Git を導入したのでそのログです。

VRChat でキッシュちゃんを使う

これは技術記事?って思ったけど Unity なのでセーフ。 VRChat で kawaii ポーズキメたいのでビビッときたキッシュちゃんを購入しました。 で、これをこの動画を参考に設定していていってアップロードしました。 しかしながら、表情関連が全く動かないという…