🐼

VRChatで作成したもの紹介

2022/04/08に公開

概要

筆者がこれまでVRChat向けに改変したり作ったものを紹介します。
シェーダー関係がメインです。
個別の技術的アイデア記事(作成予定)に対する、トップページ扱いの記事になります。

ジュリアこんちゃん(2020/10)

初めてシェーダーを触ったアバター改変です。
時間で動くジュリア集合をこんちゃんに貼り付けただけのもの。
UTSの上にさらにパス追加してごりごりジュリア集合描いています。
シェーダーに興味を持ったきっかけになります。

しらたまちゃんと光る球(2020/10)

光る球に軌跡を持たせるアバター改変です。
シェーダー内で球の過去数フレームの座標を覚えておきジオメトリシェーダ―で増やしています。
TrailRendererでできると思いますが、この頃はまだUnityをよく理解できておらずTrailRendererという解決策に辿りつけず、シェーダーで実現しました。
カメラとRenderTextureによるシェーダーでの状態保存をここで覚えました。

しらたまちゃんキーボード(2020/11)

キーボードとコンソールで文字入力できるアバター改変です。
先の改変で覚えたカメラとRenderTextureを使って、シェーダー内でペンとキーボードのタッチ判定、入力記憶、ローマ字かな変換をごりごりしています。
かなりゆっくり入力しないとほかの人との表示に齟齬が発生するため、日常的に使うのは早々に諦めました。

増えるしらたまちゃん(2020/11)

ボタンを押した位置で増殖するアバター改変です。
ペンでボタンを押した時のUNITY_MATRIX_Mを覚えておいてジオメトリシェーダーで増やしています。
なかなか使い勝手がよく今でもたまに使っています。
このあたりでカメラを使ったギミックはフレンド以外に見えないという事実に気づき悲しい気分になりました。

異次元のしらたまちゃん(2021/02)

空間の裂け目を作ってその中に入れるアバター改変です。
Stencilを使って外部から隠蔽し、GrabPassで空間の破片が落ちていく様子を演出しています。内部の奥行は視点との位置関係からごりごり計算しています。
破片が落ちていく様子はきれいなワールドとの親和性が高く、かなりお気に入りです。

みんなで触れるしらたまちゃんキーボード(2021/03)

しらたまちゃんキーボードをみんなで触れるようにしたアバター改変です。
特徴のある画像をカメラで映して、異物が侵入したときのテクスチャ破壊/破壊位置検出をしてキーボードギミックに繋げています。
安定度はかなり低いですが、みんなで触れて楽しめるので方向性としては好きです。PhysicsBoneが出てきたら安定化の余地が出てくるかもしれません。

大富豪ワールド(2021/08)

初めて挑戦したワールド作成です。
トランプの大富豪で遊べます。
UdonのRequestSerializationの到達保証が分からなかったため、応答とタイムアウト時の再送シーケンスを組んでいます。大富豪本体よりこのあたりの下回りを作る方に時間がかかったかもしれません。
今でもたまに遊んでくださる方がおり、更新できていないのを申し訳なく感じています。

  • 作成中に調査したUdonのGCアロケートに関する記事

https://zenn.dev/panda_nakami/articles/20220416-vrchat-udon-alloc

しらたまちゃんの宝物庫(2021/10)

ゲートオブバビロンっぽいアバター改変です。
カメラとRenderTextureを使っていません。
波とステッキを1メッシュにして、ボーンで表示位置を分けてコンストレイントで位置制御しています。これによりシェーダー内でステッキ側から波の位置(ローカル原点)が分かり、位置に応じてステッキを徐々に表示する処理を実現しています。
波はGrabPassを波模様に歪めた後、ランバート拡散反射とフォン鏡面反射で色付けています。
波模様は背景がうねうねして楽しいです。

しらたまちゃんメタボール(2022/01)

メタボールとかメビウスの輪を持たせたアバター改変です。
レイマーチングで描画しています。
これもカメラとRenderTextureを使っていません。
2つのボールの相互位置把握は宝物庫の応用になります。
(ここで書くと長くなるので別記事にして書きます。 書きました)
ボールをこねこねしている様子はかわいいですし、フレンド以外にも見えるためかなりお気に入りです。

  • 2つのボールの相互位置把握についての記事

https://zenn.dev/panda_nakami/articles/20221117-vrchat-metaball

しらたまちゃん音声入力(2022/03)

話した内容を文字で吹き出しに表示するアバター改変です。
マイクで話した内容を文字に起こすPythonアプリを作ってそこからOSCでVRChatに文字を飛ばして、シェーダで入力記憶と表示をしています。
音声からの文字起こしはSpeechRecognitionを使っています。
文字に表示されているだけですがシンプルに楽しく、音声の誤認識もありますが逆に話題になっておいしいです。

オリジナルアバターぱんだちゃん1号(2022/04)

ぱんだをモチーフにしたオリジナルアバターです。
半年くらいかかりました。
直したいところはたくさんありますが、区切りをつけるため公開しました。

pvpワールド Cain and Abel(2023/03)

久々に作ったワールドです。
3つの役割(カイン、アベル、神)に分かれて戦います。
作成途中に飽きてQuest対応のBoidsパーティクルとか作っていました。

GPUパーティクルのQuest対応に関する記事書きましたこちら

Discussion