2023年5月の日記

  1. Home
  2. 読み物
  3. 日記
  4. 2023年5月の日記

2023年5月1日(月曜日)

美少女化20周年記念

 昨日の日記にも書きましたが、今日で美少女化されて20年が経ちました。
 そして去年の夏からちまちま進めてきた3Dアバターですが、本日夏用のアバターを実装したことにより、基本+春夏秋冬の5種類全てが揃いました!

 ということで、いろいろ勢い余って作ったアバター紹介動画をどうぞ。(155MB)
 Mirai: (c) BANDAI NAMCO Research Inc.
 VRMLiveViewer

 ほんと、どうしてこうなった…。

CLCT for PARTY改変

 上の動画は0時に一度公開して、同日22時30分頃に差し替えたものです。
 差し替えの理由は使用テクスチャー紹介の抜けがあったのでそれの修正でしたが、せっかく修正するならということで、モデル改変も含めて修正しました。時系列で説明すると、この後出てくる衣装改造の話が先にあり、その後動画の中でテクスチャー紹介をするところに漏れがある事に気づく、テクスチャー紹介だけは修正したいと思う、どうせならこのタイミングでモデルも改変して組み込んでしまっては、という流れです。

 さて。
 動画の中に出てくる「パーティーVer.」はVRoidStudioに12月に追加されたCLCT for PARTYシリーズのデフォルト衣装です。4着のうち1着が色合いも含めて気に入っていて、clusterのCEOのバーチャル結婚式にもこの衣装で参加しています。


披露宴の時の自撮り(clusterは負荷軽減のためにテクスチャーなどが自動圧縮される)

 閑話休題。
 動画を投稿して数時間後、パーティーVer.の裾をフィッシュテールにしたら動いたとき可愛いのではという声があって、なるほどその発想はなかった、となって、家に帰ってきてからすぐに取りかかりました。
 手始めにちょっと手を加えてみて、この雰囲気はいけそうという感覚を得たところで一旦ご飯へ。こういうのはご飯とかお風呂を済ませてから始めましょうね、ほんと。時間あっという間に吸われるので…(苦笑)。


改変した画像(テクスチャー)をVRoidStudioに取り込んで微調整中の様子

 元画像は画像サイズを活かすためか、大きめに作られてメッシュを縮小することで丈を短くしていたので、全体的に短くして後ろだけ伸ばすという形で改変(Photoshopのワープ機能)してから、メッシュを伸ばして丈を合わせています。


改変前後の比較図

 ということで、できあがったのがこちら。(VRoidHUBでも公開中です
 正面から見たときに前面のスカートの裾のラインとの重なりを意識しつつ、後ろ側の裾を長くしています。優雅さがでていていい雰囲気ですね。

 ちなみに、改変中の画像を投稿した際にフィッシュテールはかわいい的なコメントをもらったのですが、まさかの描き下ろしイラスト付きでした。ちょっと勢いすごすぎませんか?? ありがとうございます!!

 サーバーの容量も有り余ってるので、Twitterに投稿した比較動画をこっちにも載せておきます。
 Mirai: (c) BANDAI NAMCO Research Inc.
 VRMLiveViewer

 裾の動きが可愛いですね。
 このネタを日記にも引っ張るとは思ってなかったのでプロジェクトファイルを保存していなくて、Twitter用の動画の転載です(サイト用より圧縮設定が強め)。

 テクスチャーの改変は微調整レベルならやったことがありますが(夏衣装も少し明るめにしてる)、形状まで変えたのはこれが初めてでした。何事も経験ですね。

 という感じで、20時頃に改変の方向性が完成したので、Unityで揺れものを設定してVRMファイルをエクスポート。動画の撮り直し、再編集を経てできあがった動画が最初の動画です。どうしても1日のうちに公開したかったのですが、無事に22時30分に差し替えが完了しています。
 Twitterの動画は1時頃にひっそり公開していたのですが、いろいろやりとりもあったので、正々堂々公開しようということで、22時20分にテクスチャー紹介の抜けの修正と、モデルの差し替えを行ったバージョンで再公開しています。

2023年5月3日(水曜日・憲法記念日)

よし、旅をしよう。「三重県『赤目四十八滝』」3回目

 2年ぶりに赤目四十八滝にいってきました。
 2年前も朝一のバスで向かったのでその時と同じく明るい写真が多いですが、季節が違うのでまた日の入り方が違うので、見え方が違いました。

赤目五瀑 不動滝


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)

 水面がキラキラしていて綺麗でした。前回は滝の上だけが明るかったのでまた違う景色でした。

赤目五瀑 千手滝


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)

 こちらは不動滝とは逆に上だけが明るいパターン。ちなみに前回は逆で、千手滝は水面も明るかったので、二瀑の関係は逆になっている感じですね。

赤目五瀑 布曳滝


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)

 布曳滝は赤目五瀑の中では一番好きな滝でしたが、ここも雰囲気が全然違いました。1枚目が今回、2枚目が前回です。これまでの三瀑と前回の写真を見比べましたが、どうやら私は10月(前回)の朝に撮れる雰囲気が好きなようです。今回はゴールデンウィークということもあってまあまあ混雑していたので、次に行く機会があれば10月前後にしたいと思います。10月後半になると紅葉が始まってまた混むので、できれば前半で…。


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)

赤目五瀑 荷担滝

 布曳滝までは写真を撮りながらでも1時間30分ぐらいでたどり着くのですが、荷担滝まではそこから1時間ぐらいかかります。今回は荷担滝より先の琵琶滝まで行きたかったので、道中ほとんど写真を撮りませんでしたが、遊歩道が混んでることもあって少し時間がかかりましたね。


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)

 荷担滝は滝に被さる枝葉が多いので紅葉の時期はここが一番よさそうですけど、遊歩道も混みそうです。個人的には最初の三瀑が好きなので、荷担滝まで来るのはこれが最後かもしれませんね。

赤目五瀑 琵琶滝

 赤目四十八滝は今回で3回目ですが、初めて赤目五瀑で一番奥にある琵琶滝にたどり着きました。ここにたどり着くために滝以外の写真はほとんど撮らずにここまで来ました。9時30分には入山してるので、この時点で12時過ぎなので、ここまでで2時間強ですね。


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)

 琵琶滝は奥行きがあるのもあるので写真を撮るのは少し難しいかも。あと上が開けている関係で明度差がすごいので、布曳滝と同じで時間をずらすか、曇り空の日が良さそうです。滝は曇りでもいい写真が撮れるのでお勧めです。

 カメラを持ってきている人はたくさんいましたが、私と同じで三脚を持っている人は二人でした。基本的には山登りなので、滝をスローシャッターで撮るという強い意志がないと三脚は持ち込めませんね。
 エクスプロール(カメラバッグ)を購入してから三脚を持ち込むのが気楽になったので、本当に助かっています。

おまけ 雛段滝


α6600 + SEL1670Z(Vario-Tessar T* E 16-70mm F4 ZA OSS)

 荷担滝と琵琶滝の間にある滝。小さな滝ですけど、二つの滝よりこっちの滝の方が私は好きなようです。

 ということで、赤目四十八滝でした。
 入山口まで戻って対泉閣で日帰り温泉に浸かり、14時40分のバスで現地を後にしました。

2023年5月7日(日曜日)

スーツケースを買い換えた話

今使っているスーツケースと買い換えの経緯

 COMITIAに一般参加するために帝都に行ったので、専門店でスーツケースを買ってきました。
 軽く調べてみたところ2012年10月20日のCOMITIA106時点で今のスーツケースですので、最低でも10年は使っていることになりますね。新宿のヨドバシカメラの鞄専門館で購入したものですが、今はその鞄専門館はなくなってしまった(西口本店に統合?)ので、月日の流れを感じます。

 今でもはっきり覚えていますが、今のスーツケースは「このぐらいの金額で頑丈な物を」とお願いして紹介された物でした。丈夫さを求めるのはイベントで使う前提、つまり本を入れて運ぶ前提だからですね。

項目 内容 備考
メーカー シフレ ESCAPE'Sシリーズ
型番 YU1801TS 廃盤
外寸 高さ61.5cm 幅40cm 奥行き27cm 非キャビンサイズ
重量 4.5kg 布タイプだが板が入ってるので重い
容量 38l
キャスター 4輪(キャスターロックあり)

 ざっくりと書き出すとこんな感じ。サイズを見てもらうと気がつく人は気がつくかもしれませんが、すごく中途半端なんですよね。高さが55cmを越えているのでキャビンサイズではないですし、じゃあ大きいかと言えばそんなに大きくない、そんなサイズです。この後出てくる店員さんにサイズを教えたときも、今だとこのサイズは珍しいという反応でした。

 さて、そんな10年間愛用しているスーツケースですが、スーツケースの壊れる原因ナンバーワンのキャスターが去年の秋頃殉職してしまいました。確か帰省先から帰ってくるときだったと思うので、9月の話ですね。9月~10月はめちゃくちゃ出張が多くて修理に出す余裕がなく、11月になってようやく問い合わせをしました。
 しかし、問い合わせへの返信は一切なく、その後も6回にわたって問い合わせてるのですが返信がないので、もうこのメーカーはないなと思い、買い換えることにしました。

 スーツケースの買い換え自体はずっと構想があって、その時々で型番を調べてたりしていたのですが、いよいよ本格的に乗り換えることにしました。
 求める条件は以下の通りです。

 しかし、スーツケースの検索はとても難しく、スペックでの検索ができるのはメーカー公式が基本で、一般的な通販サイトで横断的に調べることができません。メーカー公式をいくつも巡りながら転々とするのは現実的ではなく、「これはもう、COMITIAで東京に行ったついでに専門店で相談するしかない」という結論にたどり着きました。
 とはいえ、一応の候補ということで、なんとかたどり着いたのが「プロテカ ソリエ3 12873」でした。

スーツケース専門店 トコー

 専門店がないかなと調べてみたらすぐに出てきたのが有楽町の「トコー」でした。予定ではCOMITIAの翌日、6日に行く予定でしたが、予定より早く買い物が終わったので、ビッグサイトからそのまま向かいました。
 店員さんに求めている条件を伝えて、いろいろ検討している中でわかったのは

というものでした。
 そのお店は主要なブランドのスーツケースが揃ってましたが、やはり最初から候補にも挙げていた「プロテカ ソリエ3 12873」が有力候補になりました。
 しかしそこで店員さんが、「そういえば、片開きがいいと言うことでしたけど、ソフトタイプじゃなくて、割合が0:10じゃなくてもいいですか?」と聞いてきたので、「ソフトタイプには特にこだわってないですけど、片開きだとソフトタイプですよね?」と聞いたら、「実はこんな製品があるんですよ」といって出てきたのが、「Samsonite ポリゴン スピナー61」でした。

 最初に提案することはまずほとんどないというその製品は、

といった特徴を持っていました。正直Samsoniteがこういう製品を作ってるのは予想外でした。
 最終候補が2種類出揃ったところでジャッジに入ります。

火を見るよりも明らかで、ソリエ3の「正直微妙だな…」って思っていた部分が、全部解決しました。ポリゴン スピナー61が出てきた瞬間に、私の中の気持ちも一瞬で固まったような気がします。
 ということで、新旧スーツケースの比較です。

項目 現在のスーツケース 新しいスーツケース
メーカー シフレ ESCAPE'Sシリーズ Samsonite ポリゴン スピナー61
型番 YU1801TS DX4-18004
外寸 高さ61.5cm 幅40cm 奥行き27cm 高さ61cm 幅41cm 奥行き27cm
重量 4.5kg 3.5kg
容量 38l 50l
キャスター 4輪(キャスターロックあり) 4輪(キャスターロックあり)

 見てください、この違い。本当に奇跡というほどに同じサイズ感です。なのに容量は12lアップです。これは、今のスーツケースは外にたくさんポケットが付いているので、その分嵩張っているんですよね。しかもそのポケットはほとんど使っていなかったので、無駄な部分が全てそぎ落とされて、内部容量にまわる格好になりました。
 1時間ほどかかりましたが、店員さんとじっくり話をしながら理想の製品にたどり着いたので本当に良かったです。ありがとうございました。

新旧スーツケース比較

 家までスーツケースを持ち帰ってきて、最初に驚いたのはサイズがほとんど同じということでした。上の表は後からまとめた物で、お店の時点では同じぐらいだろうなというのはありましたが、まさかここまで一致しているとは思ってもみませんでした。


RX100III(DSC-RX100M3)(24-70mm F1.8-2.8)

 左が今のスーツケース、右が新しいスーツケース。片開き式で間仕切りにたくさんのポケットが付いています。私はここに本や充電器、予備バッテリー、御朱印帳などを収納するので、このスペースが欲しいんですよね。
 スーツケース一つで旅をすることはなく、外のポケットに入れるようなすぐ取り出したい物は別に持っているバッグにしまっているので、プロテカのソリエ3のようにスーツケースの外ポケットに収納する前提の作りは肌に合いませんでした。フタの方に上着を収納できるのもポイント高いです。


RX100III(DSC-RX100M3)(24-70mm F1.8-2.8)

 開いた様子。古い方は完全に片開き(0:10)ですが、新しい方は3:7という感じ。店員さんはすごく珍しい商品(ハードタイプで片開き(ただし0:10ではない))といってましたが、本当にそのとおりだと思います(苦笑)。


RX100III(DSC-RX100M3)(24-70mm F1.8-2.8)

 開いた様子。この辺は普通の製品という感じ。


RX100III(DSC-RX100M3)(24-70mm F1.8-2.8)

 完全な片開きではないので、スーツケース全体の奥行きが27cmあっても、A5サイズの本を縦(14.8cm)に入れることはできないのですが、横置きであれば2列に並べても余裕があるので、本の持ち運びもOKです。何よりこのスーツケース、取っての収納部分がフタの方に付いてるので、メインの収納部分が完全にフラットという珍しい仕様になっていて、そう言う意味では今まで以上に本を入れやすくなったと思います。


RX100III(DSC-RX100M3)(24-70mm F1.8-2.8)

 左が今のスーツケースで、右が今のスーツケース。ほとんどサイズは一緒で、使い勝手は全くといっていいほど変わりませんでした。
 いい店員さんと製品に出会うことができて良かったです。

2023年5月21日(日曜日)

岩手県大槌町 震災復興記録写真展示室をVketCloudに移植した話

 今朝になってようやく移行結果に満足するところまで来ましたので、その奮闘を振り返ってみたいと思います。

4月20日 VketCloud正式リリース

  この日、VketCloudが正式リリースされました。一応ワールドのIDだけでも取得しておこうと思い、タイトルと見出し画像(clusterの流用)を登録しています。
 「岩手県大槌町 震災復興記録写真展示室」はVRC版、VRC Quest版、Cluster版の3種類のプロジェクトがあるのですが、VketCloudはAndroidビルドが必要なので、同じくAndroidビルドを使用しているVRC Quest版をベースに作業を開始します。
 まずはQuest版からVRC独自の要素(スポーン、ミラー、シット判定など)を除去してprefabに保存します。
 続いてVketCloud向けにUnityの環境を構築し、VketCloudのSDKを導入、先ほど保存したprefabを読み込みます。シェーダーをVketCloudで使うことができるシェーダーに変更し、ワールドの必須要素を埋め込み(SDKから自動生成できる)、サクッとローカル環境でビルドを走らせます。


エラー数が200越えのプロジェクトのできあがりです。

 流石にこのエラー数だと平日の夜にどうにかできるレベルではないのでこの日の作業はここで終了です。

4月23日 メッシュの結合とテクスチャーのアトラス化

 この日から本腰を入れて作業を始めます。
 改めてエラーの内容を確認してみると、テクスチャーの大きさが2の累乗ではないこと、テクスチャー(写真データ)がJPEGなこと、TextMesh Pro(文字を表示するためのシェーダー)を使っていることでした。

 この時点では文字の出し方がまだ分かっていなかったので、TMPを使っている部分は全て無効にして、写真データは全てPNGに保存し直します。写真だけで90枚あるので結構大変な作業でしたね…。


とりあえず注意は減る

 テクスチャーのサイズはこれを機にアトラス化してしまおうということで、以前から気になってた「Unityだけでテクスチャのアトラス化ができるすごい奴+複数のメッシュを一つに結合できるすごいやつ」を導入して、メッシュの結合とテクスチャーのアトラス化を行いました。
 これでなんとかビルドが完走だけはする状態になるので、ブラウザ上で表示ができるようになります。


いろいろおかしいけど無事に表示できるところまで到達

ゴールデンウィーク 文字との戦い

 細々としたエラーは全て潰しおえ、文字について真面目に考えるようになります。文字の出し方がどうにも分からなかったのでDiscordで問い合わせ。教えてもらった方法でなんとか文字を表示することができるようになりました。

 その結果明らかになったのは、今のSDKではUnity上で文字の表示状態をプレビューすることができないため、その度にビルドをして表示状態をチェックする必要がある、ということでした。
 すでに見てくださっている方はわかると思いますが、「岩手県大槌町 震災復興記録写真展示室」は文字をたくさん使用しているワールドです。VketCloudではTMPをそのまま使うことができないため、文字を表示するためにはVketCloudの独自コンポーネント「HEOTextPlane」に置き換える必要があります。しかしその作業はプレビューできないのです。
 正直これはしんどいと思い、ひとまず要望を出しつつ、文字が入力しやすくなるまで一旦作業を止める事にしました。


文字を表示することはできる、というところまでは到達した

5月14日 ライティングとベイクとシェーダー

 要望を出してしばらくが経った頃、Discordで将来的に改善する予定という返事が返ってきました。「これならいける!」と思い直して、再び移行作業を再開します。

 ゴールデンウィーク中にエラーを潰したことでビルドは完走するようになっていましたが、壁が白飛びする問題と、床が真っ黒な問題がずっと残っていました。両方ともUnityでは普通に表示されているのに、です。Discord内を検索したり、Unityでいろいろ設定を変えながらこねくり回します。


シェーダーをUnlitにしているのになぜか暗く表示される


シェーダーをstandardにすると表示は改善するが、暗いところは当然暗く


シェーダーを切り替えた後はベイクしないと反映されないということに気づく

 試行錯誤した結果得られたのはこんな感じ。

Unityなんもわからん。

 3枚の画像は全部床が真っ黒ですが、これは解決方法がわからずDiscordで問い合わせ。
 結果として、教えて頂いた方法では解決しなかったのですが、マテリアルのタイリングの設定を変えて試すタイミングで、マテリアルを作り直したらすんなり表示されました。何が違うんだろうと設定を見比べてみたら、アルベドのα値が0になっていました。これを255(FFFFFF)にしたところちゃんと表示されるように。


無事に床が表示された!

 写真の表示も問題なくなり、床も表示されたとなれば、必要最低限の機能は出揃ったことになります。


今まではローカル環境でのテストだったものをついにVketCloudにアップロード

 写真の撮影日などはありませんが、ワールドの紹介文はHEOTextPlaneの挙動を確認するために移植していたので、そこだけ有効にしてVketCloudにアップロード、ついにベータ版を公開しました。

5月15日 1部屋作ったらコピペでいけるのでは

 文字の入力が難しいことはすでに触れましたが、よく考えてみるとこのワールドは写真の位置がほぼ統一されているので、1部屋作れば位置は全てコピペで問題ないことに気がつきます。ベータ版を公開してハイになっていた私はプレビュー機能がない状態で手探りで1室を完成させ、後はコピペを駆使して3室分を入力することができました。

5月16日 パネルの影の復活

 clusterやVRChatでみたことがある方はここまでの画像で写真の影がないことに気づいたかもしれません。
 そうなんです。メッシュの結合をしたときに写真を貼り付けている体になっているパネルを吹き飛ばしてしまったので、パネルの影が落ちない、つまり壁に影ができないという状態になっていました。この日は写真のパネルを復活させたので壁に影が落ちるようになりました。


壁にパネルの影が落ちると存在感が急激に増す

5月17日 文字の完全再現完了

 プレビューができるまで放置する予定でしたが、気づいたら文字の入力が全て終わって完成形になってました。勢いって怖い。

5月20日 空は青かった

 VketCloudではUnityのSkyBoxを使うことができないので、いわゆるSkyDomeで擬似的な空を描画する必要があります。SkyDomeのやり方を調べていたら、そもそもSDKの中に擬似的な空を表示するassetが含まれていることが公式のヘルプに書かれていました。
 どうやればいいかわからずに最初から放置していた空が暗い問題があっという間に解決です。


空は青かった

 この段階まで到達すると自信を持ってワールドを公開したと言えるようになったので、正式版としてリリース宣言を行いました。移植開始から3週間、思った以上に時間がかかりましたが、なんとかここまでたどり着けました。
 Discordで助けてくださった皆さん、どうもありがとうございました。

 ここで終わらないのが私の癖でして。
 星空の展示室のミラーがまだ再現できてなかったのでこれもマニュアルでやり方を調べて実装したら問題なく表示されました。


clusterやVRChatで実装していた反射も再現完了

 ミラーを実装していて思ったのですが、VketCloudのマニュアルはコンポーネントの紹介とやり方が完全に分かれているのでちょっと使いづらいなと思いました。
 例えばミラーのコンポーネントは「HEOReflectionProbe」ですが、ここだけ読んでも実装は困難です。このコンポーネント、反射させたい物体ではなく、ワールドのルートに設定してあげる必要があります。それについては「反射を写り込ませるには」の方を読んで初めてわかります。
 もちろんこのあたりはまだ正式サービスしたばかりというのも多分にあると思いますので、clusterの用にドキュメントが充実してくるとワールド制作が楽になるのかなと思います。

 なんにせよミラーを実装したことでほぼ完全に移植に成功したことになります。メッシュの結合をするためのソフトを追加で導入してるので、公開できなければもったいないと思っていたので、なんとかたどり着けて一安心です(苦笑)。

5月21日 微調整

 ここまで来たのだからということで、clusterやVRChatとライティングが違うのも直してしまうことにします。
 大きな違いはスポットライトの強さなので、0.2刻みで10種類用意してベイクをおこない、一番雰囲気が近い値を探し出して他のスポットライトに適用します。


照明の再現が完了

 平行光源の設定とスポットライトの設定を変更してだいぶ雰囲気が近づきました。ここまで来たらもう完成と言っていいでしょう。


記念撮影

 ということで今日の朝7時、無事に完成というところまでたどり着きました。
 あとは行間が調整できるようになればその設定を反映すれば完全移植と言えるでしょう。いまのSDKでは行間を調整することができないので、改行を入れて行間を広げるています。この辺はアップデートに期待ですね。

 VketCloudは会員登録もログインも不要で、スマホやPC(Win、MAC問わず)のウェブブラウザからアクセスできるので、なんとかこのワールドを移植したいと思っていました。少しばかり追加投資は必要でしたが、移植できて良かったです!

 ということで、皆さんのご来訪、お待ちしています

 ちなみにこの移植作業中、既存のワールドに誤字が生まれていたことに気づいて修正しました。誤字はアップロードした後に生まれてくるから仕方がないですね。


元気な西暦間違いですよ!

2023年5月24日(水曜日)

My Vket開発会議で紹介して頂きました

My Vket 開発会議【第9回】 #MyVket
My Vket 開発会議【第9回】 #MyVket(該当の時間へ直リンク)

 つい先日、VRChatやclusterからVketCloudに移行した記事を書きましたが、そのワールドを「My Vket開発会議」で紹介して頂きました。ありがとうございます。
 移行記事ではDiscordサーバーについて少し触れましたが、このサーバーには、VketCloudについて作り方を教えあったり、質問ができたり、開発側に要望を伝える事ができるチャンネルなどがあり、VketCloudの開発者、つまりHIKKYの社員も参加しています。
 色々やりとりしていたある日、次のMy Vket開発会議でワールド紹介させてください、ワールド訪問もさせてください、というメンションが飛んできました。小躍りしたい気持ちを抑えつつ「ありがとうございます!」と返します。
 前日にはTwitterアカウントの方からも明日の配信で紹介しますとメンション付きのツイートが行われました。

配信本編

 当日はチャイムが鳴った瞬間にエクスプレス退社をして帰宅。お風呂も済ませてお酒を飲みながら番組が始まるのを待ちます。
 いつもは番組前半にアップデート情報、後半にワールド紹介という流れだったと思いますが、今回は少し振り返りをした後すぐにワールド紹介という流れでちょっとびっくりでした。紹介するワールド数が多いのと、VketCloudに関するアップデート情報がそれほど多くなかったから逆になったのかなと思ったりします。
 ともあれ、これから紹介されますよー、などとツイートをしながら、YouTubeのコメント欄でコメントをしたりしながら過ごしてワールド紹介は終了。
 現場の育良さんが気づいてましたが、スタート地点が2014年(場合によっては2015年など)で、ぐるっと一周すると2022年という作りになっているので、2022年を見ているときに後ろを振り返ると2014年が見えるという作りになっています。これは狙って作ってるので気づいてもらえて嬉しかったですね。配信中にもありましたが、この辺はウェブのスクロールで見るのとはまた違った操作感になると思います。

ワールド散策「岩手県大槌町 震災復興記録写真展示室」

岩手県大槌町 震災復興記録写真展示室

 配信の全行程が終わり、ワールド散策に移ります。
 VketCloud(メタバース開発エンジン)で作られたワールドは、はブラウザから見ることができるのが最大の特徴ですが、メタバースにおける概念の一つ、インスタンスについてはURLで管理する事ができます。誰か一人がインスタンスを立ててそのURLを共有すると、その人が立てたインスタンスに参加する事ができます。

インスタンス
 メタバース上に置かれた個々のワールド(3D空間として公開されているひとかたまりの世界。「岩手県大槌町 震災復興記録写真展示室」もそれ単体で一つのワールドとなる)にアクセスすると、ワールドがインスタンスとして実体化する。ワールドが設計図、インスタンスが設計図を元に実体化したものと例えられる。
 インスタンスはそのワールドにアクセスしようとした時に、既存のインスタンスに入るか、新たなインスタンスを建てるかを選ぶ事ができるが、新たに建てる場合は、アクセス対象者を指定する事ができる。誰でもアクセスできるインスタンスをパブリック、フレンド登録した人だけがアクセスできるインスタンスをフレンズと呼んだりする(さらに細かい設定ができるサービスもある)。
 VketCloudではパブリック、プライベートの二種類があり、プライベートはそのインスタンスのURLを知っている人だけがアクセスできる。つまり、誰にも教えなければ自分限定(プライベート)だが、ある程度広い範囲に知らしめることでセミパブリックのように、柔軟なアクセス設定をする事ができる。
 メタバースにおけるインスタンスはMMORPGのインスタンスダンジョン(ID)と同じような意味である。

 コメント欄と概要欄に貼られたURLをクリックすると即座に指定されたインスタンスにアクセスできます。
 このあたりの手軽さは本当にVketCloudの強みです。
 イベントにおけるインスタンス管理は、VRChatではフレンド登録を事前に済ませてフレンド限定のインスタンスに入る、clusterなら前述の方法の他に、イベントの開催設定をしておいて、時間になったらそのイベント専用のインスタンスに入る、みたいな一手間があるのですが、URL一つで管理ができるというのが、まず一つ。
 もう一つはブラウザベースなので、アカウント作成やアプリの導入が必要ないというのがもう一つ。
 配信を見ている人もクリックするだけでワールド散策に参加できる、というわけです。

 指定されたインスタンスに入ると、先ほどまで配信画面の向こう側にいたHIKKYのスタッフさんの他にも番組の視聴者など10人ぐらいがいらっしゃいました。実装されたばかりの鮫アバターをすでに使っている方がいて、鮫肌がすごいとか、アバター可愛いなど、メタバースあるあるアバターの褒め合いから始まって、みんなでワールド内を散策します。


アンケート一位(Twitterでアンケートを採ったらこうなると誰もがわかっていた)の鮫アバター。鮫肌がしっかり鮫肌で、尻尾の揺れ方もこだわってて結構いいアバターでした。


みんなでワールド散策


みんなでワールド散策

 次のワールドもあるので20分ぐらいの時間でしたが、写真について説明したり、実はボランティアで…といった話も飛び出たりとなかなかいい時間でした。漠然とした構想にとどまってるのですが、写真展示室で私自らが写真について説明するというイベントも、こういう感じならできそうだなあなどと思ったりしました。
 最後は星空のブースで記念撮影。大槌と遠野の境目なんですよと言ったら、あの遠野ですかという反応もあり、遠野すごいなあと思ったり。


記念撮影

 お越し頂いた皆さん、ありがとうございました。

ワールド散策「ポピー横丁」

ポピー横丁

 次のワールドに移動しましょうということで、VketCloud内のテキストチャットにURLが貼られて、これクリックすると移動できるんですよという衝撃の事実が発覚しつつみんなで指定されたインスタンスに入ります。
 このワールドはVRChatで有名なワールドのVketCloud移植版(私のワールドも移植版ですが)で、VRChatの方では夜な夜なリアルで酒を飲みながらアバターでだべってたり、寝落ちしてたりするというカオスなワールドです。VketCloudに移植されたという話題が駆け巡ったときには、出張先からでもポピ横にいけるという反応も見られるほどには人気なワールドです。
 本来は各お店が細かく作り込みされているのですが、現在は入れるのは二つだけということで、その一つになだれ込みます。


この密集感が魅力的

 乾杯のモーションが欲しいねとかいろいろ話しつつ、あっという間に15分以上過ぎてしまいましたので、集合写真を撮りましょうということになり、路地裏へ。
 何気にVRChatのポピ横には行ったことがなかったので、ここで初めてのポピ横デビューです。いい意味で治安が悪いワールドとして有名なので、今後もVRChatのポピ横には行かないかもしれないですが(笑)


何かのジャケット写真っぽい


写真を撮るときのエモートが欲しいなあ、なんて


なんとなく「来る。」のジャケットっぽく

 ということで、配信で紹介して頂いた話と、みんなでワールド散策をした話でした。

2023年5月31日(水曜日)

まさか今になってVSTを買いあさることになるなんて

 バーチャルな世界で私と会話したことがある人は知っていると思いますが、私はいわゆるボイチェン勢、つまりボイスチェンジャーを使って声を変えている人です。バーチャル美少女ネムさんの書籍「メタバース進化論」に掲載されているアンケート結果によると、9%ぐらいしかいないようで、割りと珍しい存在のようです。
 ただ、ComicVketで隣だった方や、挨拶しに行った方はボイチェン率が高くて、どちらかというとそっちの印象が強いので、その後に色々な人と会話してると、実は地声の方が圧倒的に多いということに後から気づいたのですが…。

 ここで大事なことは、ボイチェンは何も男→女や女→男だけではなく、地声が高いから少し下げたいとか、低いから少し上げたいとか、そういう感じで行われていて、ネムさんは自身の著書で「声のコスプレ」という表現をしていますが、まさにそのとおりだと思います。
 アバター文化なんだから、見た目だけじゃなくて声も変えちゃえばいいじゃん。
 ちなみに私自身は、大槌町の写真集という題材というか範囲が尖っている作品を生み出してしまったので、一応身バレ防止のためという理由もあります。まあ、これは理由としては4割ぐらいで、残りの6割ぐらいはアバターから自分の声が出てるのが許せなかったからですね(笑)。

 さて、本題に入りましょう。
 NEOKETやComicVket(VRChat)で会話していて思ったのですが、今までの構成はものすごく遅延があるのが悩みでした。サーバーを介して通信している以上、NEOKETやVRChatそのものにも当然遅延がありますが、音を取り込んでボイチェンしてVRCに送るという一連の流れに遅延があります。

入力 マイク(またはHMD) -
処理 ノイズキャンセリング NVIDIA Broadcast
処理 ディエッサー Cakewalk(ProChannelモジュール)
処理 コンプレッサー Cakewalk(ProChannelモジュール)
処理 イコライザー Cakewalk(ProChannelモジュール)
処理 ボイスチェンジャー Cakewalk(VST)
処理 イコライザー Cakewalk(ProChannelモジュール)
処理 リバーブ Cakewalk(ProChannelモジュール)
出力 VB-AUDIO VB-AUDIOを経由して各種ソフトのマイクへ送る

 今までの構成はこんな感じでした。
 私の場合、ボイチェンの処理そのものはほとんど遅延がなくて、NVIDIA Broadcastで遅延が発生しています。もちろんWindows自体の遅延、すなわちWDMドライバの遅延もあります。
 NVIDIA Broadcastは強力だけど遅延が大きいのが課題で、みんな大好き藤本健さんの記事「声以外が消える!? 無料のノイズ除去「NVIDIA Broadcast」がスゴい」によると、119msec(0.119秒)の遅延があります。これだけ遅延があるとさぞかし処理が重いのだろうと思うのですが、GPU利用率はめっちゃ低いので、使用率多少上げてでも遅延を減らして欲しいと言うのが本音です。
 VB-AUDIOの遅延時間は不明ですが、仮想I/Oとしてルーティングしてるだけですので、そんなに大きくないと思います。

 これだけ遅延があると、会話をしていてもはっきり分かる程度の遅延があります。つまり、自分の声が相手に遅れて届いているというのが、相手の返事や動きで分かるんですね。
 そこで色々試した結果、今のところは以下のようになりました。

入力 マイク(またはHMD) -
処理 ノイズキャンセリング Cakewalk(VST)Clarity Vx
処理 ディエッサー Cakewalk(ProChannelモジュール)
処理 コンプレッサー Cakewalk(ProChannelモジュール)
処理 イコライザー Cakewalk(ProChannelモジュール)
処理 ボイスチェンジャー Cakewalk(VST)
処理 イコライザー Cakewalk(ProChannelモジュール)
処理 リバーブ Cakewalk(ProChannelモジュール)
処理 SYNCROOM VST連携モード
出力 何か適当に -

 今回の変更の肝は、ノイズキャンセリングをVSTに変更したのと、出力のルーティングをSYNCROOMのVST連携モードにしたことです。
 NVIDIA Broadcastのノイズキャンセリングは強力ですが、それと同等の性能を持つという「Clarity Vx」を導入しました。体感としてもほぼ同等で、処理もそんなに重くないです。遅延はものすごく短くて、オンオフを切り替えても遅延の違いを感じないレベルです。
 SYNCROOM(VST連携モード)は、VSTとして動作するのですが、外部からはWDMドライバ(Line)に見えるので、VRChatのマイク入力にこのWDMドライバを指定すれば、Cakewalkで処理した音声を流すことができます。現時点での構成では余り意味がなくて、VB-AUDIOでも十分なのですが、将来的にASIOに移行することを踏まえての変更です。
 ASIOは超低遅延でDAWではディファクトスタンダードとなっていますが、ASIOで動作させるためには入出力を同一のASIOドライバに統一する必要があります(抜け道もあるが不安定)。しかし、VSTとして動作するSYNCROOMを入れておけば、ASIOに統一しても音だけはWDMドライバ経由で別ソフトに流せるので、将来的な環境変更に耐えられるというメリットがあります。あと、VSTとして動作させるソフト(VSTホスト)を経由した音しか通さないので、ルーティングミスによる事故を防げるというメリットがあります。
 将来的にはHMDのマイクではなく外付けマイクを使い、これをASIO対応のAudioI/Oから入力させることで、入力から出力まで低遅延で行えるようになります。AG01で実験した結果では、ボイチェン後のマイクの返しがある状態でギリギリ歌えるぐらいの遅延だったので、0.3秒ぐらいでしょうか。

 さて、昨日VRChatで行われたVRC東北集会はこの構成で行きましたが、今までよりは圧倒的に遅延が短くなりました。それでも遅れてとどいているのはやっぱり分かりますが…。
 VRCでは左下にマイク入力の状況が表示されるのですが、0.5~1秒は遅れているように感じます。これだけ遅延があると、WDMを使っていることやボイチェンというよりは、むしろHMD、すなわちPico Neo3 Linkのマイクが遅延しているので確定しました。
 Pico3は映像の遅延がないことをアピールしてますが、音の方はかなり遅延が酷いので、HMDの時の遅延はもうほぼ全てPico側の問題という事になりますね。
 マイクを使用する場合は既存のAG01でASIO対応できるので、HMDについてはQuest3を購入して諸々解決…という方法もありますね。今年はPCを買い換える予定なので、同じタイミングでQuest3となると出費がすごそうです…。


Cakewalkの画面

 今月の日記は画像だらけなので今日ぐらいは…って思ったけど結局画像1枚追加しちゃいましたね。


VRC東北集会(5月30日)

 無限に増えるVRChatの写真をどうしようかという悩みはあったのですが、Twitterだけに投稿していると何かあったときが不安なので、集合写真とかは日記にも載せようかなと思います。clusterやVRChatで「雪冬(Yuki)」と名乗っている以上は、私の活動(行動? 暮らし?)の延長にあるものだと思いますし、サイトのコンテンツにも3D作品としてワールドを紹介するようになりましたしね。
 とはいえ、画像をTwitterやMisskeyに投稿するのに比べたら、日記に貼るのはやっぱり一手間あるので、ワールド制作の過程を逐一日記に書くというのはちょっと難しそうですが(苦笑)。

Fediverseに共有