カテゴリー「パソコン・インターネット」の141件の記事

小説創作のためのpomera DM250レビュー 1.ファーストインプレッション

pomera DM250登場

pomera DM250 Amazon画像

 新型pomeraの久々の登場です。型番はDM250。横長・バッテリ駆動タイプです。愛用していたDM200のバッテリが疲労し容量が半分以下になって再購入すべきか迷っていたところでした。DM30まで5%であった消費税も10%に増税されたこともあり税込価格が六万円超へ。予約購入。公式通販の白モデルです。

DM250到着

_dsc0589

 公式通販で注文していたDM250白モデルが発売日の7月29日、到着しました。

_dsc0617

 白モデルは箱もACアダプタもケーブルも専用色。公式通販特典の白モデル向けソフトケースはDM200と250両対応のDMC5のベージュ色版のようです。

_dsc0614a

新要素

 DM250の新しい機能を紹介していきます。

pomera Link

 スマホアプリとpomeraを連携させる機能です。
 ファイルをひとつずつスマホとやりとりするツールで、QRコード経由では持ち出しのみ、WiFi経由では双方向ですがpomeraへの持ち込みはちょっとわかりづらかったです。


Img_2531 Img_2532

 上画像一枚目の右下書類アイコン→pomera Link内にあるファイル一覧→「+」で新規ファイルを開いてコピペでDM250に送りたいファイルを作り、転送……という手順です。
 内蔵メモリとのやりとり用でSDカード内は対象外のようです。dropboxやonedriveのような「フォルダごとクラウド同期」する機能ではありません。
 スマホやPCとUSBケーブルで繋いでpomeraの「PCリンク」を起動するとpomeraが外付けドライブとして機能するのでWiFiいらずのファイル転送ということであればそれでも良さそうです。
 私はDM200/30の時と同じようにUSB接続+rsyncコマンドによる同期を中心に、モバイルではQRコードの機能を使おうと思います。
 pomera本体の時刻もここで同期してくれるといいのに。

オートバックアップ

 地味ですし効果を体感する可能性は薄いですが万が一のための機能であるとないとでは大違い……なんですが、これ本体メモリに保存したもののみの機能なんですね。SDカード/本体メモリ双方で同じ動作をしても問題なさそうな。ファイルを編集ごとにすべてのバージョン保存していっても1GBあるバックアップ領域をテキストデータが使い切ることはないのでは。

筐体

 形はDM200と大差なく見えますが新設計だそうで、電源スイッチの位置や各種端子形状は変わっています。白モデルのツヤが抑えめの白はなかなか良い感じです。気に入りました。

キーボード

 こちらも新設計。打鍵音の静かさが売りのようですがDM200と並べて叩いてみても違いがわかりません。shiftやspaceのような横長キーの遊びがなくなってカチャカチャいわなくなったのは確かです。ストローク量、固さも(使い古した)DM200と体感的な違いはほとんどなさそう。気持ち感触が軽くなったかな。あ、打鍵時の筐体の剛性感はDM250の方が格段にしっかりしました。(複数回分解しているうちのDM200がヤワになっているだけかも)
 ネットニュースの記事によるとDM200で採用していたV字ギアリンクという機構ではなくなったようです。
 今のところ同じキーが重ねて入力されたり押したつもりが入力し損ねたりする率はDM200より高いかな?という印象ですが、確かDM200やDM30の購入直後もキー入力が若干不安定であったので機械的に馴染むまで少し時間が要るのかもしれません。
 2022年12月2日、ファームウェアをVer.1.1.0.0にアップデートしたところキー入力でのダブりや欠落は大幅に改善された気がします。

_dsc0618
編集機能

 ctrl+backspaceでATOKの確定アンドゥが可能になりました。
 

バッテリ関連

 18時間→24時間になりました。実用しての駆動可能時間は細切れ使用でよくわからないです。不足はまったく感じません。DM200の時点でも十分なバッテリ駆動時間がありました。DM200は四年目くらいでバッテリ容量が少なくなって持ち出しづらくなりました。今回のモデルは耐久性が上がってるといいな。
 充電中やバッテリ残量が少ない時に状態を知らせるLEDも付きました。
 新しいACアダプタとDM250の組み合わせだと充電が速いです。2時間で10→90%、残り10%はゆっくり充電されました。計3時間弱かな。90%までの充電はキーボード左半分が多少熱を帯びます。PCのUSB3.1端子からの充電だとずっとゆっくりモードみたいです。

文字数カウント/バッテリ残量数値表示

 常時表示する情報は少ない方が好きです。1%ずつ減っていくバッテリ残量、私には煩わしいです。文字数カウントは非表示設定も選べましたがけっきょく全画面表示で使うことにしました。ファイル名とATOKの入力モード表示は出しておきたかったのですが……。

ATOK

 実用的な文章の変換はATOKが出してくる候補のままでほぼOK、なのはDM200でも同じでした。流行語・新語は更新されているようです。補助辞書で使うジャンルのものとそうでないものを分けられるのは便利です。

ATOK校正支援

 この記事を書いている間にも誤用の指摘がありました。

正規表現検索

 なくても困らないけれど便利にも使えて邪魔にもならないこういう機能は大歓迎。
 全角と半角、大文字小文字も判別します。別記事に使用可能正規表現一覧を作りました。

シナリオモード
20220729_143252

 DM200以降搭載されたアウトライン用の書式と同じ「.」あるいは「#」が行頭にある行が上側見出し行に表示されます。

  • 一番目の階層がシーン
  • 二番目の階層がセリフ

ということのよう。
 データはあくまでテキストファイルそのものなのでこの見た目で印刷しようと思っても印刷機能のないpomeraではパソコンにデータを持っていって組版しなければなりません。(「.」「#」書式の共通するシナリオ用ソフトとかあるのかな。)

 そこでワープロソフトの一太郎でスタイル機能を使い楽に印刷できるようにしてみました。

  • 見出しを上寄りに、シーン記述やセリフはインデントで下寄りに
  • 区切り罫は別Sheetに横罫線を引き、背景透過で合わせる
20220730-200930

 こんな雛形と「.」のある行をスタイル見出しに割り当てるマクロを用意しておけばDM250で作成したシナリオを読み込ませて一発でそれらしく印刷することができるようになります。マクロは「アウトライン記号&青空文庫ルビの変換マクロ」を改造したもの。

白モデル付属品

 公式通販白モデルには専用のソフトケースと画面保護フィルムが付いてきます。
 ソフトケースはDM200発売時に登場したDMC5のベージュ色ver.のようです。本体にぴったりサイズ。前面と背面に芯が入っていて内側は起毛素材。フラップ部分にはクッションが入っているのですがここで厚みが出てしまってDM100用ネオプレーンケースにDM200/250を入れたときよりも厚くなります。
 DM250と同時発売されたアルミのハードシェルケースDMC7が頑丈そうで気になります。

 もうひとつのおまけである画面保護シートは頑丈そうな光沢シート。

小説を書くのが楽しいガジェット

 文章を書くデジタル環境ということならスマートフォンにbluetoothキーボードを付けてもいいし、ChromeBookでも、WindowsノートPCでもpomeraより安価なものはあります。pomeraを使っていても傍らにはスマホがあってtwitterは覗くので特別集中できるということもないし、pomeraを使ったからって小説が上手になったり楽々と書けるようになったりもしないです。
 私がpomeraの機能で決定打と感じたのはアウトライン。基本編集機能も不足はなく、国語辞典もお気に入りのタイトルが収録されていて、快適なキーボードが搭載された最小構成のパッケージは好きな場所で創作を楽しめる小説書きの友となりました。

 LinuxZaurus、タブレットPC+BTキーボード、ミニノートPCと様々なモバイル端末を使ってきましたし、ソフトもアウトライナーやマインドマップの類、Scrivener、etcと色々試してきました。試すことそのものが楽しい趣味でこれからも試行は続くのでしょう。
 私にとってのpomeraは現在進行形の創作環境探しです。

関連記事

 

|

KINGJIMディスプレイライトDLT10購入

ディスプレイライト

 パソコン机の照明、難しいです。

  1. ディスプレイに光が映り込まない
  2. キーボード周辺に置いた資料を照らす
  3. 光源が視界内に入らない

 デスクライトの類は向いていません。視線より低い位置から照らせば画面に反射し、高い位置から照らせば光源が目に入ります。何かいいものはないかと探していて気になったのがBenQのScreenBar

でした。ただし12,000円近くして躊躇ってしまいます。類似品も多数ありますがBenQのものに比べると評判が悪そうです。そこにKingjimから同様の新製品が出ると知りました。価格も無難な範囲。買ってみました。

Kingjim DLT10購入

 pomera DM200やDM30を愛用していることもあってKingjim製品には馴染みがあります。

 通販で届いたKingjim DLT10を設置。一応クリップにはなっていますが基本ディスプレイ上に載っけるだけ。がっちりとは固定されないので照明角度を調節するときはクリップ部を保持しながらもう一方の手でライトバー部分を動かす感じです。各種操作はタッチセンサー。ライトバーの設置時高さは机面から45cmを想定している模様。うちの27inchのモニタを一番低く設置するとちょうどそのくらいになりました。iMac 27inchだともう少し高くなります。

_dsc0426
_dsc0425
調光

 環境の明るさを測る照度センサーがついているのでAUTOで使えば良さそうですが手動で調光もできます。タッチの長押しで一度目は暗くなる方向に、二度目は明るくなる方向に変化するようです。輝度は無段階で変化します。輝度を落としてもちらつき等は生じないようです。優秀。明るさは印刷物を読むのにも、電子ペーパーを見るのにも十分です。

調色

 三種類の色温度を選べます。LED自体は電球色と昼白色のものが二種交互に並んでいて中間の白色は二種を同時発光させているようです。

照射範囲

 配置されているLEDの間隔は約15mmで30個×2色。鏡に反射させた光で机上を照らします。照射範囲は……明暗境界がくっきりという訳にはいかないようで画面も多少照らしてしまう模様。かといって手前側にライトを向けると光源が視野に入ります。はっきりと光が映り込んだりはしません。添付画像のように資料を置くと、その照り返しがはっきりと映り込むのに対しライトバーの光そのものは映り込んでないのがわかると思います。

まとめ

 買いか否かという質問には「よくわからない」という答えになります。同種の競合製品を使ったことがないので。 机上に置くデスクライト比でいうならば「紙の資料類がちゃんと照明されて画面への明確な映り込みもない」ということでDLT10の勝ち。気に入りました。

|

VRChatのworldをquest対応

quest対応world

 

 VRChatはパソコンとoculus questの二種類の機材で遊ぶことができます。ハードウェア性能の違いで、quest対応のワールドやアバターは見映えでどうしてもPC向けのものに及ばなくなりがちなのですが……最近はquest対応していても見映えする3Dモデルが増えてきました。そしてこんなイベントも。

 

20220118-152340

 

 参加して先達の話を聞いてきました。
 というわけで次は実践です。

 

Vrchat_1920x1080_20220115_163651469

 できました! 『人形工房 Malion et Atelier』のquest版。

 以下、作業した際の雑感を。

 

quest対応とは?

 quest対応ワールドは制限が厳しいです。

  1. 容量100MB未満(必須)
  2. 推奨シェーダーがごく少数
  3. 容量や推奨シェーダー対応だけだと大抵とても重い

 必須の対応は「1」のみですが、「2」「3」にも配慮しないと(よほどシンプルなワールドでもない限り)まともに遊べません。例えば「2」ですが推奨を無視すると、

  • PC用シェーダーをそのまま使っても動くが、とても重くなりがち。
  • 自作・カスタムシェーダーも(見た目を追求するので)大抵重い。
  • 透過・半透過も公式非推奨。割と重い。

 「2」の対応は比較的簡単です。シェーダーをただVRChat mobile対応シェーダーに替えるだけ。ほとんどの市販アセット(部品)はStandardシェーダーが指定されていますがそれをStandard Liteに置き換えてしまえば動きます。一応。
 問題は「3」。リアルタイム3DCGとして軽快に動作するよう調整が必要です。具体的には、

  1. オブジェクト数(メッシュ数)をできるだけ少なく。
  2. マテリアル数をできるだけ少なく。
  3. 「2」に伴いテクスチャもできるだけひとまとめに。

 「そんなこと言われても……」ってなりますよね。blender等のモデリングソフトで全部自作しているなら最初からこの三つを満たすようモデリングすればいいし難しいことではないですが、市販アセットを組み合わせたプロジェクトでの対応となると「どうすりゃいいの?」となります。
 そこで定番ツール『MeshBaker』です。

MeshBaker

 具体的な使い方は下のような記事が参考になりました。どれもほぼ同じ内容でした。

 以下はMeshBaker全体像を把握するための話です。

 MeshBakerはunity向けの「テクスチャのアトラス化とメッシュ・マテリアルの結合ツール」です。定価は$90弱ですが、unity asset storeでは年に数度のセールで半額だったり70%オフになったりします。無料版もありますが結合可能マテリアル数が少なくてあまり実用的ではなさそうです。

  • オブジェクト数が少ない方が表示負荷が少ない→メッシュ結合
  • マテリアル数が少ない方が表示負荷が少ない→マテリアルを結合し、テクスチャも結合(アトラス化)

 という3D負荷を減らすためのツール。便利! ただし難も多いです。

  • 負荷軽減のための大雑把な知識が必要。
  • 作業の見通しが悪く手順がわかりづらい。
  • 結果が予測・制御しづらい。

 特に最後の「結果が予測しづらい」のは苦しいです。UVが壊れたように見えたり、テクスチャアトラスが不本意な状態になったり。オブジェクト内部の問題でそんなトラブルが起きるようなのですが対処が困難です。(アセットの中身をblenderに戻して設定し直さないといけなさそう)
 また一番目の「知識」の必要性も痛感させられます。MeshBaker作業を始めてから「ああ、動的要素とスタティックなものをあらかじめ分類しとけば良かった」って思うはず。一通り作業してから身に染みる手順が発生します。MeshBakerで得られる利点が「作業の見通しの悪さ」という難点の先にあるので「お勧め?」と訊ねられても「う~ん」と言葉が濁ります。
 でも数百あるオブジェクトを数個にまとめるような作業だとMeshBakerは便利です。元のデータを破壊するようなツールではないので安心して試行錯誤できます。

対応の結果

 quest化作業の実際はというと。(例は人形工房・初代questにて)

  • buildのみquest用→メモリ不足で落ちたり一桁fps以下
  • シェーダのみquest推奨に→10fps以下
  • オブジェクトを(オクルージョンカリングを意識しつつ)統合。シェーダはPC用。→10fpsくらい
  • (ガラス以外)推奨シェーダー化+オブジェクト統合→25fps

といった感じでした。アニメーションさせる人形モデルはボーンが入ったままだったりするので人形展示エリアは最低の25fps程度、スポーン部屋は40~50fpsとなります。部屋の仕切りでオクルージョンカリングも効果あるみたい。

quest対応のツボ

シェーダー:Lightmapped

 シンプルなdiffuseとライトマップの組み合わせですがstatic部分はこれでPC版に近くなります。テクスチャ主力ワールドのquest対応では一番頼りになるシェーダーです。

シェーダー:透過

 quest推奨シェーダーには透過/半透過がありません。ガラスのような表現がどうしても欲しい場合には、負荷に妥協して非推奨の"Standard"のtransparentが無難です。ガラス専用シェーダーの類は比較にならないくらい重いです。questでもReflection Probeは機能します。

シェーダー:dynamicオブジェクト

 インタラクトできたりアニメーションしたりするオブジェクトのシェーダー選択肢はStandard Liteが筆頭、ツヤテカさせたいものはBumped Diffuse Specularを。ただしquest推奨シェーダーはReflection Probeに反応しないようです。どうしても映り込みが欲しいオブジェクトはPC版向けのStandardシェーダーでSmoothnessを1へ。

シェーダー:頂点カラー

 quest推奨シェーダーはLightmapped以外だと「Albedoに頂点カラーを乗算」する仕様です。意図せず頂点カラーが設定されていると色がおかしくなります。また、逆にテクスチャを使用せず頂点カラーで彩色することもできます。人形工房ワールドでは作業机の上の顔料ビンの中身をテクスチャなしの頂点カラーで色づけしてあります。(メリットはあまりなさそう)

オクルージョンカリング

 公式マニュアルのオクルージョンカリングの項を読むべきです。MeshBakerでオブジェクトをまとめる際にも「まとめ過ぎるとオクルージョンカリングが効かなくなって負荷が減らない」事態が起こり得ます。どの程度オブジェクトをまとめるかはバランスポイントを探して手探りになると思います。例えば「ワールド全体に散らばってる小物」はひとまとめにせずに、中程度に領域別にまとめた方が無難なはず……。

MeshBakerでテクスチャ容量が増えた!

 テクスチャのアトラス化をすると使っていない部分が出るので容量的な効率は少し落ちます。が、それだけでなく、アトラス化テクスチャ外の個別のテクスチャもリンク、アップロードされてしまいワールド容量が倍増してしまうことがあります。そんな時はhierarchyからTextureBaker(0)以下を削除。

ギミック

 アバターと違いワールドで利用できるスクリプトはPC版と同じです。ドアの開閉のようなアニメーション、時計の針を現在時刻に動かす、操れるマリオネット、パーティクル、青空文庫システムなどのギミック類はPC版ワールドと同様に遜色なく機能しています。

まとめ

 わからないことがあった時に一番頼りになるのはunity公式の日本語マニュアルです。
 マニュアルはとてもよく整備されていてわかりやすいです。quest対応のための軽量化は、ゲームを前提としたunityの基本のようです。(questに採用されてるチップはスマホ用でスマホはunityゲームの一大市場です)

|

VRChatのUdonで遊ぼう

Udonとは?

 UdonとはVRChatでWorld製作時、使用することのできるグラフィカルなノードプログラミング言語です。こんなの。


操り人形のUdon Graph

 画像は操り人形を作った時のGraphで、Udon環境にはC#をほぼそのまま記述する(いわゆるプログラミング言語のフツーのイメージの)udonsharpという有志開発の環境もあります。

不評なUdon Graph

 Udon Graph、情報を求めて検索すると大変不評です。実際、VRChat World向けの高機能なasset(部品)を作成・配布している開発者はudonsharp利用派が圧倒的多数です。どうやら初期のUdonの機能があまりに少なく、画面操作もこなれていなかったために忌避され、udonsharpの登場でSDK3移行組が増えたみたい。また、プログラミングスキル持ちはテキストベースの開発言語の方に慣れているのでグラフィカルなノードプログラミングは迂遠に感じたのかも。

Udon Graphの実際

 実際はどうなのだろう、と触ってみました。

 悪くない。

 少なくとも、

  • Animation起動
  • 音の再生
  • オブジェクトの回転・移動

程度のことであればとても楽です。具体的には、

  • ドアの開閉
  • オブジェクトの表示/非表示
  • 入場音の再生

といったあたりでしょうか。udonsharp(やunity標準のC#)のようにプログラミング初学者には呪文でしかない変数宣言から解放されるのは好印象。unityのHierarckyタブにある目当てのオブジェクトをUdon Graph画面にドラッグしてくればそのまま利用できるのです。ノードを繋ぐ作業自体も楽しい。

 一方でうんざりしたのは四則演算や条件分岐でした。

 型変換や掛け算、割り算ひとつするごとにノードをひとつずつ増やさなくてはいけません。数式を、数式のままの形で扱えない……。if文の条件に入る論理演算も同様です。数式を扱うような処理はudonsharpを利用した方が断然楽です。

どハマリしたとこ

 以下は個人の体験に基づいているので錯誤している可能性も大いにあります。

Udon Graphで大いに填まったのが変数の代入です。

「え?」って感じですよね。

 試しに i=i+1 に相当するノードをUdon Graphで組んでみてください。

20211127-033043

 C言語系に慣れた人は上のようになると思うでしょう? ところが下のようにするのが正解のようです。(実は正解ではない。後述するがChimeCountを直接Set TempCCに代入してるのは結果をnullにする可能性があるっぽい)

20211127-033401

 Udon Graphは処理手順に注意が必要なようです。

 また、芳しくないバグ?仕様?もあります。

  • debug.logでconsoleに変数内容を表示しようとしてもnullが表示されることがある。
  • 変数から変数へ、演算を経ない代入をすると値がnullになることがある。
  • Udon Graphで用意されたGet系ノードは変数に格納せずに呼ぶとnullを返すことがある。
  • 分岐させた制御ノードを合流させると正常に動作しない。
  • ノードの変数をドロップダウンから別のものへ変更すると接続できないはずの型へ変更できてしまう。

作例

 以下は自作world『人形工房 Malion et Atelier』で使用したUdon Graphです。

  • 時計の分針、時針を動かして現在時刻を表示
  • 時鐘を鳴らす

というもの。簡単なはずの処理ですが割と複雑になってしまいました。

20211205-130508

ゲームプログラミングということ

 Unityも、その上で動くVRChatも、ゲームを前提としたシステムです。Udon Graphで記述する内容の多くはEvent発生時の一回だけの処理かOnUpdateのような毎フレーム行われる処理になります。特に後者の毎フレーム行われる処理はループの中にあることを強く意識しないとうまく機能しません。

まとめ

 基本的な使い方でトラブルに遭遇しがちなUdon Graphですが、UnityC#の提供している機能の多くにアクセスできるようにはなっていきていて、初期のUdon(SDK3)がSDK2に比べて使える機能が少なすぎたというのは過去の物と思います。アニメーションの起動やシンプルなギミックはUdon Graphのノードプログラミングが簡単で楽しく、数式を扱うならudonsharpが良さそうです。ひとつのworldでUdon Graphとudonsharpが混在していても問題ないので、機能ごとに向いた方を使っていこうと思います。

 悪くないよ、Udon Graph!
 udonsharp構築したMerlin氏すごい!

|

VRChatでworld製作

もくじ

  1. TUKIKAGEカフェ
  2. SF系集会イベ会場を作りたかった
  3. 原作再現ポイント
  4. イベント会場として
  5. 実製作
  6. 課題詳細
    1. blender作業
    2. 基本のライティング
    3. Light Map
    4. Light Probe
    5. Reflection Probe
    6. 自作小説・青空文庫システム
    7. oculus quest版
    8. To Do
  7. 使用アセット一覧
  8. まとめ

 

TUKIKAGEカフェ

 VRChatにてworldを製作・公開しました。川原由美子のコミック作品『TUKIKAGEカフェ』に登場する喫茶店の再現・二次創作worldです。このworld製作についての四方山話・感想をまとめておきます。

Vrchat TUKIKAGEカフェ Vrchat TUKIKAGEカフェ

TUKIKAGEカフェ -Moonlight Cafe- by 藤あさや TouAsaya

SF系集会イベ会場を作りたかった

 当初、作るつもりでいたのはSF(Sci-Fi)について雑談集会のできるworldで、クラークの『白鹿亭綺譚』をモデルにするつもりでした。ところが白鹿亭は英語版の表紙こそ巨大タコが絡んでいたりしますがぱっと見の建物としてはありふれたバーという設定で特徴を出すのが難しそうです。そこで方針転換。私にとってのSFジャンルのビジュアルならば加藤直之、佐藤道明、そして川原由美子です。VRChat内の漫画紹介イベントで『TUKIKAGEカフェ』を紹介したりfriendに推して良い手応えが得られていたところでもありました。
 ならば、『TUKIKAGEカフェ』をSF集会の会場にしてしまおう! となりました。

原作再現ポイント

 二次創作として再現してみたポイントは以下の通り。

  • ながいながい下り階段
  • 「アイスクリームみたいな」月を象った建物
  • 階段に踊り場があること
  • カフェ室内は東洋の香り漂わせたい
  • 背景でイメージ的に登場した蝶・花をどこかに盛り込む(天の月の影)

 原作にはない要素は、

  • 月の見える天窓(原作には窓がないと明記されている)

イベント会場として

 一方でイベント会場としての機能も必要です。

  • ひとつの輪になってトークンを渡しながら会話
  • 進行している話題リスト表示
  • 自身の姿を確認する鏡
  • 筆談具
  • イベント中負荷が軽いこと

 こんな要件を満たせれば良いと思ったのでした。

実製作

 二次創作worldとはいっても原作『TUKIKAGEカフェ』はデテールは細かに描かれる部分と少女漫画的、あるいは中国絵画のように幻想的なイメージに寄せて描かれている部分とに大きく分かれ、3D構造物化では自由度の大きな作品です。というわけで

ビルとビルとビルビル
ばっかりの谷間に
アイスクリーム
みたいなカフェ
ながいながい
階段をくだって
たどりつく山頂

川原由美子『TUKIKAGEカフェ1』朝日新聞出版社p.6-7より

のような描写や印象的なカットを頼りに、具体的な形は想像で補い作ることにしました。

 また、VRChatのworld製作は実質的に初めてです。技術的な課題を決めて取り組むことにしました。

  • blenderを使いたい
  • unityの一般的なworld要素は一通り使ってみよう
  • アニメーションやインタラクションする機能は外部アセットに頼ろう

を基本に据えました。具体的には

  • 月を象った球形の建物のアセットなどないので自作
  • Light Map、Light Probe、Reflection Probe等の動作の軽量化&ライティング要素を一通り使おう
  • worldペン、鏡、テレポーター、椅子といったSF集会イベ用の機能を揃えよう
  • ボリュームライトがかっちょいいのでひとつは使おう
  • 自作小説も置きたい

がTo Doとなりました。
 world作りに当たっては、VRC哲学カフェのworld自作&イベ運営されているまさきさんの『設計からUnityまで はじめてのワールド作り』やtiwaさん主催の『World Creator's Cafe』イベントが大きな力になってくれました。またunity公式のマニュアルも日本語化されていて使いやすいです。具体的な調べ物はほぼ公式マニュアルで片付きます。

課題詳細

blender作業

 モデリング自体はコミPo!用にmetasequoiaをいじっていたり、VRChat用にアバターを自作していたこともあって作業量と造形センスの不足くらいしか問題がなかったです。blenderこねこね、楽しいです。

基本のライティング

 まずはライティングを調整しておかなければ始まりません。worldの見た目の大半が決まるライティングは説明しづらいですが、現実で写真を撮る時のライティングと近いです。大雑把に作業手順を並べると、

  1. とりあえずメインになるdirectional lightを置く
  2. 一番暗くなる影となる場所の明るさをskybox、environment lightingで決める
  3. ダイナミックなdirectional lightは一個は置く(おまじない)
  4. point lightやspot lightを配置して明るく照らす場所を決める

 暗い場所の明るさを最初に決め、明るい場所を作ってグラデーションやコントラストを調節する感じです。

Light Map

 unityのライトマップ機能はworld制作では必須に近い機能です。動的なライティングを最小にして、静的(static)なライティングをメインにすることでworldの描画負荷を下げることができます。陰影をあらかじめ焼き付け――ベイクする機能です。ライトマップはパラメーターも多く、初めてunityで扱うとなれば手探りになります。「ライトマップってなんなの?」というところから呑み込まないといけないのでけっこう面倒くさかったです。

Light Probe

 ライトプローブは「ライティングを静的にしちゃったらアバターの照明がどこでも一様で雰囲気できない」を解決する機能です。worldに設置した静的な照明をアバターを始めとした動的(dynamic)な物体に反映させるためのもの。屋外と屋内で明るさに差があるようなworld、全体が薄暗くて点々と照明が存在するようなworldに効果的なようです。目的がわかっていれば作業は簡単。

Reflection Probe

 これは製作するworldによって要不要が大きく分かれます。ツヤテカの金属や映り込みの欲しいガラスがあるならばぜひ設置しましょう。ツヤテカの部分に周囲の景色を写し込むための機能です。pick upできるワイングラスなんかは周りの景色が映り込むとすっごく格好良くなります。公式マニュアルにとても役立つことが書いてあります。

自作小説・青空文庫システム

 これは別記事『VRChatの青空文庫システムで自作小説をworldに置こう!』にて細かく説明しています。テキストファイル相当の容量+8MBで、自worldに縦書き日本語電子書籍が置き放題になるアセットです。イラストや横書きは不可。本来は青空文庫の16000以上の作品を置くためのものです。

oculus quest版

 今回のworldはquest版も製作しました。といっても作業は、

だけです。

To Do
  • パーティクルを使った演出
  • 屋外の低い場所に霧を這わせたい
  • オブジェクト数が100近いのを数個にまとめ、テクスチャもアトラス化したい→MeshBakerのセール待ち
  • 楕円軌道リングのアニメーション解説モデルの仕込み

使用アセット一覧

蝶の飾り - 藍夜野雑貨 booth支店 - BOOTH
メガネ向けガラスシェーダー Ver.2.1 - お休みさんの作ったもの - BOOTH
[VRChat]ワールド用インスタンス人数カウンター(SDK3.0) - KineL - BOOTH
【VRChat】スイベルチェアーギミック(座高調節機能付き)【Udon】 - みみーラボ - BOOTH
VoxkeVolumetricLight - ボクスケショップ - BOOTH
VRC Udon Starter Kit β Ver0.90 - Tesla design laboratory - BOOTH
【VRChatワールド用】青空文庫システム - スズ製作所 - BOOTH
誰でも操作できる同期uGUI - テキスト入力編 - ハツェの真時代傾向璋 (hatenablog.jp)
Rock and Boulders 2 | 3D Exterior | Unity Asset Store
Yughues Free Wooden Floor Materials | 2D Wood | Unity Asset Store
Yughues Free Decorative Plants | 3D Interior | Unity Asset Store
Plank Textures PBR | 2D Wood | Unity Asset Store
Skybox Series Free | 2D Sky | Unity Asset Store
Wooden Floor Materials | 2D Wood | Unity Asset Store
Table with chairs x3 Free | 3D Furniture | Unity Asset Store

まとめ

 最初にworldをprivate登録したのが2021年の1月。当時はまだ白鹿亭を作るつもりでした。具体的な作業に入ったのは6月。機能は新造せず既存のものを利用し、見た目を整える範囲の作業だけしたこともあって楽しめましたし、unityの機能を調べるのも面白かったです。

|

HaritoraX購入

HaritoraX

 五月半ばにVR用フルトラッキング機材・HaritoraXを予約購入しました。

 HaritoraXは慣性センサ(ジャイロ)を使うトラッキング機材で27,900円。PC用のVR機器です、HMD+ハンドコントローラーの三点トラッキングに加えて使用することで胴体・足の動きをVR世界に反映させることができるようになります。私の環境では

oculus quest

ゲーミングPC

HaritoraX

ということになります。

HaritoraX到着

_dsc0185
_dsc0187

 七月末に発売元から連絡があり私の予約したHaritoraXの発送は8/6になるとのこと。連絡通り8/6発送で8/7に到着しました。

HaritoraX稼働!

 デスクトップPC(HP Pavillion)のbluetooth環境がイマイチだったのか当初は通信が確立せず、bluetoothのUSBドングル+延長ケーブルを手配して動くようになったのは8/10のことでした。

Vrchat_2560x1440_20210810_222742803

 足が動いた!
 生身の足の位置と多少位置がズレていたりしますが、それは上半身でもあることであまり気になりません。内股もガニ股もできる。足も組めなくはない。何気なく嬉しかったのが腰のひねりや上半身の傾きが表現できること。自然なポーズが自然に取れる!

 PCの画面しか知らなかった状態からoculus questでVR世界を体験したときほどのインパクトはないですが、こんなに簡単に全身が動くようになったことに感慨を覚えます。使い始めたばかりの印象を列挙すると……

  • 大振りのアクションはHMDを付けたままだと怖くてできない(ダンスやアクション見せてる人すごい)
  • トラッキングが“飛ぶ”ことはなく、キャリブレーションも思ったほどずれない
  • トラッキングのレスポンスは両手と同じくらい
  • キャリブレーションにはコツがあるっぽい
  • VRの準備にかかる手間が増えた
  • バッテリーの持ちがかなり良い
  • 鴨居にロープを張って雑多なものをぶら下げてるような部屋でもトラッキングできる。viveのベースステーション&トラッカーで伝え聞くように遮蔽物や赤外線の反射に阻害されない。(布団被ってても問題なく機能する)

 使えるようになるまでに遭遇したトラブルは……

  • Winのbluetooth管理では認識するのにHaritoraConfiguratorで接続できない→BTドングル+延長ケーブル買って解決
  • HaritoraXの組み立て(マジックテープに本体を組み込む)で向きを間違えて最初変な動きになった
  • VRChatログイン(アバター変更)後、Tポーズから抜け出せない→両手コントローラーを腰に当てトリガー
  • OVR Advanced Settingのspacedragを使っても地面に潜れない→HaritoraConfiguratorで設定

という感じです。HMDセットの三点トラックだけで十二分にVR感は楽しめるのでさほど強くは推せないのですが、VR世界の写真被写体としての幅が大きく広がるのは間違いないです。AirLinkとの併用で(長時間ではないですが)完全無線フルトラも可能なのでダンスを楽しむVRChatユーザーにとっても魅力があるのではないでしょうか。

購入一ヶ月後

 慣れてきた頃の感想など。

  • キャリブレーションのズレは装着中のバンドのズレが大きい
  • フルトラ適性の高い/低いアバターがよくわからない(明確に適性の低いものはあるがベストなものが見つからない)
  • バッテリーの持ちは間違いなく良い
  • 装着に時間がかかる。フルメッシュのzozoスーツみたいなの欲しい。

|

VRChatの青空文庫システムで自作小説をworldに置こう!

 以下の記事は青空文庫システムv8での内容です。

青空文庫システム・AOZORA LIBRARY

 六月下旬に青空文庫システムというVRChat用のアセットが登場しました。青空文庫収録作品の中から16082冊(登場当時)を収録したworldを作成するためのものです。作者さんによるこのアセットを使用したworld「AOZORA LIBRARY」を訪れて驚きました。一万六千冊以上の本があるのに200MB弱しかないのです。
 この収蔵数と容量から「テキストで格納しているのでは」と想像し、ツイートしてみたところ、作者の方から肯定のお返事を頂きました。テキストを1ピクセル2文字で画像にエンコードして格納しているとのこと。

 素晴らしい!

 何が素晴らしいかというと、これまでVRChatのworldで「本」の体裁で読めるものを置こうとしたときにテクスチャ画像として貼り付けるという形で持ち込むのが一般的でした。特に縦書きはunityの文字系機能が対応していないこともあり、テキストをテキストのまま持ち込むのは困難だったのです。そこに、

  • テキスト形式
  • 縦書き
  • ルビ
  • 字下げ
  • 文字が滲まないボケない
  • フォントの字形が画一的でない

に対応した「本」のアセットの登場です。文字はフォントで表示されるため、近づいても滲んだりボケたりしません。読める本16000冊余を置いたworldが作れてしまいます。
 最後の字形が画一的でないというのは紙の(特に活版時代の?)印刷物的な印字結果の揺らぎを与えたもののようです。

 このアセットが公開されてから数日後、自作テキストをこのシステムでworldに置くことができる「おまけプログラム」が追加公開されました。
 この「おまけ」はサポートなしが明言され公式からはガイドなしです。その方法を私にわかった範囲で解説します。(この記事の内容は私が勝手に調べて推測の元に書いたものです。強調しますが、開発元から「サポートなし」が明言されている機能です。「おまけ」機能に不明点があったとしても作者・スズ製作所様への問い合わせなどはしないでください)

大まかなしくみ

テキスト・書誌情報設定

テクスチャに格納

worldプロジェクトに設定

という流れで作業をします。

「おまけプログラム」設定ファイル構成

 ダウンロードした「おまけ.zip」は図のように展開されます。

20210629-031231

 自作テキストを登録するために触れる必要があるのは

  • skycode/books/*.xhtml …… 書籍テキストを格納する
  • skycode/books.json …… 書誌情報を格納する

のふたつです。これらを編集後、skycode/skycode.exeを実行すると以下のファイルが生成されます。紫字はv6にて追加されたもの。

  • skycode/out/card_0.png
  • skycode/out/code.txt
  • skycode/out/content_0.png
  • skycode/out/authors.txt
  • skycode/out/numPages.txt
  • skycode/out/sortedAuthorBookIndices.txt
  • skycode/out/sortedAuthorRubys.txt
  • skycode/out/titleRubys.txt
  • skycode/out/titles.txt

これらをプロジェクト内に配置・設定することで自worldに青空システムを使った自作「本」が置けるようになります。

作業手順1 書籍内容の用意

 「おまけ.zip」を展開した中の skycode/books/sample.xhtml がサンプル書籍になっています。

改行 <br />
改ページ <span class="notes">[#改ページ]</span>
字下げ

<div class="jisage_?"></div>
?に字下げ文字数を設定。<div>と</div>の間に字下げする段落を記入。

ルビ <ruby><rb>親字</rb><rt>ふりがな</rt></ruby>

 使用できる記法は以上。sample.xhtmlの書式を真似して、本ごとにxhtmlファイルを分けて作ります。本はsample.xhtmlと同じ場所に置きます。一冊一ファイル。ファイル名はお好みでOK。

作業手順2 書誌情報編集

 同様に skycode/books.json を編集します。

        {
"title": "タイトル",
"title-ruby": "たいとるるび",
"subtitle": "サブタイトル",
"subtitle-ruby": "さぶたいとるるび",
"author": "著者",
"author-ruby": "ちょしゃ",
"translator": "翻訳者",
"translator-ruby": "ほんやくしゃるび",
"xhtml-path": "books/sample.xhtml"
},

「タイトル」や「たいとるるび」「著者」「ちょしゃ」をご自身の本のものに書き換えればOKです。「サブタイトル」や「翻訳者」といった項目が不要であれば : より右側の""内を削除しておきます。
 "xhtml-path": "books/sample.xhtml" は skycode/books に置いた(作業手順1で作成した)書籍ファイルのxhtmlのファイル名を記入します。
 初期状態では三冊分の書誌情報が仮に書き込まれていますが、skycode/books に置いた表示したい「本」(※)の数だけ記述します。

  書誌情報 books.json の一番上の一冊はアセットの「検索」機能の結果には表示されません。(world : AOZORA LIBRARYではワールド案内用書籍――テーブルの上に置かれている本――に使われているそうです) ランダム棚には表示されます。ダミーの書籍なりなんなりを登録しておくのが良さそうです。
 ※ {}は必ず対になる一組の数、区切りの , も過不足のないように。

作業手順3 unity用ファイル生成

 作業手順1、2で本の内容と書誌情報が揃ったら、skycode/skycode.exe を コマンドプロンプト から、かつ skycode.exe のあるディレクトリで 実行します。すると skycode/out フォルダに以下の九つのファイルが生成されます。

card_0.png 書誌情報が格納されたpngファイル
code.txt unityプロジェクト内のファイルを編集するための情報
content_0.png 「本」の本文がひとまとめに格納されたpngファイル
authors.txt 著者情報
numPages.txt 「本」の各巻開始インデックス
sortedAuthorBookIndices.txt 著者のインデックス(検索用)
sortedAuthorRubys.txt 同上ルビ(検索用)
titleRubys 「本」タイトルルビ(検索用)
titles.txt 「本」のタイトル(検索用)

作業手順4-1 unityへの青空システムの導入

 青空システムの「本」を置くためのworldのプロジェクトを開きます。(worldそのものの作成、sdkの導入等はここでは説明しません)

 青空システムのアセットをプロジェクトに追加します。

作業手順4-2 unityプロジェクトへの「本」データの追加

 次いで、explorer上での作業になります。
 unityプロジェクトの保存フォルダ(˜/Unity/プロジェクト名/Assets/AozoraLibrary/Textures)に作業手順3で作成されたファイルすべてをコピペで上書き保存します。

 unity上での作業になります。
 プロジェクトのprojectウィンドウの ˜/Asset/Aozora/Texutures フォルダでは card_0.png とcontet_0.png 作業手順3でコピーしたもの
に置き換わっているはずです。これら画像のinspectorで、下ので囲ったようになっていることを確認します。「本」のデータにはバイナリ一致が必要であるためのオマジナイです。

20210629-042750_li-2

作業手順4-3 unityプロジェクトの書籍データの関連付け

 書誌情報と書籍内容の入ったpngデータをunityのオブジェクトへ関連付け(の確認と余分な関連付けの除外)をします。

 Hierarchyの
 Asset/AozoraLibrary/Material の CoverFace マテリアルの Card 項目画像と PaperRight と PaperLeft マテリアルの Content0 項目画像が それぞれ 作業3 で上書きコピーし 4-2 で確認した画像に指定されていることを確認します。

 作業4-2でご自身で追加した以外の画像( Content1 や Content2 )が登録されていた部分はnoneにしておきます。

作業手順4-4 unityスクリプトの変更

 作業手順3 で得られた code.txt の内容をプロジェクトのスクリプトに反映させます。
Projectの Assets/AozoraLibrary/Script フォルダの内容を表示します。以下このフォルダでの作業です。拡張子 .cs ファイルがテキストエディタに関連付けられている前提となります。

 Book.cs をテキストエディタで開き、
 private int[] numPages2 =
 の右辺を作業手順3で得た code.txt のものに置き換えます。

 SearchSystem.cs をテキストエディタで開き、
private string[] authors =
private string[] titles =
private string[] titleRubys =
private string[] sortedAuthorRubys =
private int[] sortedAuthorBookIndices =
 の右辺を同じように code.txt のものに置き換えます。

終了

 作業手順4-4の変更内容を保存し、テキストエディタを閉じて、worldのアップロードを行います。手順に誤りがなければ自作の「本」がVRChat内で読めるようになっているはず。

サンプル

 上記作業で作成した自worldです。

VRChat - TUKIKAGEカフェ -Moonlight Cafe-

追記・quest向けworld

 青空文庫システムはquest向けworldにも導入できます。表示品質はPC版とまったく同等です。すごい!

  • world容量上限50MB

 制限はきついですが、市販の文庫本一冊相当の文章量で300KB程度にしかならないので数十冊であれば十分に設置可能です。quest対応のための作業は

  1. 作業手順4-1以降のunity上の作業が違うだけ
  2. buildターゲットをquest(android)に設定します
  3. 書誌情報 card_?.png と本文 content_?.png に加え、フォントを格納している font.png にも作業手順4-2の設定をして不可逆圧縮を回避します。
  4. アップロードで完了

 ファイルサイズは

書誌情報 card_?.png 数KB
本文 content_?.png テキストファイルとほぼ同容量
フォント font.png 8.4MB

 程度なので個人のライブラリとしては十分な数の本が置けるのではないでしょうか。

|

トラックボールELECOM HUGE M-HT1DRBK購入

トラックボールが壊れた

 WindowsPCで愛用していたトラックボールが壊れてしまいました。Logitech(現logicool)のMarble Mouse USB(現TRACKMAN MARBLE)という中指操作タイプです。同じと思われるものが今も売っているのですが、さすがに今の時代では動きの検出も粗く感じられてきたので最近のモデルから代替品を探すことにしました。

ELECOM HUGE M-HT1DRBK購入

 店頭の見本にいくつか触れ、ELECOMのHUGEというモデルにしました。
 WIRELESS版です。ボールの直径は52mmで比較的大玉の人差し指・中指で操るタイプ。Marble Mouseを買った頃のELECOMのトラックボールは見るからにちゃちなモデルばかりでしたが、今はKensingtonやlogicool製品の良いライバルのようです。

ELECOM HUGE M-HT1DRBKインプレッション

ELECOM HUGE M-HT1DRBK  使い始めのレビューなど。
 机の上でキーボードと並べてみた第一印象は「でかっ!」でした。A5版の雑誌に迫る大きさです。
 ボタンは8個。そのうち3つはELECOM製のユーティリティを使わなければ機能が設定できません。センターボタン兼用のホイールは一定角度ごとに動きに段差があるタイプ。うーん。ボタン類はボールに対して手首側に寄り過ぎている気もするけれどこの辺は慣れかな。
 52mmのボールは大きく動かすときはとても滑らかでするするーと回ります。ごくわずかに回転させようとすると重い……粘る感じ。これはMarble Mouseでも似た傾向でした。HUGEの場合はセンサーの感度を500/1000/1500カウントと三段階に切り替えられるので細かな作業をするときはそれを活用しろということなのでしょう。

エレコム マウスアシスタント

 HUGEの細かな設定はELECOM製品専用ソフト・マウスアシスタントで行います。デフォルトでは機能の設定されていなかったボタンに「クリックロック」を設定しようとして選択肢になく、なんで?と思ったのですが、Windowsではme、XPの頃から「クリックボタンの長押し」で「クリックロック」にする設定があったようです。知らなかった……。
 ホイールには勢いよく回すとスクロールし続ける「フライングスクロール」という機能を設定できるのですが、これ、発動させる操作度合いが掴みづらくてなかなか意図したように動きません。スマホの洗練された操作が身近になった今の時代には残念な感じ。

一週間ほど使ってみて

 ボタンの配置や以前のMarble Mouseにはなかった機能にも慣れてきました。

  • センサー感度の変更スイッチはけっこう実用的。3DCGモデリングツールでは "LOW" に日常的な用途では "MID" に切り替えて使っている。(でもそこはマウスカーソル移動の加速で手動切替なしで対応すべきとこのような気がする・応答関数にヒューリスティック曲線くらい使ってよ)
  • パームレストの素材は感触が良い。
  • 無線接続でも安定している。ネットではUSBに挿す無線親機の動作が不安定という話を見るが、うちではその症状は出ていない。
  • マウスの中ボタンスクロールに相当するスクロールボタンは使い勝手良い。同ボタンに仕込まれたチルトスイッチはまったく使う機会委が無い。
  • マウスアシスタントで設定したFn1、Fn2ボタンの音量調節が機能しないことが多い。設定内容時々おかしくなってる。
  • ボールや支持爪の清掃がそれなりの頻度で(週に二回くらい?)したいのだけどボールの取り外しにけっこうな力が必要で煩わしい。50mm以上ある大玉のトラックボールで、モバイル向けだろうボールの外れ防止が必要だろうか。トラックボールはボールの露出割合が大きければ大きいほど良いので球の半分以上を隠す形になっているこの設計はデメリットしかないのでは。Marble Mouseでは外れ防止の爪三点以外の部分を大きく削る筐体デザインでボールの露出割合を増やしていたのが好ましかった。
  • 「R」「Fn3」のボールの右側にあるボタンが筐体シルエットの外面にあって、周囲に置いたものに当たって押されやすい。特に「Fn3」。
  • 多ボタンにこちらの頭がなかなか対応しない。「R」と「Fn3」、「L」と「◀」を混同しやすいのでボタン表面の触感に差がついていると使いやすいはず、とエンボスシールを貼ってみたけどあまり変わらない。
  • 設置面とボール底面の距離がけっこうあって無駄に全高が高くなってしまっている。大きさが使いやすさにあまり貢献できていないと思う。

壊れました

 2020年9月に購入記事を書いたこのトラックボール、2022年9月下旬に機能しなくなりました。

|

VRChatで朗読会

朗読

 VRChat、リアル知人ではやっている人が見当たらなくて一人きりで始めたのが四月後半。初心者向けガイドやquest向けの集会をVRChatイベントカレンダーで探して参加してみていたのですがそんな中に「日曜夜の持ち寄り朗読会」というものがあり、楽しく聞きに行っているうちに朗読の実践もしてみたくなりました。

機材

 本だけあれば特別な機材はいらない、のは直接対面する朗読会での話。
 oculus questにはチャット用のマイクも内蔵されていて、環境音・雑音を拾いにくく、かつサ行や撥音の突き刺さる音も緩和してくれているらしい優れものではあるのですが、HMDだと手元にある紙の本を見ながら朗読することが困難です。(questで朗読していた方もいてHMDをずらして隙間から原稿を読んでいるとのこと……なのですが明らかに朗読スキルが高く原稿内容もほぼ暗記するくらいまで読み込んでいらしたように思われ真似ができない)
 デスクトップPCを購入したのだから、HMDなしでのVR朗読を試してみよう!と機材での解決を計ることにしました。

 用意したのは以下。

机上スタンド付USBマイク
ノイズリダクションツール・RTX Voice

 マイクはAmazonで売っていた三千円弱の「自称コンデンサマイク」で電気回路的なホワイトノイズは皆無ですが音質は……1500円くらいのダイナミック型と大差なさそうなもの。これだったら2000円くらいのUSBヘッドセットで良かったかも。
 RTX VoiceというのはnVidiaのグラフィックチップ用のノイズキャンセルツール。RTXシリーズ用ですがGTX1xxxシリーズでも(少し手間がかかりますが)動作するようです。これ、設定が「チェックをひとつ入れるだけ」なのに効果は絶大で、開けた窓から入り込んでくる都市部の騒音がほぼカットされます。声の質の方は……うーん、ON/OFFで変化しているのかわかりません。音質に拘りがある方は動画実況用ツールで細かくフィルタの設定ができるものを使うのが良さそう。

朗読してみた

朗読会場

 道具を揃え、タイトルを選び、ボイレコに向かって四回ほど練習して、前述の朗読会で朗読に挑戦してみました。題材は「断Φ圧縮」草野原々(『SCI-FIRE』文学フリマ2019年秋発行号)。SF小説です。同人誌から選んだタイトルですが作者の草野原々はプロのSF作家で「今のSF」で一回で読み切れるコンパクトな話をとチョイスしました。小説としては短い部類ですが、朗読にはおよそ20分かかります。

 ああ、棒読み、加速する早口、回らない呂律……。

 当日の朗読会の参加者は25人くらい。朗読中の聞き手は基本マイクmuteで人の気配もありません。目の前に並ぶ人々がナスかカボチャのようです……いや、ほんとにカボチャ型のアバターもいました。
 練習の段階から「抑揚つけてキャラを演じようか淡々と読もうか」というのが決まらず、決まらないまま朗読会での実演となり、読んでいる最中も迷いっぱなしでした。

 

ライブの朗読ということ

 たとえネット上の空間であっても人が集い、壇上に立つ人と聴衆とに分かれるならばライブとなります。
 とはいえ、朗読会で聴衆として訪れる人の多くはHMDを使わないデスクトップでの参加なのでしょう。ほとんどのアバターは微動だにせず、気配そのものがありません。ネットの向こうでは飲食しながらであったり、トイレに立ったり、傍らでSNSを覗いていたり、テレビがついていたりするかもしれません。
 それでも、VR朗読会はライブなのでした。聴衆を一定時間縛り付け、耳を傾けさせる。他人様の時間を「本」という形の創作よりも激しく奪うのが「朗読」なのだと、朗読会に聞きに来た人々の前に立って実感しました。いただいてしまった時間と引き換えに、ふだん読まないジャンルとの出会いになったら良いな、とも。

やってみたかったこと、できたこと

 VR朗読会ではやってみたいと思ったていたことがいくつかありました。

  • quest用アバターにスピーチプロンプターを仕込む
  • アバターから朗読中のテキストを放出し、(VRChatの)朗読ワールドのパーティクルライブのようなことをする
  • 朗読中に書誌情報を表示しておく
  • 朗読専用アバターで(私自身の)気分を盛り上げる

 一番やりたかったのは「questで使えるスピーチプロンプター」を製作することだったのですがVRChatでは直接テキストデータを扱うことができず、画像化・3D化して処理することになるようです。朗読原稿分を画像化してアバターに持たせるとデータ量が肥大化してしまい重いpoorアバターとなってしまいました。とても実用にならない、ということで却下。まだ諦めていませんが。
 当日にできたのは「書誌情報の掲示」だけでこれもquestユーザーには表示できていませんでした。(オブジェクトの表示/非表示切替ツールを適用するとquestではpoor判定になってしまうのです)

 朗読そのものの練習ももう少ししっかりし、朗読向きの素材をより広くから探せると良かったな、というのが反省点となりました。そしてまた紹介したい作品を見つけたら、再挑戦だ!

|

ゲーミングPCを買いました

外出しづらくなった2020年3月以降

 コロナ禍で外出しての娯楽が消え去り、VR大活躍。
 oculus questはとてもよくできたHMD。beatsaberは最高だしvrchatも遊べます。youtubeの3D動画も楽しい。
 とはいえスマホ用の半導体を転用したquestの性能そのものはあまり高いものではなく、家庭用ゲームのようにぎりぎりまでチューンされているわけではないユーザ作成データを使うvrchatのようなアプリは制限も厳しくなります。
「話題のあのworldも行けない」
「面白そうなイベントがquest対応してない」
 そんなことに遭遇することが気になってきました。
 vrchat用のquest対応アバターを作っていてもあちこちで壁にぶつかります。そして思うのです。

「ゲーミングPCが欲しい!」

買いました

ゲーミングPC Pavilionが来た  というわけでゲーミングPCが手元に来ました。
 開梱した状態が右写真。

HP Pavilion Gaming TG01-0722jp 価格.com限定パフォーマンスプラスモデル
CPU:Core i7-9700
Video:RTX2060Super
Strage:512GB SSD+2TB HDD
Memory:16GB
価格:133100円(税込・送料込み)

 ネットの評判を見るとHPのような大手のBTOパソコン通販は「在庫あり」のものを注文しないと長く待たされがちだとか。どうしたものかと悩んでいたところに購入候補にしていたモデルが前に見た時より16000円ほど値下げされ、注文画面を覗いてみると「在庫あり」表示。即座にポチ。

6/14注文
6/15受注
6/15納期確定
6/17発送
6/19到着

 「在庫あり」は五営業日で納品、という売り文句通り五日ぴったりで届きました。
 ケーブル類もAmazonで手配し、PC本体と同日に到着。

Displayportケーブル 1m
LANケーブル cat6 10m

 oculus Linkは先日のアップデートでquest付属のUSB2ケーブルでも動作するようになったとか。USB3の広帯域を活用するようなモードも予定されているらしく、そちらは様子を見て後日あらためて手配することにします。
 ついでにマイクなども購入。VRChatのデスクトップモード用です。

oculus linkでVRChat

oculus link+quest Vrchat:こんな幻想的なワールドの美しさはデータ量の多いPC環境ならでは 早速設置してVrchatでoculus linkを試してみました。PCで描き出したリアルタイム3D映像をUSBケーブルでquestに送り出して体験する形です。

 ほー。きれいじゃーん。

 そんな感じです。描画がすっきりくっきり。questでの3D描画では視野の中心部分は解像度が高いのですが端に近づくにつれ解像度を落としていてぼんやりします。それが全般にシャープに。PCではダイナミックボーンと呼ばれる技術で髪や服を揺らしているそうですが、確かに髪や服が動いてる! シェーダーも自由に選べてVRChatで人気のあるアニメ調のキャラに輪郭線が入りしゃきっとします。ワールド(ユーザーが自作した空間モデル)もデータ量が桁違いで(手の込んだところは)ゴージャスに。何より、quest対応していないPC専用のワールドに行けるようになったのが嬉しい。
 あと、通信が安定します。questのWiFiは処理が重くなってくると滞って接続が切れたりすることもあるのですが、それがなくなりました。questでは音声ノイズが頻繁になる夜10〜12時・25人ほどの人がいるワールドでも「気持ち音が途切れる?」くらいで済みます。
 oculus link中には簡単にVRChatからバーチャルデスクトップ(Windowsの画面)に切り替えができることができるようになり、VRChat内と外とが少しだけ結びつけやすくなりました。

デスクトップモードでVRChat

 ついで、ということでHMD(quest)を使わないパソコン画面だけでVRChatを試してみました。

 あ、あれ? こぢんまりとしたセカンドライフみたい……。

 セカンドライフが話題になっていたゼロ年代前半はHMDはあまり一般的ではなかった気がします。私がVRChatの体験だと感じていた部分の多くはHMDによるものだった模様。キーボードで操作するVRChatは昔のFPSゲームみたいで「コレハチガウ」となりました。いや、おしゃべりだけならデスクトップでも楽しさは変わらないと思うのですが、VRChat内での一般的な話題ってアバターやワールド、VRChat内での出来事が主でHMDでの体験がベースになっている気がします。
 ただVRChat内外を繋ぐようなことをしたいときにはHMDは邪魔になってしまうこともあり「デスクトップでVRChat」は便利です。

とても優秀なoculus quest

 ゲーミングPCで表示の美しくなったVR世界。高負荷時にノイズに悩まされたり接続が切れることも減りました。でも、パソコン不要で5万円でスタートでき、VR体験としての面白さはPC+HMDに劣らないoculus questはとても素敵なおもちゃだと思うのです。初代PlayStationからPS2、3とCGがきれいになっても3Dゲームとしての面白さは変わらなかったように、体験としてのVRはquestでも十分に楽しめるものです。beatsaber(VR音ゲー)のように体を動かして楽しむゲームなどはquestのケーブルいらずなところがVR体験を一層楽しくしてくれます。beatsaberはquestとPC版でCGの差は感じられなかったりします。
 ただし。VRChatのようなSNSでは新参・固定プラットホームのquestは圧倒的に少数派です。VRChatで訪れることができる場所のほとんどがquest対応していません。遭遇する人のアバターもPC専用のものが多いです。oculusストアのquest用ゲームもPC版に比べると限られてしまいます。

日常用途

 デスクトップ機を使うのは久しぶりです。
 電源周りが昔の自作機とは大きく変わってノートPCと同じようにスリープでの起動/停止ができるようになりました。完全電源オフからの起動も速いです。スリープが必要ないくらい。快適。

 日常的に利用するソフトでは一太郎での「校正」やPDF出力、マクロの動作が速くなりました。DDR3世代のcore i3ノートPCではずいぶん待たされると感じた「書式」変更後の待ち時間も大幅に減りました。文章を入力していくような作業は以前とあまり快適さは変わりません。元々そんなに重くなかった作業ですし。
 使用部品の数が増えると重くなっていた花子もかなり快適に。少し惜しいのは一太郎文書中に花子図形を表示させるとデータ量的な制限がかかってしまうのか表示されない部品が一部出てくるあたり。一太郎自身も刷新の頃合いなのかも。

 期待していたのはBlenderでのcudaレンダリング。まったく同じデータ・設定でレンダリングをさせてみると手元のiMac27/2017モデルのcore i5 3.4GHzの約4〜5倍の演算速度でした。実用性は増したけれど期待ほどではない……かな?

 接続したモニタは27inchのWQHD。併用しているiMacが27inchの5Kで見劣りするのが気になってきました。

蛇足・購入前の“つもり”

 購入に当たって調べ物をしたつもりでいました。

  • とりあえずVRChatの稼働環境を想定
  • HMDによるVRをしたい
  • oculus questをつなぐPC Linkを動かす
  • VRChatにはVRAM容量が大きい方が良いらしい
  • Radeonは同じくらいの値段・性能でもGeForceよりTDP大きめっぽい
  • 自作機SHOPで部品で揃えるとBTOの完成品より少し高くなる
  • Dellやhpの大手BTOショップは同スペックだとネット最安値だけど納品遅いらしい

等々。でも、手元にスペックを比較できる別のパソコンがあるわけでもなく、予算と相談で想定したスペック(core i7 9700かRyzen 7 3700X、GeForceRTX2060SUPER、メモリ16GB以上)に意味があったのかわかりません。VRChatはおおむね不満なく動いてますが、それでも20人以上が集まるworldにjoinするとしばらくはアバターの読み込みが続き、まともに身動きするのがためらわれるラグを生じます。これはPCのスペックとは関係ないのかな? RealtekのLANコントローラあたりが怪しく思えるのですが。

|

より以前の記事一覧