Stereoscopic4D
遅くなってしまいましたが、サイエンスアゴラで発表した内容とほぼ同一のもの(有料アセット等を外したもの)をMITライセンスのもとで公開しました!
デモシーン
Stereoscopic4D/Assets/Stereoscopic4D/Demo/Scenesディレクトリにデモシーンが用意されています。Science AGORA 2016で発表したものを簡略化したシーンとなっています。
デモシーンでは、超立方体の表示と、ゲームパッドなどによる回転をテストすることができます。十字キーやキーボードのA・D・W・Sキーなどで通常の3次元での回転を行うことができ、Fire1
ボタン(トリガーなど)を押下したまま回転をすると、W軸も変化する回転を行えます。
超立方体の座標やサイズについては、Tesseract
ゲームオブジェクトのTransform 4D
コンポーネントの各パラメーターで設定可能です。
Oculus・Viveには対応済み(のはず……)のため、それぞれのHMDで見ることで4次元立体視を体験できるようになっています。4次元立体視の度合いは、Stereoscopic4dCamera
ゲームオブジェクトのSquint factor
で調整可能です。値はデフォルトで1に設定されており、値を大きくするほどW軸による視差が強調されます。
基本的な構成
基本的な構成は本アドベントカレンダー7日目に紹介した通りとなっています。一般公開向けに、多少マイナーチェンジが行われています。
マイナーチェンジ内容
- 4次元オブジェクトのファイル形式を、独自のtxt形式からjson形式に変更した。
- 独自のパーサーなどは不要になったため削除
- パラメーター名などを整理した。
- Assetパッケージとして再利用しやすい形にまとめた。
Asset構成
-
Stereoscopic4D/Assets/Stereoscopic4D/Scripts
- Camera4D.cs
- カメラに4次元立体視のOn/Off機能を持たせるためのスクリプト。
- HyperObject.cs
- JSONファイルから4次元オブジェクトのメッシュを生成するためのスクリプト。
- HyperObjectController.cs
- 4次元描画を行うゲームオブジェクトのためのスクリプト。
- Transform4D.cs
- ゲームオブジェクトに4次元座標を持たせるためのスクリプト。
- Camera4D.cs
-
Stereoscopic4D/Assets/Stereoscopic4D/Shaders
- 4次元描画のためのシェーダー
まとめ
今後も何か要望などがあれば随時取り込んでいきます。この年末年始のお休みに4次元世界に触れてみてください!