バーチャルマーケット2が凄くて、VRChatの楽しみ方がやっとわかった

もう先々週になるがバーチャルマーケット2がすごかった。

 

結論

  • Vマーケット2すごかった。
  • それを支える日本ユーザ、数も質もやばい。VRCすごい
  • とはいえいきなりVRCの野原は初心者には厳しい。知り合いアテンドが欲しい

 

こんなにも日本人モデラーが集まって参加して、シームレスにマルチプレイVRが楽しめることが過去あったであろうか、という新鮮さ。それぞれの世界のクオリティ。恐ろしく広いVRワールド。なぜこんな世界があるのを放置していたんだ自分は、という呆れ。すごかった

 

 バーチャルマーケット2

やる前は、前々からVRChatアカウントはまああったり、SDKをつつくみたいなことは試していたんですが、いまいちピンと来ず…という状況。VRC界隈っぽい人を何人かフォローしていたノリでクラウドファンディングもbackしていた、やはりいまいちピンと来ておらず。一応Vケット2自体は凄そうなので、それに合わせてアバターでも用意しておくかー?というぐらいでSDKいじったりしていたものの、そもそもVRChatの何が楽しいのか、わからないまま当日を迎えた

 

という感じで金曜を迎えた。てっきり、土曜オープンだと思っていたので金曜0時は早いな、とは思いつつも、オープン直後のワイワイがTLから見れたので見に行くかと、トラッカー3つ付けつつVRCを起動した。

ちょうどtwitterフレンドがログインしていたので一緒に散策したのだが、これが大正解。不慣れな操作カメラ操作やら、AvatorCloneやら操作をあれこれ教えてもらいつつエントランスを見て回る。

 

やってることは現実でもよくある至って普通のことで、要は単に展示会があってそこを知り合いと2時間ほど散策した、というだけではある。VRらしい展示といえば、視界ジャックギミックがあったり、アバター着せ替えがあったり(これは強い)、ツクモの記念撮影ブースがあるとか、展示品を触って取っても落下しないし勝手にリスポーンしてくれる、とか。お手を触れないでください、が一切不要で近づける。それはそうだ。これらギミックは確かに面白い。

 

面白いが個人的には、そういうギミックはプラスアルファの面白さであって、土台の面白さは別に感じた。VRで、複数人でわいわい散策して写真が撮れる。それもかなり自然に。そこに素敵なワールドが、様々な展示ブースが、試着できるkawaii/かっこいいアバターが、展示小物がマッチする。素晴らしい相乗効果だ。って、なんでこんなにモデルデータを公開してくれる人がたくさんいるんだ。すごい。

「うおー、ここからの景色すごい」「あっちのアバターちょっと着て見よう」「めっちゃかわいい」「あっちにまだブースあるみたいよ」「おーい、どこ行った?」などとボイチャしながらワールドを散策できる。VRワールド内で迷子になったりする。んで写真が取れる。自撮りが捗る。VR旅行だ。

 

 

などと理解して、エントランスに続きモクリバサールAを巡ったところで気づく。

Vケット2は土日で終わる。全400ブース?10ワールド?あと8ワールドもある。ざっと巡った感じ1ワールドに1時間ぐらい使っているじゃないか…。おいおい、正気か!?一週間ぐらいVケット開催してくれ!頼む!これは時間がない!!

 

すぐさま友人のVR持ち勢に声をかけて、土曜日に走り回ったわけだ。「アテンドするから、はよVマーケット2へ来い!VRCにログインしろ!」

あ、買ったアバター こちら火事屋さんのU10mk2ちゃん。かわいい自撮りが捗る。VRC SDK試しておいてよかった… kawaiiアバターがすっと買って使える。

 そんな感じで土日が溶けてしまった。すごい。VRChatとVマーケットには引き込む魔力とアツいパワーがあった。最高のVRChat体験になった。こういう入り方ができると良かったんだ

  

VRChatの始め方とか

振り返ってみて、考えるとVRChatはかなりおおざっぱというか割り切ったコミュニティ設計に見える。MO型のオンラインゲームとして見ると、まずゲーム部分がない。

かつてRagnarokOnlineが「ゲーム付き高級チャットツール」と揶揄されたように、末期のオンラインゲームはしばしばチャットツールと化す。が、VRChatには最初からそうなっている。つまりゲーム抜きオンラインゲームなのだ。ボイチャと散策とスクショがほぼすべて

 

そしてボイスチャット前提のハードルが高い。それはそうなのだがテキストチャットというぬるいシステムがない。適当なpublicワールドに突撃すると英語で話しかけられたり、さらにVR空間内で追いかけられたりハラスメント被害に会ってトラウマになる可能性もある。会った。なんでや…

見知らぬ人にデカいアバターVR空間内遭遇すると、相当な威圧感を感じる。こわい。初見で2mぐらいのアバター使いつつ無言で寄ってきてVR頭ポンポンするのやめーや。それが理由かはわからないが、日本人アバターはなぜか小さい人が多い。100cm~150cmぐらいが多いのもこれが理由なのかもしれない

少なくとも見知った人だけで最初は散策をしたい。

 

正直VRChatのUIはよろしくない。というとちょっと違うかもしれないが、VR空間内でのSNSのUIにデファクトがなく、VR空間内でどうすればいいか初心者にはわからない。加えてカメラUIは劣悪で、上記のように自撮りしたり撮影するには必須操作なのにパッと見わからん。

そして散策すべきワールドもよくわからない。Twitterなり外部サイトでおすすめワールドとかを探していれば別だが、初心者ができるとは思えない。そしてこれはVRでは重要なのだが、HMDを付けてると他サイトをぐぐったりするのは難しい。

 

そんなわけでVRChatにハマるためには、 一人でなんとなく行く、はできるだけ避けたい。できればアテンドが欲しい。そのためにVRChatに慣れてる人は、ぜひそういう友人を誘って、オススメワールドを見せてあげてほしい。

 

「今度一緒にVRChatいこうぜ。おすすめのワールドがあるんだ」

あ、これすごい普通のセリフになった。VRなんだけど

MC565フレーム破壊してしまった

2月のブルべに参加して、千葉の大福山を登坂していたら、RDがもげて巻き込んでいきなりホイールロック。あわや転倒は回避したものの、走行不能に。

f:id:o_mega:20190218235736p:plain

よくよく見ると、チェーンステーがメッキリと行っており完全に走行不能。実に一年の短さであった…。悲しい

手持ち工具でRDとチェーンをもぎ取り、てくてく駅まで歩く小旅行。MC565には最後のツーリングになってしまった

f:id:o_mega:20190311235954p:plainf:id:o_mega:20190218235030p:plain

 

帰宅後、破損断片をよく見てみると…

f:id:o_mega:20190312000736p:plainf:id:o_mega:20190312001245p:plain

どうやらローギアに入れていた状態でスポークと引っかかったようす。RD側のガイドプーリーが1つ欠けているのと、RDハンガーは内側にねじ切れている

ただ、RD取り付けについてはそんなにいじった記憶がなく、そんな変速も変ではなかったような記憶だ。もしかしたらRDハンガー根本がグラついていたか、緩まった可能性はありそう

 

思い出すとここ1年は、カーボンエンドのフレームでは推奨されない固定ローラートレーニングをやっていた。おそらくそれが理由でカーボンエンドを圧縮してしまった、RDハンガー根本が歪んだ可能性はありそう。NGはNGだった、という理由がわかった

 

なってしまった、のは仕方がない。が春に向けて自転車がなくなるとなかなか悲しい。急いで組み直したいところ。フレーム自体は気に入っていたので同型を再注文しようとしたが、すでに旧式化して在庫がなく後継フレーム「MC566」を取寄中

VRoid HubにVRMをアップロードすると、VRMファイル内のライセンスが書き換わる問題

結論

  • VRoidHubは、投稿されたVRMファイルについて、作者に説明不足な状態でライセンスを書き換え、自社URL(hub.vroid.com)を埋め込んで配布している。現状作者のライセンスを維持してVRoid Hub上でVRMを配布する方法はない。
  • 元々設定してあったOtherLicenseURLが消され、VRoid HubのURLに上書きされるのは気持ちが悪い。
  • VRoid Hubは、VRMと条文互換性がない独自ライセンス/利用条件を作っている。
  • 先にサービスを展開して、こっそり独自仕様を忍ばせるのはスマートとは言えない。VRM規格を変更するのであれば、VRMコンソーシアム等での適切な議論の上で変更してほしい。

 

実際にVRoidHubにVRMをアップロードしてみる

自作のVRMファイルをVRoid Hubへアップロードして公開してみよう。OtherLicenseURLも記入して…、こんなライセンスのVRMファイルを作ってみる。

f:id:o_mega:20190201011253p:plain

これをVRoid Hubへアップロードする。

f:id:o_mega:20190201032241p:plain

「モデルデータの利用条件を確認しよう」と誘導されるので、それに従う。

f:id:o_mega:20190202032035p:plain

「他の人の利用」を「OK」に設定しないと、DL可能な状態にできないと言われたので、「OK」を設定してみる。

f:id:o_mega:20190202031856p:plain

利用条件というのはVRMのライセンスとは異なるのか?疑問があるが「登録して公開」する。これでDL可能になった。

f:id:o_mega:20190202035945p:plain

さて、「このモデルを利用する」からVRMをダウンロードして、UniVRMで見てみる

f:id:o_mega:20190201012916p:plain

え?何このURL?自分の設定したURLはどこ?どうしてVRoid HubのURLが入ってるの?

 

あなたがVRMモデル作者で、DL可能状態でVRoid Hubへアップロードしているなら、ぜひ自分のVRMファイルをDLしなおして、VRMファイル内のOtherLicenseURLを確認して見てほしい。ここではUniVRM(0.44)で確認を行ったが、他のVRM対応アプリケーションでも同じように確認できると思う。hub.vroid~から始まるURLが見つけられるはずだ。

 

どうしてライセンスURLが書き換わるのか?

FAQを探るとそれらしい記述は見つけられた

VRoid Hubの利用条件とVRMライセンスについて – VRoid ヘルプ

「その他のライセンス条件(Other License Url)」について

商用利用についての詳細や、クリエイティブ・コモンズから変更した部分を補うために、「その他のライセンス条件(Other License Url)」については、利用条件を記載したURLが設定されます。

 

なお、こちらの記事でも述べているように、すでにライセンスが設定されているVRMファイルをVRoid Hubにアップロードした場合、そのモデルデータにある元のライセンスが反映されたVRoid Hubの利用条件が設定されます。

https://vroid.pixiv.help/hc/ja/articles/360014960454

VRoid Hubにアップロード後に、ご自身で利用条件を変更しない限り、元のライセンスが異なる条件に変更されることはありません。

(2019/2/2時点)

 「ご自身で利用条件を変更しない限り(中略)変更されません」とは書いてあるものの、変更せずにDL可能状態にはできない。いくつかのVRMファイルで確認したところ、VRoid Hubで配布されるVRMファイルはライセンスが上書き改変されたと思える状態になっていた。

つまり、VRoid Hubには作者がもともと設定したライセンスを維持して「DL可能な状態」にする方法がない。FAQには続けて下記の記述があるが、これは実際の挙動とは異なる説明だろう

 

なお、この説明FAQへのリンクや誘導は変更フローからは存在せず、上で試したような普通の作業フローで気づくのは難しいと思える。

VRMライセンス内容の引き継ぎと変更について

VRoid HubにアップロードしたVRMファイルは、元のライセンスデータをそのまま保持しています(※1)。タイトルやバージョン等の一般情報(メタ情報、Information)も引き継いでいるので、VRoid HubからダウンロードしたVRMファイルをUniVRM等で確認すると、元のライセンスデータが確認できます(※2)。

VRoid Hubでは、VRMのライセンスデータを「利用条件」として、互換性を維持したまま、より分かりやすく表示しています。

(2019/2/2時点)

上で試したように、VRMモデル作者の設定したOtherLicenseURLは上書きされ失われている。引き継げていない。

 

 

もう少しFAQを見ていく

VRoid Hubと、UniVRMや連携サービス上でのライセンスが異なるのですが – VRoid ヘルプ

VRoid Hubと、UniVRMや連携サービス上でのライセンスが異なるのですが

 

▼VRoid Hubに登録したモデルデータと連携サービス先で表示されるライセンスについて

 

VRoid Hubで登録したモデルデータを連携サービス上で読み込んだ際、VRoid Hubの利用条件と連携サービス上で表示されるライセンスが異なるライセンスのように見えてしまうケースがあります。

(2019/2/1時点)

「UniVRMでのライセンスが異なる」とUniVRMでのライセンス表示が適切にできなくなっている、つまり互換性が失われていることを把握しているようだ。他の規格互換ツールならともかく、標準実装であるUniVRMと表示が異なっている状況を見て、互換性があると明記しているのはなかなか不可解だ。互換性はファイルが読めるだけではなく、ライセンス条文も同一でなければ困る。

 

念のため、他のいくつかのVRM対応アプリケーション、VワールドVRM Live ViewerVirtualMotionCaptureHitogataVRMを開いてみて、VRoidHubと同様の利用条件表示ができているものはなかった。なぜこのようなVRoidHubでしか使われてないライセンス/利用条件を作って、そしてVRoid Hubユーザに適用させようとしているのか。

 

仮に、もしライセンスを変更/拡張するのであれば、本来例外的なライセンスを記入するOtherLicenseURL欄を多用するべきではないとだろう。
それこそ、他のライセンス項目同様に(例えば暴力表現や性的表現、商用許諾のように)VRM規格側へ取り込むべきといえる。ライセンス規格が乱立するのはVRMモデル作者としてもVRMユーザとしてもVRMアプリ開発者としても手間が増える。もともとのVRMのコンセプト、ポータビリティを高める目的にも反する。
こういった、現状分裂を引き起こしているライセンス/利用条件を、VRoid Hub内で配布する全VRMファイルに、説明不足な状態で上書きして使わせようとしているpixivの姿勢には疑問を感じる
 
VRMコンソーシアムにはpixivも参加してるのだから、ぜひそちらで議論してVRM規格を統一してほしい。
 

余談

余談だが、VRoidStudio(0.5.3-win)は特に問題なくVRM規格に準拠したライセンスでVRMファイルを出力している。

今回の確認にはVRoidStudioで作成したVRMおよびUniVRM(0.44)を使用した。

バーチャルモーションキャプチャー + LIVでVRゲーMR合成をしたりする副読解説

ざっくり言えば、これをやる方法です

 

この記事はバーチャルモーションキャプチャー公式サイトの操作方法を元にしつつ、それぞれがどんな感じに組み合わっているかを補足する想定でいます。元記事を参照しつつ、歴史的経緯やら「なんでこうなってんの?」的な部分を補完できるといいなあ

 

先にネタバレしておくと、上の絵のシステム概略図はこうだ。これを見てわかってしまったら、それでいい。今すぐSteamVRを立ち上げて公式説明を見ながら格闘しよう

f:id:o_mega:20190122031258p:plain

以下はこれがなんでこうなってるか、という歴史的経緯を含めた解説にする

使うもの一覧

以下は構成に必要になもの

使うハードウエア

  • HTC Vive
  • HTC Viveトラッカー
    • 必要に応じて追加。なければHMD+手(コントローラ)x2で3点トラック
    • トラッカーを追加する場合の推奨としては、推奨優先順に、腰、足先x2、肘x2、膝x2だろうか。とりあえず腰、足先x2の3個追加(6点トラック状態)するのがおすすめ
    • VMCでは柔軟なトラッカー設定が使えるため、例えば上半身のみの絵作りであれば、HMD+手(コントローラ)x2+腰で1個利用とか、HMDを使わず頭+手(コントローラ)x2+腰で3個利用とか、頭+手x2+腰で4個利用といったトラッカー配置ができる
    • 余談だがそもそもガンコントローラやテニスラケットをVR化するためのデバイスであって、全身にくくりつけてフルトラマンとかやってる人間が多い日本が異常らしいゾ。対抗しうるモーションキャプチャー操作「perception neuron」が25万とのことなので、トラッカーは(相対的には)安いらしい…

使うソフトウエア

  • バーチャルモーションキャプチャー(VMC)
  • LIV
    • VRアプリと連携するMR合成ソフトウエア
    • SDK組み込み済みのVRソフトと連携して、MR合成を行うのが主機能。MR合成のために仮想Viveコンと仮想Viveトラッカーや、録画機能も持つ
    • 「映像合成」と仮想Viveトラッカーが今回主要な役割をする
  • Opensource Broadcaster Software(OBS)
    • 定番の動画配信/録画エンコーダー
    • 単純なグリーンバック合成だけでいい場合や、LIV合成後の画面を組み合わせて凝った画面配置をしたい場合、動画配信をする場合に使う
    • ただのグリーンバック合成ならLIVよりこちらの方が軽い
  • VRソフト
    • 自分がプレイするソフト
    • 「LIV SDKが組み込まれているか」「externalcamera.cfgに対応しているか」「どちらも対応してないか」でざっくり扱いが変わる。後述

その他

 

基礎はexternalcamera.cfgとグリーンバック合成

そもそもの発端はSteamVR SDKにある、externalcamera.cfgを使ったグリーンバック合成だ。下動画の0:45あたりからがわかりやすい

youtu.be

動画が2016/4とあるように、SteamVR SDK当初からある。有名な例は、Circle of Saviors VRTGSデモだろう

www.youtube.com

 グリーンバックを背景にしてゲームを遊ぶ現実世界のプレーヤーを切り抜き、ゲーム画面と合成することで、VR世界にいるかのような絵を作る。これがexternalcamera.cfgを使ったMR合成だ。

 構成図はこうなるf:id:o_mega:20190127013517p:plain

当時の合成方法はHTC Viveでクロマキー合成映像を撮影するには - フレームシンセシスのやMRVideo - vrapp Wiki*記事に詳しいが、ざっくりいうと

  • 3本目のViveコン or Viveトラッカーにカメラをくっつけて実世界に配置
  • (対応している)VRアプリにカメラ座標情報(externalcamera.cfg)を読ませて(たいていの場合はexeと同じフォルダに配置して)MR合成モードにする
  • OBS等の動画ツールでグリーンバック合成をする(クロマキーで緑背景を透過して重ねる)

という感じである。合成ズレをへらすためには、externamcamera.cfgと現実を撮影するカメラの特性をキッチリ合わせる必要があるようで(手作業)なかなか骨が折れそうである

仮想コントローラの登場

ただ、この方法では合成のためだけにViveコントローラかトラッカーを1本買う必要があった。カメラを動かしてもちゃんと撮影されてる体にするのは、それしか方法がないのだが、別に個人でやるならカメラは固定でいい、それなら物理でコントローラ/トラッカーがなくてもいいじゃないか?ということで登場するのが仮想Viveコントローラ/仮想トラッカーだ。

コントローラ/トラッカーがなくても3つ目として認識させる。実際SteamVR画面を見ると出現していることがわかる(LIVが起動すると他コントローラ/トラッカー同様に電源が入った表示になる)

f:id:o_mega:20190116044524p:plain

仮想Viveコントローラ/トラッカーはいくつかリリースされている様子だが、今回はLIVに統合されているものを使う。

 

仮想コントローラを使う時に注意しないといけないのが、Viveコントローラの起動順序。SteamVR自体がVRアプリで使うのを、1本目と2本目のコントローラとしているので、物理コントローラを起動する前に仮想コントローラを起動すると、仮想コントローラが1本目や2本目に割り当てられてアプリを操作できなくなる。必ず、物理Viveコントローラの電源を先に入れてから、仮想コントローラの電源(LIVの場合はLIVを起動)を入れる

LIVは映像合成 + 仮想トラッカー + αのおまとめパッケージ

公式の動画をちらっと見ればわかるが、実写とVRアプリ空間のMR合成をするケースではexternalcamera.cfg単独とやることは大して変わらない。同じだ。

youtu.be

MR合成に至る面倒事を様々カバーしている。

  • 専用SDKVRアプリと連動し、より高度な合成(optional)(環境光を再現したり、前後位置で映像を分けて合成する)
  • 追加コントローラを買わずに済む、仮想Viveコントローラ
  • 単独でグリーンバック合成

むしろ、MR合成の諸々ツールをひとまとめにしてパッケージ化したのがLIVと言える。LIVが仮想Viveコントローラを内蔵しているので、前述のように物理Viveコントローラの起動より後に立ち上げる必要がある。

externalcamera.cfgはここでもカメラ座標の共通フォーマットとして、以前のMR合成モードから引き続き使われている。キャリブレーションでexternalcamera.cfgを読ませると、LIV SDKを経由してVRアプリに情報が伝達されるか、従来と同様にexternalcamera.cfgをexeと同一ディレクトリに配置する挙動をしているようす

VMCでアバターを使うケースに戻って比較

改めてVMC+LIV+VRアプリの構成に戻ろう

f:id:o_mega:20190122031258p:plain

実写MR合成のフローと比較すると、実はそんなややこしくなく「物理カメラによるグリーンバック実写映像」が「仮想カメラからのVMCのレンダリング結果」に差し替わっただけ。だからこそ、カメラ情報(externalcamera.cfg)は、VMCとLIVの両方で読む必要があるし、仮想LIVトラッカーに割り当てる必要がある。VMCが仮想カメラとしてLIVに認識されるのも、元が実カメラだったことに由来している(はず)

実写MR合成だと物理カメラに物理トラッカーといった実物があるので理解しやすいが、これらが仮想になったことでややこしく把握しにくくなっていると思うので、一旦実写MR合成のフローから再確認しよう、というのがこの記事なわけです。

あとコントローラの起動順序な!

以下適当QA

Q.VRアプリがLIV非対応&&externalcamera.cfg非対応の場合はどうする?

A.諦めよう。第三者視点でのレンダリングVRアプリが対応してない以上、第三者視点の合成はできない。

とはいえ主観視点+アバター合成でも雰囲気は悪くない。アバターが結構目を引いてくれるので、VR動画としても酔い対策になると思う。こんな具合に

 このケースでは、VMC+LIV合成とだいたい同じだが、

  • カメラをあわせる必要がないためexternalcamera.cfgは触らなくていい(仮想トラッカー/コントローラも不要)
  • クロマキー合成をOBSで行う

という感じになっている。LIVが絡まない分処理は軽く、仮想トラッカー/コントローラも絡まないためトラブルも少ない。とても汎用的で非VRゲーとかをやるにも使える。非VRゲーやる時にはVMCの手や頭設定をHMDやViveコントローラの変わりに、Viveトラッカーにすると楽だろう

上の絵を撮るときは、頭トラッカー+手トラッカーx2+腰トラッカーの4トラック装備で行った。HMDとコントローラは一切使用してない。上半身だけで撮影する時でも頭と腰で2点トラッカーがあると、首かしげや前のめり等、kawaいい動きが付けられるので積極的に腰トラッカーを装備したい

まあただ、この手の絵だとそもそも顔芸がほしいよね?というのはあり、その場合表情付けの方法を考える必要あるね(別オペレーターを用意するとか、コントローラなり、又はいっそVMC以外の顔認識系でやるとか)

Q.VMCでキャリブレーションしたときに、トラッカーが違う部位にアサインされてしまう。

A.LIV起動前にキャリブレーションをする。LIVが立ち上がる前にキャリブレーションすることで、LIVの仮想コントローラ/仮想トラッカーに割り当てられるのを防ぐことができる。

一番確実な方法は、VMCのトラッカー設定を「自動判定」からそれぞれ個別に割り当てるだが、ちょっと面倒かな。

Q.複雑な画面作りをしたい

A.LIVの合成結果を、OBSで更にキャプチャーする。OBS側でいろいろ配置して複雑な画面作りをする。

この時LIVの映像は遅延するので、OBSの音声入力を同じだけ遅延させるとよい(OBSのオーディオ詳細設定で同期オフセットを設定する)

Q.トラッカー固定とかどうするの?

A.いろいろググるとみんないろんな手を使ってるので、DIYだ。専用品もあるがやや高い。うちの例はこう

f:id:o_mega:20190127045340p:plain

頭は溶接ヘッドバンド、手or足はベルクロテープ+3Dプリント台座、腰も同様。台座はこのモデルを出力している。

Viveトラッカーはカメラの三脚ネジ(1/4インチネジ)が刺さる。Amazonだとこの手のアイテムが土台には便利だが、ホームセンターで15mmぐらいの1/4インチネジを買うといろいろアイデアが湧くかもしれない(ただしネジは頭が大きいので工夫は要るかも)。

f:id:o_mega:20190127045447p:plain

手装着例

他だとクロックス(サンダル)に、インシュロックで固定勢もいる様子。腰は安いウエストポーチを潰すとかいろいろ工夫しがいがあると思う。

専用品は例えばツクモで取扱あり(TrackStrap)

Q.一通り起動まで結構たいへんじゃない?

A.結構たいへん

LIV/externalcamera対応ゲーやるとき

わい「SteamVR起動!」
ベースステーション「フォオオオ…(30秒ぐらい」
わい(この間にトラッカー装備しよ…)
わい「ベースステーションB,C起動確認ヨシ!」
わい「トラッカー1,2,3起動!トラッカー認識ヨシ!」
わい「VMC起動!」
(これもなんか時間かかるので、平行してコントローラ起動)
わい「コントローラ認識ヨシ!」
わい「VMC設定ロード!キャリブレーション開始!」
(立ち上がってHMDを付けてTポーズする)
わい「(HMDを外して)VMCトラッキングヨシ!」
わい「LIV起動!externalcamera読み込みヨシ」

わい「VMCでもexternalcamera読み込みヨシ」
わい「SteamVRからゲーム起動」
(起動ちょっと待つ)

わい「LIV合成確認ヨシ!」
わい「OBS起動。OBSキャプチャー設定ヨシ!録画開始!」
わい「…よしゲームやるぞ(HMDをかぶる)」

非対応ゲーやるとき

わい「SteamVR起動!」
ベースステーション「フォオオオ…(30秒ぐらい」
わい(この間にトラッカー装備しよ…)
わい「ベースステーションB,C起動確認ヨシ!」
わい「トラッカー1,2,3起動!トラッカー認識ヨシ!」
わい「VMC起動!」
(これもなんか時間かかるので、平行してコントローラ起動)
わい「コントローラ認識ヨシ!」
わい「VMC設定ロード!キャリブレーション開始!」
(立ち上がってTポーズする)
わい「VMCトラッキングヨシ!」
わい「OBS起動!グリーンバック合成設定読み込みヨシ」
わい「SteamVRからゲーム起動」
(起動ちょっと待つ)
わい「OBSキャプチャー設定ヨシ!録画開始!」
わい「…よしゲームやるぞ」

こんな感じにはなる!仕組みがわかれば、トラブル要因はコントローラ起動順序とトラッカー割当/キャリブレーションに収束するはずなので、順序に気をつけてて手順をキッチリやると良いだろう

かわいくなるためには日々の努力が必要なんだなあ…

元旦ブルベで初300完走した

サークル参加した翌日に真冬の300ブルベとかどういうスケジュール組んでんだ…。いやまあ、今年は実家に帰らない宣言をしたのでせっかくだからと入れてみた。このためにコミケ3日目はしぶしぶスルーして、家でゆったり仮眠

f:id:o_mega:20190105173749p:plain

コース自体は二子玉をスタートして横浜逗子を経由して、よくブルベでも走る江ノ島~熱海、伊豆高原を目指し、そこからまた二子玉へ戻る。ざっくり平坦と言われるような気がしなくもない。江ノ島~小田原区間は走り慣れてることもあるが、何より道路状況がよく走りやすい、稼げるはずだ。ただし、伊豆の方は伊東の先は行ったことがないのと、横浜周辺、真鶴付近はアップダウンがある。

 

冬装備ということで、

  • 上 : モンベル・メリノウールインナー + おたふく冬インナー + 裏起毛の冬ジャージ + ウインドブレーカー
  • 下 : 長タイツ + 風防パンツ
  • 首 : チューブ型バンダナ(夜間は伸ばして顔をカバー)
  • 手 : 薄手グローブ + ハンドルカバー
  • 靴 : 2重靴下 + ネオプレンのシューズカバー + 巻きポカ

巻ポカはcbnanashiでもおなじみのbaruさんが試していたのを真似てみた。桐灰のカイロを足首に巻くことで末端を温めようというソリューションなのだが…、うーん、それまでの試験運用でも実感は微妙。単純に熱量が少ない気がする。まあせっかく買ったのだから、というのとかさばらないことから付けていく

 あとPCでの休憩時用に、ULダウンジャケットを積んでいくものの、さすがに嵩張った。オルトリーブのサドルバック輪行バッグやバッテリ類と合わせて積むにはちょっと厳しい。又は、ダウンジャケットの袋が十分にコンパクトではないので、圧縮袋があっても良いかもしれない

 

と前日準備…したはずがイマイチ時間管理出来ず、ゴロゴロ仮眠していたこともあってあんまりメシも食えてない状態でスタート地点の二子玉へ。いつものdekosukeさんと合流

 

f:id:o_mega:20190104190919p:plain

おまっ、大晦日の23時に走り出そうと河川敷にこんなに人が集まるのか…ようやるわ~(自分棚上げ)

 

ざっくり

  • 0030 二子玉スタート
  • 0315 PC1 葉山一色 20分休憩
  • 0440 コンビニ 20分休憩
  • 0625 PC2 西湘江之浦 30分休憩 + 日の出観測
  • 0825 コンビニ 20分休憩
  • 1020 PC3 伊豆高原 25分休憩
  • 1300 PC4 湯河原 15分休憩
  • 1325 コンビニ  15分休憩
  • 1730 PC5 鍛冶ヶ谷 25分休憩
  • 1910 二子玉ゴール

気温は氷点下を危惧していたが、手元の雑な温度計を見る限りでは1℃~6℃(日の出後)~15℃(日中)ぐらいのレンジ。

10℃を超えるとウインドブレーカーを脱ぐぐらいがちょうど良かった。ハンドルカバーで覆った手は低い分には問題ないが、日中は暑く蒸れ気味。といっても手をカバーからちょっと抜けば冷えるのでベストと言える装備だった。つま先はしびれまでは行かないものの、冷えが日中でも抜けない感じがあってこれは更に対策がいるなあ。冷え性ってのも効いてそう

f:id:o_mega:20190105173805p:plain

去年から引きずってる右足の調子はまずまずだが、どうにも自分のペダリングが変わってきているようで気持ちよく回るものの踏みすぎてしまう。サドル位置もなんだか合わず、じわじわ前寄りに調整しながら走る。前乗りができるようになってきた?というよりは最近心がけてる「脛をほぐす」のが効いて、足首の柔軟性が出てるのかもしれない

ケイデンス80前後が気持ちよかったはずが、どうも60前後まで落ちてきている?パワーが出やすくなったものの、それに対する体幹や心肺が足りてない感じ

 

元旦ということでなかなか交通量がある。藤沢江ノ島あたりでは、パラリラ鳴らしながら走るバイクやらLEDでボディがビカビカの車、旗を立てたでかい車などとすれ違って治安が悪いなーと思うものの、総体としては数が多くないし、単に固まって路駐していたりする程度で怖くはない。むしろ距離感が掴みかねてるファミリーカーや、飛ばしているや車の方がコワイ。

大磯からの国道1号から流量がへり走りやすくなる。真鶴の近辺のアップダウンはあるものの、海岸は平坦。PC2過ぎたところで初日の出を観測。伊豆高原近くがいきなり激坂付きアップダウンで足が削られる。150km走ってこれはひどい仕打ちだw

伊豆高原を折り返しで再びのアップダウン。昼過ぎとなって真鶴道路が渋滞に。相当走った(実際走ってるのだが)のに、まだ夕方にもなっていないことに愕然としながら走る。この辺まで来ると踏み込むと心臓が痛んだり、肺が痛くなってきていて、無理せずペースダウン… するものの、熱海駅前に激坂があったりしてつらい…

帰りの134号はやはり飛ばす車が多い。横浜を通ると帰ってきた感じが出てくる。PC5に通ってゴール

f:id:o_mega:20190105182919p:plain

 

いやー、初完走。今年の幸先としては良いけど、厳しかった。300はやっぱり長い。やったーというよりはリタイヤしそこねた感。100km越えるとペースがわかって来きて、200km越えるとしんどさが出てくるねえ

夜スタートということで、あんまりメシ食えなかったというか、お腹の調子がわからず食欲が良くわからん状態で走るのはなかなかコワイ。過去走った木崎湖300でもそうだが、夜スタートの夜間走行は体内時計がよくわからなくなって、かなり精神に来る

 

冬コミC95お疲れ様でした&コイントレイを売る難しさ

冬コミお疲れ様でした

まずは冬コミC95お疲れ様でした。スペースに来てくれた皆さん、ありがとう。買ってくれた方にはますますありがとうありがとう。「めっちゃ使ってます。便利です」といった嬉しい報告、「こっちの金庫でも使えた」というありがたい報告も貰えて手応えを感じています。

 「隣のサークルの方が使っててほしくなって来た!」「買っていったら『うちもほしいからもう一回買ってきて』と言われちゃって」みたいな人もちょくちょくいらっしゃって、僕は嬉しいぞー!

あっ、コイントレイというのはこれです。

f:id:o_mega:20190103164534p:plain

 

が、売上数はなかなか上がらない。

ということでここ半年の販売振り返り。

夏(C94)の売れ行きが予想より良くて、今回(C95)が平常、というのが多分正しいのでしょうね。夏は結局バタバタしてしまって、準備しきれないところがありましたが、今回の冬はまあまあ準備できたのではないかなあと思いつつ

夏(C94)

  • 昼過ぎに完売
  • 独立スタンドA1ポスター + お誕生日席かつメイン通路角という好立地

今回冬(C95)

  • 閉会まで頒布して、夏とほぼ同数
  • A2机ポスター + 島中 というスタンダードな配置

ぐらいの差でした。マイナーな同人ハード島というのも効いてそうですが、果たしてこのコイントレイは、実用品は一体どこジャンルで頒布すべきなのか?というそもそもの疑問もありまして、移動は悩ましい。アクセサリーじゃないしなあ…

まああとコミケとかいう顧客が忙しいタイミングにかぶせて売るというタイミングの悪さ…。そりゃサークル主は普通来れないし来ない。

 

まあそもそも、そんなたくさん買うようなモノでもないんですよね。便利グッズなんて。普通の同人誌みたいにファンが付いて、継続的にシリーズを買ってもらうというよく見るフローがコイントレイにはできない。常にコイントレイを知らない/持ってない人にアプローチしていく必要がある

違う戦略が必要だ。

 

ショップ委託は大切だが、露出までは得られるわけではない

夏からショップ委託(ななぽストア/COMIC ZIN)も行っていて、更に秋葉原COMIC ZINでは店頭展示販売も開始しております。通販作業が不要になって助かる~。が、やはりグッと伸びるわけじゃないのね。そりゃそうだ。

現状やはりコミケ1回分の売上に、ショップ委託分は追いついて来れない。いやコミケが、即売会での販売がクソ強いと見るべきだ。(まだ冬コミ後に駆け込み通販があるかもしれないが…)

 実際ショップの検索欄に乗るといっても、ショップで検索しないと出てこないし、そもそもそういうショップにアクセスしないとリーチできない。検索エンジンに引っかからないサイトはないも同然、というさんざん聞いて来たSEOフレーズが脳内で木霊するわけです。

委託ショップへ、通販への誘導は自分がやらねばならぬ。みんな~、ここで売ってるから!通販やってるよ~!それはそう。ぐぬぬぬ…

まだ見ぬ潜在顧客に知ってもらうにはどうすればよいか?接触機会とアテンションや~(よくわかってない)

 

露出を金で叩く(Twitter広告の場合)

そりゃあ…、金じゃよ!ズドン!

ということで秋から冬コミ直前にかけて、Twitter広告を15k円ほど打ち込んでみました。失礼ながら今まであんまりいいイメージ無かった広告だけど、潜在顧客?っぽい人たちに「これどうよ?」って見せつけるサービスとして考えると、確かにすごい。これしかないという気持ちになる。すごいぞ広告!

 

Twitter広告は、全体予算、日予算を設定すると、その予算内で限界までフルオートで露出してくれる仕組み。加えて表示対象を「オーディエンスの機能」でいろいろ絞れる

f:id:o_mega:20190103172528p:plain

 関連キーワード、タグやら、特定アカウントのフォロワーやら、あとあんまり今回は使えなかったが興味領域やら記念日(祝日)をターゲティングとかできる様子。

f:id:o_mega:20190103175204p:plain

興味空間-趣味・興味-マンガはちょっと違うよな…どう考えても…。祝日系も英語圏仕様だし…

 

設定するとなんか毎日のクレカ引き落としお知らせと、グラフが更新される。時々RTしたりfavってくれるたりする通知が来る。ひゃー、たまんねぇぜ。タップもクリックもなしに残高が減る。すごい仕組みだ。

f:id:o_mega:20190103175437p:plain

正直、15k円だと広告費としてはかなり弱いんじゃ?ちょっとしたネタのバズりより弱い気がする。とはいえ自分はあんまりバズるツイートが出来ない方なので、その費用として考えるとそんなもんなのかもしれない…。こういっちゃ何だけど、ヘビーユーザーの人が「これマジ便利っすよ~」みたいなツイートをしてくれるとめっちゃ嬉しいし、期待してしまう

 

などとやっていると、ものやサービスの値段がどんどん分からなくなっていく。わからんなんもわからん。果たしてビジネスとは一体?売買とか経済とは一体なんなの?

いや、自分は趣味でモノ作って趣味で広告売って趣味で売ってるからいいけど、本業はこれどうやってんの?とかうん… わからん俺たちは雰囲気で(略

 

有名サイトのバナー掲載とかも価格調べて見たけど、そこと比べるとやはりTwitter広告は参入しやすい感はあるし、15k円は投入額としては安すぎた。がどの程度続けるべきかは正直判断に困っている(ちゃんとリーチできてんのかな) 

まあそもそもインプレッションぐらいしか見ていないので、もっとちゃんと広告を学んでトラッキングしろと言えばそれはそうなのだが…、うーむ手間掛かるねえ

コミケでの反応

さておき、コミケ会場でのお客さんの反応は結構明確に分かれている感じがあって、なかなかおもしろい

  • そのものズバリで買いに来てくれる人「Twitterで見て/使ってる人を見て買いに来ました!」(あざます!)
  • 使ってます報告の人「めっちゃ助かってます」(良かった良かった)
  • コレなんだろの人、デモったり解説すると「めっちゃ便利ですね。でも、うちはサークルじゃない/そこまで売れないからなあ…」(ぐぬぬ…)

ズバリで買いに来てくれる人は、なんか広告の効果が出たり出なかったりしてリーチできてるわけで、素晴らしい。ありがとうありがとう。

今回のお客さんを見ると、1,2のタイプの方がじわじわ増えてるようには感じられてます。ただ、3の人もかなりかった。多分、太い通りの一つ横の島だったという地形効果が高そう

 

今後の戦略

とりま、今回はスペースでの毎回説明やデモが結構たいへんだよねと売り子と話し合い、なんかPVなり動画での説明があっても良さそうという改善案を出しつつ。あとA1ポスターは要る、要るんだ!

即売会会場でのやりくりは手応えもあり、じっくり行くぞという所ですかね。「コミケ初参加なんだけど何部刷ったらいいかわからなくて…」君と根本では変わらないわけだし、在庫のTATSUJIN!軽い気持ちで初めた量産、去年の目標「コイントレイをさばく」は未達ではあるものの実感はあり、採算分岐点はまだまだ遠けど見えない距離ではない

D言語くんVRMモデリングが難しかった話

D言語くんVRMモデルを作り直そうと思ってたら、期日が来てしまったorz ということで、前のD言語くんVRMモデルを作るときに詰まったアレコレを、主にキャラデザからつらつらと

 

https://3d.nicovideo.jp/works/td36677 

 

モデリングには公式の絵を下絵になぞる感じで作っていたんですが…

 

f:id:o_mega:20181209165816p:plain

D言語くんの絵をそのまま下絵にしてはいけない理由

つまり、そういうことです。再現をしようとするといけない。ちゃんとキャラデザをして、モデリング向きにしてからやるべきでしたね…。「おっしゃモデリングだいたい理解したしイケるぜオラー!」とおもったら、こだわると想像以上に難しいお題だったんだよ!D言語くん

多分ですが、きぐるみみたいに立体的に無理がない設計をするといいのかと思いますが、例えば目の表情付とかも難しい。VRM+VirtualCastはなめらかに表情がモーフするため、全ての座標は線形に(直線に)動いてしまうため、目の丸い形状に沿わせられなかったり… この辺は割り切りが必要そうです

 

まああと「上半身の上に若干首のボーンウエイトを塗ってひねる動き」を再現しようとしたんですが、VirtualCastは至ってプリミティブなボーンで動くため、関節がひしゃげる/小さくなる問題が起きてしまいち。やはり欲張ってはいけない

そりゃそうと言えばそりゃそうなんですが、やはり「VRMは人形アバター向け」ですので、きぐるみ程度でも人と違うセオリーが適用されるんだなあ、と学んだ次第です

 

 

 で、反省を生かして生まれた&割り切って作ったのがスーモだったりするわけですよ。目は皿型で空中に浮くだけ、表情は無理しない(できないものはアイコンで大まかカバー)、手足は前述の自作D言語くんから移植してます。

あ、オマケ情報ですがこのVRMはVirtualCastで他者利用できます。80cmぐらいの身長にしてあるので、小動物だかマスコットだかの気分が味わえるはず

3d.nicovideo.jp

 スーモかわいい