VR流行ってますね。私もOculas Goが出たあたりから興味が湧いてきたので
簡単にWebでVRが作れるMozilla謹製のフレームワーク「A-Frame」を触ってみたいと思います。
本当はmiddleman + s3_syncで静的ホスティングにしたいところですが
取り急ぎ今回は過去に作ったPlayFramework + Heroku環境で手軽に公開します。
ローカルの開発環境でaframe.jsを実行するために、Content-Security-Policyヘッダ用に下記の設定を追加しました
play.filters.headers.contentSecurityPolicy = "script-src 'self' https://aframe.io 'unsafe-eval'; object-src 'self'"
とりあえず公式ドキュメントにある下記のサンプルコードを動かしてみる。
<html>
<head>
<script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>
</head>
<body>
<a-scene>
<a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
<a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
<a-sky color="#ECECEC"></a-sky>
</a-scene>
</body>
</html>
実際の動きはこんな感じ。
https://play-misc.herokuapp.com/
各要素の詳細については後日追記予定
感想
マークアップだけでそれっぽい3Dが実現できるのは非常に楽で良いですね。
もう少し凝ったVR空間を作成できるように引き続きA-Frameについて調査してみたいと思います。