このアプリでは結び目をVRの空間内で自由に描画, 移動, 変形させることができる. 変形の仕方は, 切断と結合, 曲線の一部を選択して引っ張る, 結び目のエネルギーの勾配に沿って整形の3通りである.
- このリポジトリをcloneする.
- Unity 2020.3.3f1で開く.
File
からBuild Settings
を開く.- プラットフォームをAndroidに変更する.
Scene
が1つも追加されていない場合はScenes/SampleScene
を追加する.- ビルドするとOculus Questで使用可能な
.apk
ファイルが得られる.
操作 | ボタン | 詳細 |
---|---|---|
描画 | 右人差し指のトリガー | 右手の動きに合わせて曲線を描画する. |
移動 | 右中指のトリガー | 右手に十分近い曲線を右手の動きに合わせて平行移動・回転させる. |
選択 | Aボタン | 曲線を選択・選択解除する. 選択された曲線は黄色になる. |
切断 | Bボタン | 選択された曲線を右手に十分近いところで切断する. |
結合 | 選択されている曲線が1つの場合は曲線が閉じているか否かを切り替える. 2つの場合は結合して1つの曲線にする. いずれの場合も端点同士が十分に近くなくてはならない. |
|
削除 | 選択されている曲線を削除する. | |
連続変形 | 連続変形のメニュー画面に移る. この時, 曲線はすべて自己交叉のない閉曲線で, 互いに交叉を持ってはならない. |
|
元に戻す | 直前の操作をキャンセルする. | |
保存 | 現在描かれている曲線のリストを.json 形式で/mnt/sdcard/CurveData に保存する. ファイル名は yyyy-MM-dd-HH-mm-ss.json . |
|
開く | ファイル選択画面に移る. |
操作 | ボタン | 詳細 |
---|---|---|
選択 | Aボタン | 曲線を選択・選択解除する. 選択された曲線は黄色になる. |
自動変形 | 自動変形メニュー画面に移る. | |
手動変形 | 選択された曲線が1つだけの時, 手動変形メニュー画面に移る. | |
平滑化 | 選択された曲線を滑らかにする. 詳しくは, 角度の小さい頂点を, 自分自身と隣接する2点(計3点)の平均に取り替える. |
|
戻る | 初期メニュー画面に戻る. |
結び目のエネルギーが小さくなるように結び目を自動で整形する. 絡み目にも対応している. 自己交叉しそうになると変形が止まる。
操作 | ボタン | 詳細 |
---|---|---|
自動変形(遅い) | Aボタン | 結び目のエネルギーの勾配に沿って自動で変形する. |
自動変形(速い) | Bボタン | 自動変形(遅い) の更新時に慣性を加えたもの. |
戻る | 連続変形メニュー画面に戻る. |
自己交叉しそうになると変形が止まる。また、1フレーム間の変化量には上限がある。
状態 | メッセージ | Aボタン | Bボタン |
---|---|---|---|
Base |
可動域を確定しますか? | 可動域を確定するしてPull に移る. |
Choose1 に移る. |
Pull |
右手の動きに合わせて変形します | 変更を確定してBase に移る. |
変更をキャンセルしてBase に戻る. |
Choose1 |
可動域の始点を選択して下さい | 始点を決定してChoose2 に移る. |
キャンセルしてBase に戻る. |
Choose2 |
可動域の終点を選択して下さい | 終点を決定してBase に移る. |
キャンセルしてBase に戻る. |
ファイルを開くときに現在描かれている曲線を削除するか否かを選択することができる.
Gallery
フォルダ内からは https://github.com/UTMS-VR/CurveData/tree/main/Gallery で公開されている結び目の例を開くことができる.
Oculus Quest上で可能な操作はUnityのエディタ上でエミュレートすることができる.
コントローラー | pc |
---|---|
右人差し指のトリガー | R |
右中指のトリガー | E |
左人差し指のトリガー | Q |
左中指のトリガー | W |
Aボタン | A |
Bボタン | B |
Xボタン | X |
Yボタン | Y |
左スティック | 矢印キー |
pc上で動作させる場合は白いキューブがコントローラーを表している。 コントローラーとカメラが同じ位置にあるのでPlay開始時にはコントローラーは見えない。 z軸正方向にいくらか動かすと視界に入るようになる。
pcのキー | 移動方向 |
---|---|
; | x軸正方向 |
k | x軸負方向 |
o | y軸正方向 |
l | y軸負方向 |
i | z軸正方向 |
, | z軸負方向 |
日本語フォントはSIL OPEN FONT LICENSE
のNoto Sans Japaneseを用いています.