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

HP Pavilion Gaming Desktop TG01 に RTX4070

ビデオカード

2022年に購入したcore i7/9700 GeForce RTX2600superのPCもVRChat用途では何かと見劣りする気がしてきました。元々VR用途ではぎりぎりのスペックでした。

電源容量

 VR用に、と買った現PCは電源容量が500Wと少なめです。hp製のPCということで電源ユニットとマザーボードは独自コネクタ・規格であるようです。電源ユニットを大容量のものに交換することはできません。
 RTX2060superは消費電力175W。ビデオカードの交換でぎりぎり動作する可能性のあるのはRTX4060TiやRTX4070搭載製品。200Wの4070は高負荷時に電源容量不足を招きかねません。電源容量計算機なるwebページを試してみました。

20240122-113051

 hpの500W電源ユニットは80GOLD相当。効率80%――400Wを消費するシステムを賄えるはずです。RTX4070に換装しても364W。なんとかなりそうです。

独自部品

 懸念は電源容量だけではありません。hpやDellのような大手BTOパソコンの製品は規格外の専用設計部品で構成されています。うちのPavilion TG01の場合だと、

  • 筐体(専用マザーボードやビデオカードを前提にしている)
  • 電源ユニット(寸法・コネクタが独自)
  • マザーボード(ネジ位置、寸法、電源コネクタが独自)
  • ビデオカード(規格には適合するかもしれないがhp専用品)

 汎用品が使われているのはメモリやストレージのみ。ビデオカードはPCI-Expressスロットですが市販の自作PC用PCI-eビデオカードが動く規格であるなんてどこにも書いてありません。元々刺さっていたのはhp製PC専用に作らせてるビデオカードです。マザーボードのBIOS(ファーム)と一対一での動作検証しかしていないでしょう。
 でも、まあ、どこかの自作PC用OEMでメーカー名のプリントがhpに置き換わってるだけの気もします。チャレンジしてみよう。

大きさ比較

 大きさ的に収まる可能性のある二連ファンの製品をリストしてみました。

メーカー 型番 大きさ(mm)
Palit NED4070019K9-1047D 269.1x127.5x40.1
ASUS DUAAL-RTX4070-o12G 267.01x133.94x51.13
玄人志向 GALAKURO GAMING GG-RTX4070-E12GB/DF 238x115x45
MSI GeForce RTX4070 VENTUS 2X E 12G OC 242x125x43
ZOTAC ZOTAC GAMING GeForce RTX4070 Twin Edge OC ZT-D40700H-010M 225.5x123.2x40.1
GAINWARD GeForce RTX 4070 Ghost NED4070019K9-1047B 269.1x131.8x40.1
GIGABYTE GV-N4070EAGLE OC-12GD 261x126x50

 

MSI GeForce RTX4070 VENTUS 2X E 12G OC

 最安値競争の定番メーカーは避け、ツールで消費電力制限がかけられるMSI製品のVENTUS 2Xシリーズを選びました。値段も手頃でした。

実働

Gevncuma0aakgk

 結論から言えば動きました。
 でも、問題だらけでした。

  • ビデオカードのプラカバーの一部とマザボの電源コネクタがスロット挿入位置と干渉して刺さらない → プラカバーを部分切断して解決
  • ビデオカードの8pin電源が筐体側面(開閉面)に向いていてケーブルがわずかにつっかえる → 押し込んだ
  • ビデオカードの大きさが変わり補助支持ステーが使えない → 撤去。適当なゴム板を底面からつっかえ棒にした
  • ビデオカードのバックパネル部とPCI-Expressスロットのサイズが合わざすに刺さらない → バックパネルをペンチで曲げて合わせた
  • カード補助支持ステーは空気取入口の大雑把なフィルタの保持もしていた → 無くてもいいや……
  • ビデオカードの端と3.5inchHDDとの隙間は1cm程度(HDDを外さないとビデオカードの着け外しができない)

 筐体や拡張カードの寸法がいい加減であった90年代の自作PCのような作業となりました。

 あと、上の写真の右側の3.5inchHDD追加用マウンタですが、HDDをどっちに向けてもHDD側のネジ穴と位置が合いません。なんだこれ……。

VRChatへ行ってみた

 20fpsくらいだった製作中のworldが40fpsくらいにはなりました。VRビリヤードのworldはHMDの表示上限の90fpsに張り付きます。VirtualDesktopで利用できるencoderが変わったみたいでHMD内での画質もクリアでシャープになりました。2060superで遊んでた同じworldに行ってもGPUの温度があまり上がらずファンの騒音も小さいです。VRChat内のworld単体で「重くてしんどい」ところはほとんど無くなりました。また軽いworldでも人数が増えて重くなっていたのが重めのアバター20~30人くらいであれば快適な範囲となりました。
 CPUの世代が古いのにもかかわらずけっこうな性能向上が得られたので満足度はかなり高いです。一方で85000円ほどのコストを投じて得られたのが「重くて(fpsが低くて)つらい」が減るだけというのも微妙な気がします。VRChat自体の楽しさが特に向上するわけではありませんでした。

|

GOTHIC LOLITA MALION

ゴシック

 ドールの通販サイトのfavを見返していて思いました。
 「好みが偏ってる?」
 その偏った好みをVRChat用アバターの改変で顕現させよう!
 というわけで今回のアバター改変のテーマは「ゴシック」です。

 VRChatでは無性別球体関節人形・マリオンというアバターを主に使っています。デフォルトのセーラーはお気に入りですし、振袖も近代ヨーロッパのギムナジウム生徒風スーツもお気に入りです。最近だとVRビリヤード向けの正装・Aコードを着せたマリオンも良い感じに仕上がった気がします。

Malion for VR Billiard

吸血鬼

 fav一覧で多かったのが吸血鬼風の人形たちでした。金髪ではなく黒、あるいは濃い色の髪。白桃の肌。隈に近い濃い色のアイライン。赤い瞳。ロリータ寄りの細い顎に大きな瞳。ぽってりとした唇。いわゆる“ゴスロリ”風の黒ベースの衣装。牙が覗いているドールもけっこうありました。
 というわけでこの特徴をそのままカタチにしてしまいます。

  • 睫毛の増量 → blender作業
  • アイラインの輪郭線ポリゴン数増強 → blender作業
  • 顎を細く → blender作業
  • 目の周囲を赤/黒でメイク
  • 黒目の前面にコンタクトレンズのような形でグラスシェーダーを置いてハイライトに。
  • 血を啜った痕跡のような赤黒いリップ
  • 赤/グレーの瞳
  • ゴシック調衣装“Rose Gothic Dress”
  • ドレスの裾を多重にしてパニエ → blender作業
  • “コルセット/corset” ※blender作業必須。
  • “リボンパンプス”
  • “ふんわりドロワーズ”
  • 髪・ツーサイドアップ 曲線の輪郭部分のポリゴン数増加 → blender作業
  • 髪テクスチャ ※要blender作業
  • 脚部装飾・自作アクセサリ → blender作業
  • Todo 手・指アクセサリ
  • Todo 頭上アクセサリ

 こんな感じになりました。

Vrchat_20230423_002209150a

アイテム個別レビュー

Rose Gothic Dress

 レースの段重ねスカートの質感が素敵です。足の貫通対策がuppler_legの子にスカートの前後ボーンをぶらさげる、なので歩行アクションがやや派手になります。hipの子にして50%rotationコンストレイントで繋いでみたりと調整中。ボーンの親が天地180度回転させてある(dynamic bone時代の工夫らしい)ためにPhysBoneだと暴れてしまいます。blenderで修正。

corset

 登場当初私の周囲で少し話題になりましたが使っている人は見ませんでした。それもそのはず。ボーンが入っていないのでblenderで自前でweightを塗らなければいけません。また合わせる衣装もしっかりフィッティング・変形が要ります。造型・質感はとても良いです。normal mapもついていて非トゥーンのリアル調レンダリングも映えます。

リボンパンプス

 柄がソールまで入っていたのが気に入ったのと、足首の球体関節を見せられるメリージェーン・タイプということで選択。厚底改造もできれば、と思ったのですがSubstance Painter製らしくメッシュを変形させるような改造の余地はなさそうです。標準で可愛いのでヨシ。

髪テクスチャ

 Gumroadにてテクスチャだけ配布しているのを見つけてBoothで販売されていた髪のUVだけ展開し直しました。試行錯誤中ですがドールには非トゥーン的な表現も合いそうです。

キャラ設定

 一応設定らしきものもあります。

「吸血鬼を知っていて?
 ――いいえ、違うわ。血を吸われた者が増えるような倍々ゲームはお話の中だけ。わたくしたち吸血鬼Vampireが血を吸うのは一生に一度きり。なあに? お腹は空かないのかって? わたくしたちはいつもは植物のスピリッツを食むの。ウォッカやブランデーを好む同類もいるわ。香水の香りアルカロイドを好む者もいるわね。わたくしは花の香りがあれば十分。薔薇が好きだわ。
 一生に一度の血はいつ吸うのかですって? 野暮ね。そんなの命が尽きる時に決まっているでしょう。わたくしたちはただ一度血を啜って塵に還る。そういう存在」
 そして、血と引き換えに注ぎ込まれたスピリットが吸血鬼のスピリットを伝えるという。
「不老不死なんかじゃないわ。記憶も、人格も受け継がれない。ただ、吸血鬼であるという魂のカタチだけが連綿と続いていくの。とち狂ってお人形の血を求めた吸血鬼もいたみたいね」

|

pico4を買いました

questのヘッドストラップ

 三月中頃のある日、初代oculus questのヘッドストラップが切れました。旧モデルのquestはすでに市場にもmeta(oculus)公式サイトにも交換用フェイスパッドもヘッドストラップも見当たりません。サードパーティ製の製品もずいぶん前に姿を消しました。自家修理で乗り切ろうかとも思いましたが、愛用の初代questはすでに二世代ほど時代から遅れてしまいました。何より、毎日ログインしていたVRChatに二日入っていないだけでいてもたってもいられなくなりました。
 新しいHMDを買おう!
 と決めたのが金曜の昼。
 候補はinside out方式に絞りました。生活環境的にLightBoxを設置するのは難しく、愛用のharitoraXもinside out方式の補助向きです。選択肢はわずか。meta quest2はこれまで使っていたquestの後継機でスムーズな移行が予想できましたが、発売から二年半が過ぎています。vive XR Eliteはお値段高すぎで却下。pico4はこれから登場する新製品のトレンドも踏んでいます。パンケーキレンズ、前後重量配分の均等化された設計、見やすいパススルー、低価格。ネット上にはトラブル解決&使いこなし記事もそれなりにありなんとかなりそうだということで決心がつきました。

pico4購入

Img_2905

 というわけで金曜夜には買って帰ってきました。pico4。大手家電量販店で五万円弱。新しもの好きの猫と一緒に開梱です。

ファースト・インプレッション

 初期設定でe-mailアドレスやWiFi設定をしていて気づいたのが「酔いそう」であったこと。どうやら3D表示のない単なるディスプレイ状態の時はブレ対策機能が動かないようです。WiFiを設定し、ファームウェアのアップデートが終わって常用メニューが表示されたところで「酔いそう」感はなくなりました。
 初代questは有機EL+フレネルレンズでしたがこちらは液晶+パンケーキレンズ。輝度差の大きなものを表示したときに見えていたフレネルレンズの縞々が見えません。pico4の液晶はquestの有機ELに比べるとコントラストがやや低い印象で最大輝度も控えめです。眼の負担は低そう。アプリ起動前のメニューを見ただけの段階で文字が読みやすく解像度の高さがもたらすアドバンテージを感じました。比較対象が初代questなのでquest2やPC用HMD専門メーカーの製品を使っている人には感動はないかも。あと、鼻の近くに遮光用の部品が付けられて、東洋人の平たい顔でも光漏れがなくなり見やすくなりました。眼鏡向けのスペーサー・オプションも入ってました。
 そして装着感!
 圧倒的に初代questより良いです。前後の重量バランスが良いせいか締め付けるように装着しなくても安定するので顔が痛くない。pico4で一番魅力的だと思ったのはこの装着感でした。これは家電量販店に展示機があればquest2と比較できるので、ぜひ試して欲しいです。VRで大切なのはHMD装着が不快でない、というとっても素朴な条件だったりします。ここにフォーカスしたpico4は長く実用に耐える気がします。
 コントローラに最初から入ってる電池はいわゆる「動作確認用」のようです。けっこう早く(二日ほどの使用で) 電池切れを起こしますがeneloopに入れ替えてみたところ倍以上持ちました。片側につき単三×2です。

アプリ

 初期状態では「ファイラー」や「youtube」や各種動画配信サービスのアプリ?リンク?が用意されていました。ファイラーはメディア各種のビューワも内蔵していて画像や動画類は一通り再生できるようです。SMB経由のLAN共有データもOK。youtubeで高画質動画を再生してみると、表示が高精細でしゃっきり。音質は初代quest比では低音が割と出ていてパンチがあり、高音がよく分離して聞こえるのでホームシアターっぽいです。没入して視聴するのに良い環境。耳の近くにスピーカーがある仕組なので音は周りにそこそこ聞こえます。寝ている人の近くでの使用はやめておいた方が良さそう。
 picoストアを覗いてみると『オノゴロ物語』や『ALTDEUS』『東京クロノス』といった有名タイトルがありました。meta quest2で評判の良かった『BIOHAZARD 4』のVR版はなさそうです。questでも馴染みの3Dスケッチツール『Gravity Sketch』もありました。VRChatのquest版(名前は変わるだろうけど)も来るといいのに。
 ゲームばかりでなく仮想オフィスの『Immersed』というのもあります。これはPC上での作業をそのままVRに持ってくる+協業者と連絡を取り合えるツールといった感じなのですが……pico4の表示性能でようやく実用範囲のVirtualオフィスに。Virtual Desktopより文字がくっきり見える気がします。リアルのキーボードの位置だけでもわかるともう少し使いやすくなりそう。とはいえ文字の読み書きはVR環境よりもリアルの平面モニタの方がずっと快適です。

電源

 pico4はPCとの接続でWiFi6があれば有線は要りません。けれど消費電力もそこそこあります。バッテリー駆動では二時間くらいしか遊べなさそう。PCとUSB接続をすれば一応電力は供給されるのですが、PC端子の電力供給機能は頼りなく、うちのゲーミングPCの端子からではpico4の消費電力をまかないきれません。けっきょくWiFi接続&ACアダプターによる有線電力供給という形で利用しています。

pico video

 picoのプラットホームでは推しているらしい動画配信サービス。にじさんじがpico向けに限定配信をしていたりします。集中したい映画ならともかくバラエティ的な動画にHMDを被るのはちょっと面倒です。3D動画も(youtubeもですが)解像度が低過ぎて見映えしません。3Dの、ポリゴンの状態で配信されるコンテンツが見たい!

Virtual Desktop

 pico4ではメーカーがPC接続用のツール・Streaming Assistantも提供しているのですが、2023年3月時点で問題が多いです。

  • 立体音響がおかしくなることがある
  • PC側のStreaming Assistantサーバー自体がコケる
  • SteamVRのOVRがうまく機能しない
  • PCVRでコントローラの認識がおかしくなることがある

 いずれも導入から二日の間に複数回起きています。当初これらの問題は原因がわからなかったのですが、Virtual Desktopを導入してStreaming Assistantの使用をやめたらすべて解決してしまいました。実用に耐えないというほどStreaming Assistantが酷いということはないのですが、比較するとVirtual Desktopの洗練度が目立ちます。というわけでpico4、PCVR目当てで導入する方はVirtual Desktopも導入を強く推奨します。

初代quest比で良くなった/悪くなった点リスト

  • 前後重量バランスが取れていて装着感は比較にならないくらい良くなった。quest2よりも快適。
  • 解像度が上がってVR世界が格段にはっきり見える。
  • パススルーがカラーで高精細。初代questやquest2と比較にならないくらい実用的。
  • WiFi6対応。WiFi経由のPCVRでもまったく不足がない。初代questはWiFi5世代。
  • 画面の真っ黒と真っ白のコントラストがやや落ちて「目映い体験」がなくなった(初代questは有機EL)。光に溢れていた光景が単に明るい光景になった。暗闇がややグレーを感じる黒になった。
  • ネットレビューではスピーカー、マイク両方の音質に否定的なものを見かけるが、初代quest比ではかなり良い。PCVR時にマイクの音質が悪いのはStreaming Assistantのせい。単独使用やVirtual Desktopでは問題を感じない。マイクは音質はともかく特性は差があるようでHMDを変えたことを伝えていない友人に「マイク変えた?」と訊かれた。
  • 再生音の低音が豊か。
  • VRChatしかたぶん遊ばないけどストアがやや寂しい。quest環境でのApp Lab相当のインディーズ・タイトルの配信はなさそう。→android用のAPKファイルを突っ込むとたいていのものが動いてしまうようです。
  • 鼻とHMDの隙間が減り、追加の遮光ゴム部品で密閉度が上がり、外の明かりが気にならなくなると同時に曇り(結露し)やすくなった。(冷間時の使い始めだけ。ファンでの換気が始まると曇りは晴れる)
  • 眼の疲労感はあまり改善されなかった。
  • 解像度は上がったがPCVRでのグラフィック描画の要求性能は大差ないみたい。

VRビリヤード

 私のVR利用はほぼVRChatのみです。VRChatで一番時間を使っているのがVRビリヤード。初代questからpico4に更新しての変化は以下の通り。

  • 解像度が上がりガイドラインがよりはっきり見えるようになった。
  • ガイドラインなしで遊んでも狙いやすくなった。
  • 装着感が大幅に改善されて長時間快適に遊べるようになり、三時間くらい続くVRビリヤード大会でもHMD装着が苦にならない。
  • コントローラのトラッキングは初代questより安定する。認識範囲も広いようでキューを大きく引いてもトラッキングが外れない。

フィットネス

 pico4はフィットネス向けの機能を重視しているようで標準メニューにFitness機能(HMDを付けた状態での活動量計)が用意されています。購入・ユーザ登録時に提供される特典ゲームもフィットネス要素の強いものです。オプションで足につけると思われる運動量計も予定されているようです。

pico4版VRChat

 2023年11月、pico4にもVRChatのアプリが登場しました。quest版相当のものです。
 登場当初は表示が多少乱れていたりしましたが12月には不具合らしい不具合もなくなったようです。そしてこのオール・イン・ワンVR環境用のVRChat、かなり優秀なことがわかりました。

  • 初代questはスペックがぎりぎりでquest向けworldであっても表示はとても軽快とは言えなかったがquest2とほぼ同スペックのpico4では快適。
  • quest向けworldだけしか訪れることができないのは変わらず。
  • 表示は初代quest比でははっきりと高精細になって見映えが大幅に良くなった。

|

小説創作のための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月、ファームウェアを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

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

|

より以前の記事一覧