HEAVEN ちゃん a.k.a いっこう
Posted on July 6, 2020
I'm sorry, this article is in Japanese only.
TL;DR
ブラウザ版の VRoid Hub で AR を試したい人は ARCore supported devices に載っている Android スマートフォンを買うか、iPhone ユーザーの場合は App Store で WebXR Viewer をインストールすれば OK 、これで今すぐ “うちの子” に会える!!
はじめに
VRoid Hub に試験的機能として WebAR 表示機能が追加されました👏
Ref. https://twitter.com/vroid_pixiv/status/1277579662424588289
結果として “うちの子” を現実世界に連れてくることが可能になりました!
Ref. “うちの子” HEAVEN ちゃん
この記事では “うちの子” を現実世界に連れてくるための要件と、その技術的背景を(中の人ではないので推測して)紹介します。
動作要件
冒頭の繰り返しになりますが、“うちの子” を現実世界に連れてくるためには ARCore supported devices に掲載されている ARCore が動作する Android 7 以上 ( ※ARCore の最下限 OS バージョン ) のスマートフォンが必要です。
^ ARCore に対応した Pixel 3a の Google Chrome でアクセスすると AR 用のアイコンが表示される
有名どころでは Google による Android のリファレンス端末である Pixel シリーズの他、Galaxy S シリーズや一部の Xperia などが ARCore に対応しています。
参考までに、2020-07-06 JST 現在、最安で手に入れられる ARCore が動作する端末は、Rakuten Mobile 経由 ¥17,000 の Galaxy A7 です。
Ref. https://network.mobile.rakuten.co.jp/product/smartphone/galaxy-a7/
Ref. https://twitter.com/ikkou/status/1273908350904725509
^ iOS Safari でアクセスしても AR 用のアイコンは表示されない
対して iOS の Safari は ARCore に対応していないため、iPhone ユーザーは現実世界に連れてこれない、と思いがちですが、WebXR を強く推している Mozilla 謹製の WebXR Viewer
を使うことで、iOS でも「擬似的に」 ARCore 相当の状態を作り出せるので、かろうじて “うちの子” を連れてこれます。
^ iOS でも XRViewer を使えば AR 用のアイコンが表示される
Ref. https://apps.apple.com/us/app/webxr-viewer/id1295998056
技術的背景
VRoid Hub で “うちの子” を現実世界に呼び出すための技術として Google 謹製の <model-viewer>
が使われていることをソースコードから読み取れます。
この <model-viewer>
は WebAR を実現するためのもので、Android であれば glTF/GLB
ファイルを、iOS であれば USDZ
ファイルを呼び出して現実世界に重畳できます。
Google 検索で犬や猫、最近では恐竜を検索すると AR で表示できるようになったことがニュースになりましたが、まさにそこで使われている技術です。
Ref. https://japan.googleblog.com/2020/07/travel-back-time-ar-dinosaurs-search.html
私はこの <model-viewer>
を使い iOS/Android の両 OS に対応した「Keep Distance Ruler」を作ったりする程度にはこの <model-viewer>
そして WebXR を推しています。
Ref. https://keep-distance-ruler.glitch.me/
Ref. https://www.watch.impress.co.jp/docs/series/nishida/1246569.html
閑話休題。
そういうわけで <model-viewer>
を使えば iOS/Android の両 OS に対応させることは可能ですが、それを実現するには Android 用の glTF/GLB
ファイルと iOS 用の USDZ
ファイルが必要になります。
VRoid Hub で閲覧できる “うちの子” は、 VRM
フォーマットのものです。この VRM フォーマットは glTF2.0
フォーマットを拡張したものになります。
Ref. https://vrm.dev/vrm_about/
そして Pixiv さんは VRM ファイルを Three.js で扱うためのライブラリ pixiv/three-vrm
を提供しています。
Ref. https://www.pixiv.co.jp/news/press-release/article/7361/
Ref. https://github.com/pixiv/three-vrm/
この pixiv/three-vrm
は GLTFLoader
とあわせて使うものですが、この組み合わせによって VRM
フォーマットの “うちの子” をウェブで取り扱い可能な glTF/GLB ファイル
として扱えるようになり、結果として <model-viewer>
を経由して現実世界に重畳できています。
iOS の Safari で “うちの子” を現実世界に重畳したい!!
XRViewr を使いたくない! 俺の Safari で見たいんだ! という強いこだわりをお持ちの場合、VRoid Hub では実現できませんが、Glitch 等で自前の環境を用意すれば iPhone の Safari でも現実世界に重畳できます。
- 手元に “うちの子” の
VRM ファイル
を用意します -
うちの子.vrm
をうちの子.glb
にリネームして拡張子を変更 -
GLB ファイル
をUSDZ ファイル
に変換する -
<model-viewer>
を使って次の要領でUSDZ ファイル
を読み込ませる- せっかくなので
GLB ファイル
も一緒に読み込んでいます
- せっかくなので
<!-- model-viewer に必要なコンポーネントを読み込む -->
<script type="module" src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>
<script nomodule src="https://unpkg.com/@google/model-viewer/dist/model-viewer-legacy.js"></script>
<!-- GLB ファイルと USDZ ファイルを読み込む -->
<model-viewer src="path/to/Uchinoko.glb"
ios-src="path/to/Uchinoko.usdz"
alt="うちの子"
shadow-intensity="1"
camera-controls
interaction-prompt="auto"
auto-rotate ar>
</model-viewer>
シェーダーの調整が必要なこともありますが、サクッと自前の環境で “うちの子” を呼び出せることが分かるかと思います。
なお、この場合 “うちの子” の 3D ファイルが一般公開状態になり、誰でもダウンロードもとい「誘拐」可能になります。そのあたりを気にする方は誰でも参照可能な状態で 3D ファイルを配置することはオススメしません。
現場からは以上です。
良き VRoid ライフを !!
Posted on July 6, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.