Renard's Blog

かきます

VJ ゆるWriteup (VRChat ECHO 2023-10-28)

VJ ゆるWriteup (VRChat ECHO 2023-10-28)

要約

  • UnityHDRP+レイマーチングでジェネVJシステムを作ったよ

はじめに

VRChatのクラブイベント「ECHO」でVJをしました

動機

  • Sh4derJockey(GLSL)だけでVJするのは楽しいが、ずっとやってると表現が凝り固まってしまう気がしたので
  • 楽したい 正規直交基底を書かなくても絵を出したい
  • モダンなリアルタイムレンダリングを触ってみたい

コンセプト

アバターと生と死的な感じ

イメージ/やりたいこと

  • ré3ちゃんを踊らせたい

r3isen.booth.pm

  • CUEで0b4k3さんが荒ぶるやつ

4つ打ちに合わせて確率で荒ぶる

  • 人型モデルが歩く、VJでよく見るやつ

歩く

Milkinsideabagofmilkinsideabagofmilk

もじ

  • 適当なレイマーチングをいれる

いざ実装

HDRPでレイマーチングをやる

Kaneta先生の記事に全部書いてあります

気を付けることとして、HDRP6.9.0を使わないと動きません HDRP、とくに9.x以前はpreviewになっていてバージョン間の互換性がほぼないので、気をつけポイントです 対応するエディタのバージョンもあるので、これを見ます https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@14.0/manual/System-Requirements.html

今回はUnity2019.2.0f1を使います

映像をOBSに送る

https://github.com/keijiro/KlakSpout/tree/v1

v1じゃないと動きません 2019なので

Midi入力を受けとる

https://github.com/keijiro/MidiJack

Minisは動きません 2019なので

文字のシェーダーを書く

"TextMeshPro/Mobile/Distance Field"のシェーダーを改造します

やることは単純で、ノイズでuvを歪めた文字を三回重ねただけです

感想(光)

  • いつもより労力が少ない
    • BRDFを書かなくても絵が出る
  • 文字を自由に出せて楽しい
  • カメラワークが簡単
  • CPUが自由に使える
  • 意外と軽い
  • デバッグがしやすい

感想(闇)

  • GUIをポチる時間があまり楽しくない
    • やっぱり作ってて楽しいのは板ポリGLSL
  • HLSLが嫌い
  • 結局最後の1日でSDF作ることになって、あんまり凝ったものが出せなかった
  • ドラムパッドが押しにくすぎる
    • Midiファイターがほしい