みかづきメモ

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

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 形式で配布したい

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

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

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

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

暇だったので .NET Foundation (github.com/dotnet) のリポジトリ一覧を眺めていると、 Windows の P/Invoke の定義をしているリポジトリがあったので、 それを使って Win32 API を呼び出してみます。

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

C#

Glob Pattern でファイル検索したいですよね、私はしたいです。 ということで、 C# で使ってみるためのメモです。

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 を設定できるコントロールは無かった気がしたので、 ドラ…

TypeScript で paths を解決してビルドする

TypeScript の tsconfig.json に paths という機能があります。 簡単に言うと、以下のようなことが出来る機能です。 // @ src/components/FooBar/SubFooBar/index.tsx // paths を使わない import SomeModule from "../../Baz"; // paths を使う import Some…

Docker for Mac で /var/folders を File Sharing へ追加したい

ドキュメント上ではデフォルト値として設定されているようなのだけども、 なぜか私は追加されていなかったので、その対応。 軽く調べた感じでは、以下の設定ファイルを直接いじるしかないみたい。 $ vim ~/Library/Group\ Containers/group.com.docker/setti…

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

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

GitHub Actions で特定の branch だけ処理を実行したい

処理の一部だけ、 master でのみ処理を行いたい、とかする方法。 GitHub Actions の YAML では、各 job と steps に対して、 if 条件の指定が使えるので、それを使う。 例えばこんな感じ - name: deploy to Netlify if: success() && github.ref == 'refs/he…

styled-components で他のコンポーネントにネストした CSS を書きたい

ちょっと分かりにくいのですが、下のような CSS を書きたいときの方法。 .element1 > .element2 { /* ... */ } やり方は簡単で、別の Style されたコンポーネントを含むように作ってあげれば良い。 import styled from "styled-components"; const ChildComp…

stylelint + styled-components で、 CSS/SCSS ファイルも lint したい

stylelint と stylelint-processor-styled-components を使っている場合、 通常の CSS/SCSS ファイルを lint しようとすると、エラーが出てしまいます。 そこで、 CSS/SCSS では styled-components の processor を使わないようにする方法。 前提環境は以下…

Rust から Windows の COM を呼び出したい

Rust から、 Windows の COM を呼び出したくなったので、呼び出してみました。 コードは、以下のリポジトリに置いてあります。 github.com

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 での人型モデル作成の練習もしないとな...

CircleCI で object not found と言われて checkout に失敗する

こういうこと: CircleCI でのビルドに、カスタムイメージを使用している そのカスタムイメージには Git がインストールされていない よって CircleCI 側の Git に Fallback されて実行される 通常実行時は問題が無いが、 tag push での checkout に失敗する…