モーションキャプチャ交流会(#モーキャプ交流会 )を主宰させていただきました

モーションキャプチャ交流会 とは

皆さんはモーションキャプチャというものをご存じでしょうか。
モーションキャプチャは人の動きをカメラやセンサで計測して、スポーツや医療におけるデータ収集やエンタメ分野におけるモーション制作などに活用されている技術です。
モーションキャプチャ用の機材にも様々な種類がありますが、今回は比較的有名な機材を集めて、それぞれがどのような特徴を持っているのか交流をしながら学ぼう!という目的で、本交流会を企画・主宰させていただきました。

より詳しい内容はconnpassページをご覧いただければと思います。
mocap-meetup.connpass.com

協力団体・企業様

今回は様々な企業様・団体様にお声がけしたところ、以下の方々にご協力いただけました(五十音順)。

この場をお借りして、改めて御礼申し上げます。
ありがとうございました。

機材・ソフトウェア一覧

協力団体・企業様からお借りいたしました機材・ソフトウェアは以下の通りになります(ABC順)。

  • MANUS グローブ(スパイス様、ゼロシーセブン様ご協力)
  • MotionBuilder(バーチャルキャスト様ご協力)
  • OptiTrack(スパイス様ご協力)
  • Perception Neuron Pro
  • Perception Neuron Studio
  • Perception Neuron Studio Glove
  • Perception Neuron 3
  • VICON(クレッセント様ご協力)
  • Xsens MVN(ゼロシーセブン様ご協力)

これほどの機材が一堂に会するのは恐らく初めてではないでしょうか。
私自身、企画段階ではここまで大きな会になるとは思ってもいませんでした。

アクター様

今回アクター様を4名様ほどご招待させていただきました。
運営から直接指名させていただきました、りりぃ様、あだこ様、そしてconnpassから募集させていただきました一杯くらい良いじゃないですか様、糸巻 こころ様、にご協力いただきました。

皆さま本当にアクトが素晴らしく、無茶なリクエストも快く引き受けてくださりました。
本当にありがとうございました。

使用モデル

本会ではUnityにて最終レンダリングを行いました。
そのためUnity上でモーションを流し込むモデルに、大葉真琴/大葉ねこな様から「大葉ねこな 冬服2019」を、YOYOGI MORI様から「Undone Kittens」、「imiut」、「KRONOS」、「Notia」、「kei」、「白鳥 -Shiratori-」を、そしてCIFER.techから「LunaPiena -ルナ・ピエーナ-」を、それぞれご許可頂いたうえで使用させていただきました。
改めまして皆様にお礼申し上げます。ありがとうございました。

アーカイブ

現在アーカイブは非公開にさせていただいております。
ご協力いただきました企業様のご承諾を頂き次第の公開を予定しておりますので、もう少々お待ちいただければと思います。

公開された場合は、以下のYouTubeチャンネルにて公開させていただきます。
www.youtube.com

イベントレポート

まだ公開されてはおりませんが、後日複数のメディア様からイベントレポートが出される予定です。
現在校正中とはなりますが、素晴らしいレポートになっておりますので、ぜひご覧いただければと思います。

収録データ

会中に様々な機材で様々なモーションを収録いたしました。
それらのデータは公開できるよう各企業様にお願いをしている最中になります。
メディア様からのイベントレポートと同時に公開できるようにいたします。

謝辞

最後になりましたが、本会にご協力いただきました皆様に改めてお礼申し上げます。
ありがとうございました。

企業・団体様としては、クレッセント様、スパイス様、ゼロシーセブン様、バーチャルキャスト様、Haritora Project様に、アクター様としては、りりぃ様、あだこ様、一杯くらい良いじゃないですか様、糸巻 こころ様に、モデルご協力としては、大葉真琴/大葉ねこな様、YOYOGI MORI様に、YouTube Live配信では、ご視聴・コメントしていただきました皆様に、ご尽力いただきましたおかげで、本会の成功を収めることができました。
本当にありがとうございました。

また運営メンバとしては、私以外に4名ほどご協力していただきました。
具体的にお名前を挙げることはできないため伏せさせていただきますが、お礼申し上げます。
ありがとうございました。

また次回、このようなイベントを企画させていただきました際には、何卒よろしくお願いいたします。

バーチャルクラブ『LaMer(ラメール)』のベータテストに参加してきました

LaMer(ラメール) とは

株式会社アビスさんが新しく始められた(というより、LaMerを始めるために作った会社?)、バーチャルでキャストと二人だけの特別な時間を過ごせるサービスです。
蒼い海の底のラウンジをイメージした、重厚なVR空間でキャストと二人だけの上質な時間を過ごせるサービスだそうです。
この手のサービスには珍しく、最初からデスクトップ版とVR版の両方がサポートされています。

vrclub-lamer.jp
twitter.com
studioabyss.co.jp

今回はオープンして間もない時期ということで、キャスト/サービスともに初々しい姿が見れるかと思い参加してみることにしました。
LaMerを知ったきっかけはTwitterの広告でしたが、5月1日から数日だけプロモーションを打っていたようで、今はもう見れなくなってしまいました。私が対象から外れただけでしょうか?

ユメノグラフィアβ版Prhythm☆StellAプレオープンの時と同じように、実際に体験してみての感想を書きたいと思います。

サービス体験の流れ

まず最初にサービスを体験するまでの流れを記載しておきます。
以下の感想にはこの流れを把握していないと、いまいち何を言っているのかわかりづらいため、軽く覚えていただけると嬉しいです。

まず最初にホームページから席の予約します。この時指名や要望があれば一緒に指定します。
予約したタイミングでユーザーガイドが記載されたPDFのURLやクライアントDL用URL、Googleカレンダー登録用URLが記載された予約完了メールが送られてきます。

そして予約時間の1時間前までに座席確定メールが届き、ここにクライアントに入力する用の「お席ID」と「パスワード」が記載されています。
この時予約時の要望について、お店側からの返答も一緒に記載されているので確認しましょう。

予約時間間近になったらクライアントを起動し、お席IDとパスワードを入力します。
キャストさんとの処理の都合上か、時間間際(5分前程度)にならないと認証が通らないようになっています。

ログインできたらHMDを被ります。すると注意事項が書かれた準備部屋に飛ばされます。
この時長い間画面が暗転したままなので、あれ?と思ってもそのまま待ちましょう。
概ねテストアプリと同じことが書かれているので、事前にテストアプリで読んでいた方は読み飛ばしても大丈夫そうです。
準備部屋の最後で音声テストを行って、机に現れるベルを鳴らして本番スタートになります。

時間いっぱいまでお話しして、時間になったら自分でクライアントを落とす形で終了になります。

一般客としての感想

キャストさんについて

今回はフリー指名で3回体験させていただいたのですが、1回目に野々ののこさん、2回目に華城ヨミさん、3回目に恋摘いちごさんに対応していただきました。
お三方ともとてもお話上手で、会話下手な私が行っても楽しい時間を過ごせました。

twitter.com

twitter.com

twitter.com

個人的な押しは華城ヨミさんです。
どうもVRChat民のようで、アバター改変やVRoid Studioでの制作などもやっているらしく、だいぶこちら側の人間だなと感じました。
同類だなーと分かった途端にオタク特有の早口されたのは良かったです。

世界観について

キャストさんの世界観は「私たちバーチャルで生きてます!」みたいなVTuber的な感じではなく、遠隔キャバクラをやっています、というような感じだったので、普通にリアル世界の話とかも出てきます。
「友達と○○に行ったときに~」みたいな会話もしますし、途中野々ののこさんが脇に置いていたパイの実を落とした音が聞こえたのは面白かったです。

料金について

ベータテストということで、席料30分/500円、指名料500円で体験できます。
本稼働の際にはいくらになるのか気になるところですが、似たサービスのユメノグラフィアが30分/4400円(指名料込み)ですので、大体そのぐらいになるのかなぁと予想しています。

写真撮影について

この手のサービスには珍しく、静止画ならキャストさんの許諾を得たうえで撮影が可能になっています。
VRChatのようなカメラ機能は実装されていないので、自分でウィンドウを撮影する必要がありますが、大変良いと思います。
事前にOBSなどで撮影できる環境を整えておき、撮影タイミングになったら使用できるようにしたらよいと思います。

またキャストさんとのツーショット写真も撮ることができ、キャストさん経由でスタッフさんを呼んでいただき、後日メールで送っていただくという形になります。
今回撮影させていただいた写真を以下に貼り付けておきます。

f:id:karukaru808:20210505093005p:plain
f:id:karukaru808:20210505093010p:plain
f:id:karukaru808:20210505093030p:plain

Oculus Linkの対応について

公式にはサポートされていませんでしたが、最後の恋摘いちごさんの時にこっそり試してみました。
画質は少し落ちますが普通に体験することができました。
Oculus Linkの設定を詰めれば画質も改善するかもなので、Oculus Quest / Quest2しか持ってないんだけど!という方でも楽しめそうです。

キャストスケジュールについて

予約画面にて、キャストさんごとにこの日のこの時間は空いている、といった予定表をリストで見ることができるのですが、この日のこの時間に誰が空いているのか、というような日時ベースの検索ができませんでした。
「この日空いてるからLaMer行こうかな~」みたいなユースケースは考えていないのかもですが、できたら嬉しいなと思います。

クレカ番号入力について

決済画面にてクレジットカード番号を入力する必要があるのですが、クレカ情報が保存されないため決済ごとに入力しないといけないので面倒です。
ただしこれはセキュリティの観点から保存したくない、という気持ちも十分にわかるので、PayPal対応くらいが妥当なところかなぁ?と思っています。

音声入力デバイスについて

既定のデバイスが入力デバイスとして選択されるのですが、選択できる枠がどこかにあると嬉しいです。
「既定のデバイス変えろよ!」と言われればそれまでなのですが、VRやってると既定のデバイスがコロコロ変わるので管理が難しかったりします。

音声テストについて

準備部屋においての音声チェックを行う画面にてダミー音声が流れるのですが、これがとても小さいです。
おそらく通常の半分程度の音量なので、この時の音に合わせて音量調整してしまうと耳を壊してしまいます。

またマイク入力のテストについても、音が入力されていることはわかるのですが、どういった音が入力されているかの確認ができないため、本当に正しいマイクから入力されているのかがわからないです。
例えばボイスチェンジャーを使用されている方とかの場合は致命的な問題になりかねません。
音のループバックをしていただけると助かります。

と思ったのですが、テスト画面のテキストを読むとどうやらループバックがされているハズのようです。
現在は何も聞こえないので、バグか何かで機能が死んでいるようです。

ID/パスワード入力画面について

IDとパスワードを入力する画面において、VR内でID/パスワードをペーストするのが難しいです。
入力枠の横あたりにクリップボードからペーストするボタンがあると嬉しいです。

またパスワード入力画面ですが、以下の画面をパッと見て何を入力すればいいのかわからず混乱したりしました。
f:id:karukaru808:20210504072644p:plain

お客様IDが空欄なのが混乱の原因だとは思うのですが、お客様IDを入力すればいいのかパスワードを入力すればいいのか、最初はわかりませんでした。
よく読めばパスワードを入力すればいいことはわかるのですが、フォントサイズの変更などで視線誘導をもう少ししてくれたら優しいかなと思います。

ペンについて

よくVRChatに置いてあるようなペンがテーブルに置いてあるのですが、線色がピンクしかありませんでした。しかもマテリアルエラーの時のピンクです。
ちょっと心臓に悪いのでもうちょっと優しい色に変えていただくか、ガワの色が赤と青のペンでしたので赤色と青色の線色が出せると良いなと思います。

お客側のアバターについて

現状は頭がモニターにこちゃんマークが書かれた謎の男でしか体験できないのですが、やはり自分のアバターで参加したいです。
VRoid HubやTHE SEED ONLINEと連携してくれると嬉しいです。
f:id:karukaru808:20210505091032p:plain
左がお客側アバター

終了処理について

お客がクライアントを落として終了、というのは潔いというか男気溢れる仕様だと思うので、キャストさんの何らかのアクションで退室させる、みたいなフローがあってもいいのかなと思います。
これはフラッシュアイデアなのですが、終了画面で今回撮った写真一覧が表示されて、すぐにTwitterなどに投稿出来たら良いかもです。

エンジニアとしての感想

各種同期システムについて

Managedフォルダの中身を見てみたらPhoton系のDLLが入っていたので、おそらくPhoton Unity Networking 2とPhoton Voice 2を使用していると思います。
assetstore.unity.com
assetstore.unity.com

Unityバージョンについて

2019.1.7で開発されてるようですが、なんでLTSバージョンを使わないんだろう…?と疑問に思っています。
何かクリティカルなバグがあったか、忙しくてバージョンアップデートが後回しになっているか、だとは思いますが。

Googleカレンダーについて

予約完了したときのメールに、ご丁寧に予定をGoogleカレンダーに登録してくれるURLも一緒に送ってくれます。
これ自体はすごくありがたいことなのですが、いざ予定を入れようとすると以下のようにタイトルが「分 /」となっていて、何の予定なのかさっぱりわからないものが登録されてしまいます。
f:id:karukaru808:20210503160213p:plain

せめて「LaMer」という文字列と、指名したキャストさんの名前くらいは載せておいてもいいのかなと思います。

対応機種について

現在はOculus Rift / Rift Sのみの対応になっていますが、SteamVR対応してくれればほぼ全てのHMDに対応できるので、そこは改善してほしいなと思います。
というかユメノグラフィアの時もそうでしたが、なんで初期リリースがOculus系しかないサービスが多いんですかね?
SteamVR Plugin入れれば簡単に対応できるのに、と思います。

準備画面での怪しい挙動

右コントローラのスティック押し込みを行ったら、ベルを押下していない(そもそも出現していない)のに本番がスタートしたので、もしかしたらデバッグ用アクションが残っていたりするかもです。
ただし準備画面でいろいろとコントローラ入力を試していた時だったため、本当に右スティック押し込みが発火したアクションかは確信が持てませんでした。
起きたのも最後の1回だったため、その後検証することもできませんでした。まあこういうのは内部のエンジニアさんにお任せしましょう。

ペンについて

何かしらの遠方のオブジェクトが影響して、一部が透けて見えるような挙動を示していました。
キャストさんとは別方向、右奥の方向を向いてペンで何か書くと、遠方のテーブル?窓枠?の上あたりと干渉して透明になってしまいます。
シェーダ起因のエラーだと思うのですが、クリティカルな問題ではないですし、普通にコミュニケーションに使用する分には問題ない(キャストさんの方向を向いてる場合は透明にはならない)ので、ゆっくり修正していただけたらと思います。

ライセンス表記について

アプリ内やホームページ内のどこにも、ライセンス表記を見かけなかったのですが大丈夫でしょうか?
パッと見た感じ、Unity標準機能とAssetStoreで入手できるもの、あとOculus SDKのみ入っているので、大体は大丈夫かと思いますが…。
各アセットの細かいライセンスや、Oculus SDK License Agreementをちゃんと読んでいるわけではないので断言はできませんが。

総評

総評としましては、細かい粗はあるものの、全体的にレベルの高い良コンテンツ 、という感じです。
かなり完成度が高く、ベータテストとは思えないほど高クオリティでした。

サービスも非常によく、特に写真撮影がOKなのが嬉しいです。
思い出として写真があるというのは非常に良い体験でした。
メタいことを言ってしまうと、こういったレビュー記事を書くときに画像が入れられて嬉しい、というのもあります。

うまく運営していけば長寿になるとは思うのですが、いかんせんPR能力が低いようで、多くの人に認知されていない状態なのが残念です。
プレスリリースすら出していないようなので、それは出したほうが良いかなと思います。
PANORAさんやMogura VRさんにプレスリリース送り付けたら掲載してくれると思うので、試してみてはいかがでしょう。

余談

今回のレビュー記事を書くにあたってユメノグラフィアのレビュー記事を読み返していたのですが、このようなサービスを展開する会社さんがもっと出てくるかも、と書いていたので予想大当たりでした。
ただ2年も間が空くとは思っていませんでしたが…。

とても良いサービスだと思います。今までVR空間内で一対一のコミュニケーションを売りにしたサービスは無く、良いところに目を付けたなという感じです。
私の知り合いに同じような試みをVirtualCastでやっている方がいて、一定数そのような需要はあるのだと感じているので、今後同じようなサービスを展開する会社さんも出てくるかもしれません。

ユメノグラフィアβ版体験会に参加してきました - karukaru808’s blog より引用

おまけ

文中に入りきらなかった写真を貼り付けておきます。
LaMerではこんなこともできるんだ~程度に眺めていただければと思います。
f:id:karukaru808:20210505093057p:plain
f:id:karukaru808:20210505093103p:plain
f:id:karukaru808:20210505093110p:plain
f:id:karukaru808:20210505093118p:plain
f:id:karukaru808:20210505093126p:plain
f:id:karukaru808:20210505093051p:plain

Vive SRanipal SDK: 舌ブレンドシェイプのチュートリアル(英題:Vive SRanipal SDK: Tonque blendshape tutorial)の日本語訳

初めに

この記事は下の動画の内容を個人が簡単に翻訳を行ったものです。


Vive SRanipal SDK: Tonque blendshape tutorial

この翻訳は機械翻訳片手に翻訳を行い、それをまとめたものになります。
意訳が大いに含まれていますし、ニュアンスや表現が実際とは異なる意味になっている箇所があるかもしれません。
ご承知おきの上ご覧いただけますと幸いです。

冒頭(0:00~0:49)

f:id:karukaru808:20200914211105p:plain
このビデオは Tongue_UpLeft_Correction ブレンドシェイプの作り方を説明します。

f:id:karukaru808:20200914211321p:plain
これはブレンドシェイプの動作を説明するための例です。

理学士 Andrew Patrick Smith 著、2006年12月発表
マッスルベースの表情アニメーションに使用されているブレンドシェイプの重ね合わせについて
(原題:MUSCLE-BASED FACIAL ANIMATION USING BLENDSHAPES IN SUPERPOSITION)
4.5章 重複したブレンドシェイプの重ね合わせ
(原題:4.5 Superposition of Overlapping Blendshapes)
https://core.ac.uk/download/pdf/4271934.pdf
より引用

理論(0:50~1:59)

f:id:karukaru808:20200914214014p:plain
ベースメッシュ、ブレンドシェイプA、ブレンドシェイプBがあります。
ブレンドシェイプAとブレンドシェイプBを重ね合わせると中央が不自然に盛り上がってしまいます。
そこでブレンドシェイプAとブレンドシェイプBの交点に当たる部分を反転して、矯正用のブレンドシェイプを作成します。
ブレンドシェイプA、ブレンドシェイプB、矯正用ブレンドシェイプを重ね合わせると、理想的なメッシュになります。

f:id:karukaru808:20200914214605p:plain
理想的なメッシュ = ブレンドシェイプA + ブレンドシェイプB + 矯正用ブレンドシェイプ
矯正用ブレンドシェイプ = 理想的なメッシュ - ブレンドシェイプA - ブレンドシェイプB

矯正用ブレンドシェイプの作成(2:00~5:14)

f:id:karukaru808:20200914215251p:plain
舌のベースメッシュ、ブレンドシェイプA(Up)、ブレンドシェイプB(Left)、理想的なメッシュ(UpLeft)があります。

f:id:karukaru808:20200914215536p:plain
ブレンドシェイプA、ブレンドシェイプB、理想的なメッシュの3つを選択します。

f:id:karukaru808:20200914215713p:plain
最後にベースメッシュを選択します。

f:id:karukaru808:20200914215812p:plain
Create Brend Shapeボタンを押してブレンドシェイプを作成します。

f:id:karukaru808:20200915001051g:plain
作成したブレンドシェイプの確認をします。

f:id:karukaru808:20200915001829g:plain
ブレンドシェイプA(Up)とブレンドシェイプB(Left)のウェイトを同時に1にしたら理想的なメッシュ(UpLeft)になってほしいですが、舌先が細長くなってしまい理想的なメッシュではない、誤った状態の形状になってしまいます。

f:id:karukaru808:20200915002045p:plain
ブレンドシェイプA(Up)とブレンドシェイプB(Left)のウェイトを-1に設定して反転させます。

f:id:karukaru808:20200915002340p:plain
この時のメッシュ形状は、理想的なメッシュ - ブレンドシェイプA - ブレンドシェイプB という状態になります。

f:id:karukaru808:20200915002544p:plain
これは矯正用ブレンドシェイプになります。
(矯正用ブレンドシェイプ = 理想的なメッシュ - ブレンドシェイプA - ブレンドシェイプB であるため。)

矯正用ブレンドシェイプの動作確認(5:15~6:19)

f:id:karukaru808:20200915003015p:plain
ヒストリーを削除して、再度ブレンドシェイプを作成します。

f:id:karukaru808:20200915003353g:plain
ブレンドシェイプA(Up)とブレンドシェイプB(Left)、そして矯正用ブレンドシェイプのウェイトを同時に1にします。
すると理想的なメッシュ形状になります。
(理想的なメッシュ = ブレンドシェイプA + ブレンドシェイプB + 矯正用ブレンドシェイプ であるため。)

f:id:karukaru808:20200915004457p:plain
これでブレンドシェイプA、ブレンドシェイプB、理想的なメッシュから矯正用ブレンドシェイプが作成できました。

理論の拡張(6:20~7:45)

f:id:karukaru808:20200915004752p:plain
この理論は対象となるブレンドシェイプが任意の個数(最低2個)に拡張しても適用できます。

f:id:karukaru808:20200915004925p:plain
例として、Tongue_UpLeft_Correctionブレンドシェイプは以下のような組み合わせで作成できます。

理想的なメッシュ = Jaw_Open + Tongue_LongStep1 + Tongue_LongStep2 + Tongue_Up + Tongue_Left + Tongue_UpLeft_Correction

Tongue_UpLeft_Correction = 理想的なメッシュ - Jaw_Open - Tongue_LongStep1 - Tongue_LongStep2 - Tongue_Up - Tongue_Left

f:id:karukaru808:20200915010519g:plain
Jaw_Open、Tongue_LongStep1、Tongue_LongStep2、Tongue_Up、Tongue_Left、の5つのブレンドシェイプのウェイトを1にします。
すると舌先が細長く誤った状態になってしまいますが、矯正用ブレンドシェイプであるTongue_UpLeft_Correctionのウェイトを1にすると理想的なメッシュになります。

Tongue_Up、Tongue_Left、Tongue_UpLeft_Correction、の3つのブレンドシェイプのウェイトを変えても、誤った状態にはなりません。

DoozyUIとModern UIでUnity(uGUI)臭さを消してみる

最初に

この記事は Unity アセット真夏のアドベントカレンダー 2020 Summer! の8月22日の記事です。
昨日はパルディ博士の助手RDAGさんによる「Vtuberなら時止めくらい軽くこなしてエモを出していこう【AssetAdventCalendar2020】」でした。

あれ、VIVEアンバサダーのRDAGさんじゃないですか。
奇遇ですね私もVIVEアンバサダーです。

概要

皆さんUnityでUI作るときどうしてますか?
まさかuGUIそのまま、って人は流石にいないかと思いますが、毎回PhotoshopIllustratorで作るのはコスパが悪く感じませんか?

あとCanvas管理とかView管理とかイベント管理とか、どうしてますか?
というかわからなくなりませんか?私は一度素のuGUIで頑張ったら無事わからなくなって爆死したことがあります!

こういったUI素材作りやCanvas管理など、面倒で手を抜きがちな要素をそのまま放置していると、いわゆる「Unity臭さ」というのがバリバリ出てしまいます。

f:id:karukaru808:20200820031735p:plain
「Unity臭い」UI

この「Unity臭さ」をDoozyUIとModern UI Packで楽して消そうよ、というのがこの記事の目的です。

DoozyUI とは

assetstore.unity.com
DoozyUIはUI管理やアニメーション、SE、アイコン、デザイン、等々を簡単に管理できるようにした、Unity Editor のネイティブ拡張アセットです。
専用のデータベースをプロジェクト内に持ち、これまた専用のウィンドウからデータを登録・変更・削除といった操作が行えて、UI素材の一括管理ができるようになっています。
またキャンパス間のノードベース遷移図も作成でき、どのキャンパスのどのボタンがどういった遷移を持っているのか、といった情報が一目でわかるようになっています。

これらをうまく活用すると、UI素材を変更しても参照はちゃんと持たれたまま一気に変更するとか、ボタンの持つ遷移を一括で変更する、みたいなことができます。

f:id:karukaru808:20200820003717p:plain
データベース管理画面

f:id:karukaru808:20200820005540p:plain
ノードベース遷移図

Modern UI Pack とは

assetstore.unity.com
シンプルかつモダンなUI素材が沢山入っているアセットです。
ボタン、アイコン、スライダー、プログレスバーセレクター、ドロップダウン、テキストフィールド、チェックボックス、モーダルウィンドウ、等々、本当にこのアセットさえあればUI素材はどうにかなります。

f:id:karukaru808:20200820030533p:plain
サンプルのタイトル画面、もうこの時点でカッコイイ

f:id:karukaru808:20200820030541p:plain
ボタンサンプル

f:id:karukaru808:20200820030543p:plain
プログレスバーサンプル

導入

Modern UIはアセットストアからインポートすればOKです。
DoozyUIに関してはわかりやすいインストール手順を書いていらっしゃる方がいるので割愛します。
とりすーぷさんが公開されているスライドがわかりやすい為、ここに貼らせていただきます。

www.slideshare.net

DoozyUIとModern UIの連携

DoozyUIとModern UIはまったく別の作者さんが作られていますし、相互連携が公式にサポートされているわけではないので、一部機能を使用する上で躓きやすいポイントがいくつかあります。
ここではボタンを例に解決したいと思います。

Button

コンテキストメニューから簡単に生成できますが、DoozyUIのUIButtonではなく、Modern UIのButtonを生成してください。
f:id:karukaru808:20200821125448p:plain
Modern UIのButtonを生成

生成されたボタンに対してDoozyUIのUIButtonコンポーネントを追加します。
f:id:karukaru808:20200821134046p:plain
UIButtonコンポーネントを追加

そしてButtonManagerBasicコンポーネントのSettingsから、UseCustomContentをオンにします。
このコンポーネントはModern UIに付いてくるものなのですが、あくまでもModern UIはUI素材の提供として割り切って管理はDoozyUIに任せたいため、Modern UI側の管理機能は切ってしまいます。
UseCustomContentをオンにすることで、TextMeshProコンポーネントのテキストを直接編集できるようになります。
f:id:karukaru808:20200821135048p:plain
UseCustomContentをオン

最後にButtonの子にあるテキストに対して、DoozyUIのColorTargetTextMeshProコンポーネントと、FontTargetTextMeshProコンポーネントを追加します。
この2つのコンポーネントはTextMeshProのテキストカラー、フォントをDoozyUIのデータベースで指定したものに自動設定してくれるコンポーネントになります。
f:id:karukaru808:20200821134246p:plain
TargetTextMeshProコンポーネントを追加

f:id:karukaru808:20200821141450p:plain
DoozyUIデータベースのThemesタブで一括管理できる

この3つさえ行えばOKです。
あとはDoozyUIデータベースでカラーを変えてみたり、フォントを変えてみたりしてください。変更した直後にその内容が反映されるかと思います。
もし反映されない場合は、データベースのThemesタブにあるDefaultと書かれたボタンを押すと反映されたりします。
f:id:karukaru808:20200821140841p:plain
反映されないときはDefaultボタンを押す

Image

Modern UI関係なくなってしまいますが、ImageコンポーネントのSpriteやカラーも管理できるため、一緒に紹介します。
こちらは普通のuGUIのImageを作成してください。
f:id:karukaru808:20200821143530p:plain
uGUI Imageを作成

これにColorTargetImageコンポーネント、SpriteTargetImageコンポーネントを追加します。
f:id:karukaru808:20200821173628p:plain
TargetImageコンポーネントを追加

こうすることでDoozyUIデータベースに登録された素材が反映されます。
Modern UIにある素材もDoozyUIデータベースに登録してから使用することで、管理が容易になります。

これら以外にもSpriteRendererやParticleSystemに対してUI管理可能なコンポーネントもあります。
だいたい「(管理したい情報)Target(管理対象のコンポーネント)」みたいな名前であるので、必要なときに検索して追加してください。

結果

で結局DoozyUIとModern UIを使うとどういう感じになるの?というところですが、同じようなUIを持った簡単なゲームを、UI作成にuGUIを使用したものとDoozyUIを使用したものの2つ作成してみました。
(UIサンプルという意味で作ったので、ゲーム内容には目を瞑ってほしいです…。)

見比べていただければわかりますが、DoozyUI + Modern UIを組み合わせることでだいぶマシになっているのがわかるかと思います。

unityroom.com
unityroom.com

最後に

ざっくり駆け足でしたが、DoozyUIとModern UIを組み合わせてUnity臭さを消してみました。
まだまだ紹介したいことはたくさんありますが、文章量が大変なことになってしまうのでここで一区切りしたいと思います。

明日はデニキさんによる「『In-Game Debug Log for AR and VR devices』で XR のデバッグを楽にしよう」です。

【宣伝】第2期 #VIVEアンバサダー に就任いたしました

僭越ながら HTC VIVE JAPAN 様が主宰されている 「第2期VIVEアンバサダー」 にご選考いただき、これに就任いたしました。

「VIVEアンバサダー」とは

VIVEやVIVEPORT製品の魅力を積極的に発信するために、もっとVRを楽しめるようにHTC VIVE JAPAN様から様々なサポートを頂けるプログラムです。
VIVEアンバサダーはVIVE製品とVIVEPORTコンテンツの魅力をブログ、SNSや映像配信チャンネルなどでVIVE利用に関する感想や情報を積極的に発信するなどのPR活動を行っていきます。

www.dmm.com

サポート頂ける内容について

VIVE Pro対応Droolon視線追跡モジュール、そしてリップトラッカーをお貸しいただけることになりました。

www.7invensun.com
www.moguravr.com

普段からキャラクター表現に拘ることが多く、念願であったアイトラッキングバイスとリップトラッキングバイスを組み合わせて使用できることを楽しみにしています。
最初の数週間はデバイスSDKを触って遊ぶことがメインになりますが、その後により高度なキャラクター表現を行えるよう頑張っていきます。

宣伝

最後になりますが、私のVIVEアンバサダーとしての活動報告の場を宣伝させていただき、締めさせていただきます。
上から順に更新頻度が高いものになります。

twitter.com
karukaru808.hatenablog.com
www.nicovideo.jp
www.youtube.com

以上になります。
まだまだ未熟な私ですが、皆さま応援のほどよろしくお願いいたします。

Prhythm☆StellA(プリズムステラ)プレオープンに参加してきました

Prhythm☆StellA(プリズムステラ) とは

株式会社ウェイブさんが新しく始められた、最新の3Dホログラム技術とAI技術で、魅力的な3人のアイドルと一対一でお話ができるエンターテイメント施設です。
「女神×アイドル」がテーマの新感覚エンターテイメント!との触れ込みで、ミニライブを見た後に個室でおしゃべりをして、好きな女の子と仲良くなる体験ができるサービスです。


『あなたの世界にヒロインを』Prhythm☆StellA コンセプトムービー

今回は先行体験会を行った後のプレオープンとのことで、実際にお金を取ってお客さんを入れるのは初めてのようでした。
ユメノグラフィアβ版のときもそうでしたが、私は「初物」が大好きなので初回と聞くと参加したくなる癖がありまして、プレオープン初日なら行ってみるかーみたいな感じで参加を決めました。

ちなみにプリステのことを知ったのは6月29日26時くらいです。Twitterのプロモーションで流れてきました。
その時の私は「AKB48VTuber版みたいなやつか(雑な理解)」と書き残していて、実際にそういうものなのか確かめてきましたので、お暇な方はご覧ください。

世界観

いきなり感想を書く前に、プリズムステラの世界観を知らないといけません。
とりあえず公式サイトのストーリーを引用して見てみましょう。

日本にやって来た女神
「クナト」「ミヅハ」「でんこ」――
信仰心が少ないこの世界で
彼女たちはほとんど女神の”力”を使えず、
貧困に苦しんでいた。

そんな彼女たちがたどり着いたのは
ひっそり営業中のとあるお店。

そこでお客さんと接するうちに、ほんの少しだが
”プラーナ”(信仰の力)を得ていることに気づく。

「そうだわ!私たちが
”アイドル”になって人気者になれば、
もっとプラーナを集められるわ!」

こうして彼女たちは、
さらに多くのお客さんと出会うために
『Prhythm☆StellA』を結成し、
アイドルとして布教活動を始めるのであった。

Prhythm☆StellA | プリズム☆ステラ 公式ホームページより引用

ということで、女神3人がプラーナ(信仰心)を集めるためにアイドルをやっている、と非常にわかりやすいストーリーです。
正直こういうストーリーのエロゲありそう。

女神(女の子)

クナト

https://p-stella.jp/wp-content/themes/specter/img/kunato.png?12
元気でちょっぴりツンデレ気味な女の子。
アイドルものでセンターポジションにいる子の性格ってこんな感じだよね、というテンプレイメージをそのままキャラクターにしたような性格をしています。

ミヅハ

https://p-stella.jp/wp-content/themes/specter/img/mizuha.png?12
みんなの頼れるお姉さん。
アイドルもので頼れるお姉さんポジにいる子の性格ってこんな感じだよね、というテンプレイメージをそのままキャラクターにしたような性格をしています。

でんこ

https://p-stella.jp/wp-content/themes/specter/img/denko.png?12
おてんばかつ気だるげな妹感ある女の子。
アイドルもので妹ポジにいる子の性格ってこんな感じだよね、というテンプレイメージをそのままキャラクターにしたような性格をしています。

一般客としての感想

ここからはやっとこさ本題に入ります。まずは一般客としての感想を書きます。

料金システムについて

1回の参加は本来3500円ですが、プレオープン期間中は特別価格が設定されており2500円で参加することができました。
ミニライブが7~10分、個室でのおしゃべりが約30分、その他システムの説明などで10分、合計50分程度の体験でした。
個室でのおしゃべり中にドリンクを1杯(というかペットボトル1本)頼めるのですが、これも料金の中に含まれています。

この料金設定が高いか安いかは皆さんの判断にお任せしますが、私としては後述する理由から満足度が低かったため同じ3000円ならユメノグラフィアに行った方がいいな、と思いました。

ミニライブについて


【試聴】スキの気持ち君に / Prhythm☆StellA

まず最初にライブ会場に移動して、彼女たちのミニライブを視聴します。
ミニライブでは事前に組み込まれた動き・声・表情などをパターン化して再生しているようで、若干会場を置いてきぼりに進んでいきます。
(Unity的に言ってしまうと、Timelineを組んで再生しているだけ…。)
ですがダンスのクオリティはちゃんとしており、キャラクターも可愛いのでノろうと思えばノれます。というか普通にノってました。
声も声優さんがしっかり当てており、MCのパターンも数種類あるらしいので良いのではないでしょうか。

個室でのおしゃべりについて

ミニライブの後は個室でのおしゃべりになります。
個室の雰囲気は下のツイートのような感じです。(実際はもっと暗いですが)
よくある透明ディスプレイ(上にモニター、正面に透明なガラス?)に女の子を表示させている感じです。

個室に入ったらまず最初に彼女たちを呼ぶ合言葉を言います。
すると3人がフワッと出現して「誰とお話しする?」みたいな感じで聞いてくるので1人を指名します。

会話内容はよくあるエロゲの知り合って数日、みたいな感じです。というかマジでエロゲをプレイしてる感覚。
そのためこちらが発言するタイミングは少なく、一方的に女の子から話されているという感覚が強かったです。

また途中ミニゲームが2個あるのですが、地味に難易度が高くて全然クリアできませんでした(ネタバレになるので内容は伏せます)。
どうも先行体験会での意見を取り入れて難易度を上げたようですが「いやそういうのは常連さんに対して徐々に上げていくものであって初見さんにいきなり難しい問題ぶつけても失敗するだけでしょ」みたいな オタク特有の早口 お気持ちが出てきます。

まあここまでは目をつぶれる範囲の問題なのですが、一番大きな問題が残っています。
声です。

何を隠そう、プリズムステラはAI TalkによるAI音声でおしゃべりを行います。
これが予想以上にAI Talkで、普段からVOICEROIDやCeVIOの発声を聞いている人からすると「うん、AI Talkってこんな感じだよね…」みたいな残念感があります。
会話している雰囲気から、内部でちゃんと機械学習して返答を考えているわけではなさそうなので、事前にセリフを決めているのでしょう。
セリフ決めてるなら声優さんに声当ててもらって欲しいなぁ、となります…。

ここまで散々エロゲっぽい感じで進めているのに、肝心のキャラクターボイスが機械音声だと魅力8割減です。
ここを割り切って楽しめるのならリピートするのでしょうが、それができるオタクは少ないでしょう。

おまけに私はこういった常設型チャットボットサービスが成功している例を知りません。
大昔からサービスが出ては消え、出ては消え、と悲しい運命を背負っているジャンルです。
大成することはないのではないでしょうか…。

店員さんについて

非常によく教育がされており、丁寧で良い人たちばかりでした。
個室でドリンクを頼んで持ってきてくださったときに「でんこちゃんまた失敗しちゃいました?」と聞いてくれるのは、世界観を保ったままより没入させてくれる良いアプローチだと思います。

唯一気になった点としては、ミニライブ開始前に「ライブ初めての方はいらっしゃいますか?」という問いに「はい」と答えたところ、「では周りの皆さんから楽しみ方を教わってください」とお客さんに丸投げだったのはどうなんだろう?と思いました。
軽くノリ方とか教えてくれてもいいじゃない…。

公式Twitterについて

余計なことを公式として呟くな💢 の一言に尽きます。
公式Twitterはお客さんが情報収集するための一番のツールですから、本筋と関係のないツイートはなるべく避けるべきと考えています。
最近はタニタシャープなど、面白いことを定期的にツイートする「ゆるい」公式Twitterも増えてきましたが、これは相当のセンスがないとユーザにウケません。

「Fallout76にハマって寝不足な店長だよん☆☆」とか「店長が今もっともしたいことはサンシャイン水族館のカワウソに触りたい」とか、それ個人垢で呟けよ、というレベルのツイートは面白くないのでやらない方がいいです。

装飾について

めっちゃ良かったです。
個人的に一番「助かる」となったのが、彼女たちの身長が壁にテプラで描かれていた点ですね。
これめっちゃエモくないですか?正直わくVでめっちゃやりたいです。
VTuberさん30人くらいの身長をガッと貼らないといけないので大変ですが…。

f:id:karukaru808:20200703010531j:plain
f:id:karukaru808:20200703010537j:plain

これはテンションぶち上がって一緒に行った友人に撮ってもらった私です。
f:id:karukaru808:20200705134033j:plain

これ以外にも、ロビーの雰囲気や個室までの廊下のカッコよさがめっちゃ良かったです。

f:id:karukaru808:20200703010948j:plain
f:id:karukaru808:20200703010951j:plain
f:id:karukaru808:20200703011113j:plain
f:id:karukaru808:20200703011110j:plain
f:id:karukaru808:20200703011109j:plain

こういった装飾の仕方を見ると、その道のプロがしっかりとプロジェクトに入って組んでいるんだな、というのがわかって良いです。
それかまだ経験浅い人がこれをやっているなら自信つけて良いです。メッチャ良かったので売れっ子になるんじゃないでしょうか。

エンジニアとしての感想

キャラクター3Dについて

大きな破綻とかは見受けられませんでした。クオリティは非常に高く、これだけ綺麗なモデルだと仕事しやすいだろうなぁと考えてました…。
重箱の底をつつくようなことを言ってしまうと、ひざ裏のウェイトがちょっと残念なことになっているのと、クナトちゃんのソックス正面に小さな三角の切れ目が見えてしまっていました。
ですがこれらはジーーーーーーっと観察しないとわからないですし、クリティカルな問題ではないので別に直さなくてもいいんじゃない?みたいな気持ちになります。

ミニライブについて

制作された会社さんを見つけたのでツイートを貼っておきます。

個室でのおしゃべりについて

声について

AI Talkのデメリットが全てです。
こういったコンテンツの声は重要なので、本当に声だけはどうにかしてほしいです…。

細かいところの要望としては、自分の名前の発音を修正できるようにしてほしいです。
好きな女の子に呼ばれる名前の発音がおかしかったら(´・ω・`)ってなりませんか?
私のHNの読みは「カル→カル⤴」みたいな感じだと思う…?その発音が一番しっくりくる…?ので、それに合わせたいです。

最後のダンスについて

おしゃべりの終わり際にミニライブで歌ってくれた曲を、1番だけもう1度ソロで歌ってくれます。
この時にダンスもしてくれるのですが、ダンスモーションへの入り方が雑でした。
待機アニメーションからダンスアニメーションへのトランジションを短めに設定してそのまま、みたいな動きになってしまっていて、アニメーションとアニメーションの中間をチェックしていないのは残念です。

またダンス中は、3人用ダンスをそのままソロで使いまわしているので虚空を見つめていたりします。
3人の掛け合いをする部分はソロではお客さんを見つめる、とかの変化をつけてほしかったです。

Animation Riggingを使えば簡単にアニメーションを編集できますのでお勧めします。
え、使い方がわからない?私が共著で書きました本に使い方が載っているので、ぜひ購入して読んでください。

総評

総評としましては、全体的に高レベルでまとまっているのに声とおしゃべりで8割減点されている残念コンテンツ、という感じです。
どこに重点を置いて評価するのかで変わってくるとは思いますが、同じ女の子が次の瞬間変な機械音声で話しかけてきた、という体験は私にはダメージ大きかったです。

声が改善されればリピートしようかなと思いますが、たぶんユメノグラフィアに行った方がコスパ良いな、となって行かない未来が見えます。
こちらは機械の女の子が機械音声で対応してくれますが、ユメノグラフィアは曲がりなりにも現実世界の女性がアバターを着て生声で対応してくれています。
決められた返答を決められた声で楽しむか、生の人間の反応を生の声で楽しむか、同じ値段なら私は後者を選びます…。

おまけ

当日私が撮った写真をアップしておきます。
文中に使おうと思って入れるタイミングを逃したものがほとんどで、説明用に撮ったみたいな構図が多いですがご容赦ください。

f:id:karukaru808:20200705160446j:plain
f:id:karukaru808:20200705160448j:plain
f:id:karukaru808:20200705160450j:plain
f:id:karukaru808:20200705160453j:plain
f:id:karukaru808:20200705160456j:plain
f:id:karukaru808:20200705160458j:plain

Unity2020.1以降でPackage ManagerからShow preview packagesオプションが消えて困った話

忙しい人向けのまとめ

Show preview packagesオプションは「Enable Preview Packages」と名前を変えて、Project Settingsで設定するようになりました。
Project Settings -> Package Manager -> Enable Preview Packages をTRUEにするとPreview版Packageが使用できるようになります。

概要

まだベータ版のUnity2020.1の使い心地を確かめるべく、UnityRecorderで軽く写真でも撮ろうかと思ったときに問題は起こりました。
いつも通りPackage Managerを開いてAdvancedを確認すると、なんとPreview版Packageを検索結果に表示するためのShow preview packagesオプションが消えているではありませんか。
デフォルトでPreview版Packageも検索結果に含めるようになったのかな、と思ってそのまま検索しても出てこず、途方に暮れてしまいました。

f:id:karukaru808:20200513030047p:plain
Unity2019.3まではShow preview packagesオプションがあったのに…
f:id:karukaru808:20200513030054p:plain
Unity2020.1からは無くなってる!

解決法

色々と調べた結果、Preview版Packageを使用するためのオプションは、Project Settingsに新しくPackage Managerの項目が増えて、そこにEnable Preview Packagesと名前を変えて存在していることがわかりました。
このオプションをTRUEにすることで、無事にPreview版Packageが使用できるようになりました。

f:id:karukaru808:20200513030826p:plain
オプションはProject Settingsに移動していた