[Unity]シーンビューを即座に任意のカメラポジションに移動できるアセット  Snapcam NAVIGATION STUDIO

#はじめに
「[Snapcam NAVIGATION STUDIO](https://www.assetstore.unity3d.com/#!/content/99523?aid=1100l3oC8)」とは
<img width="1004" alt="Snapcam_NAVIGATION_STUDIO_-_Asset_Store.png" src="https://qiita-image-store.s3.amazonaws.com/0/158441/d547937a-6d86-7843-3150-5ac0dccefa09.png">

>Snapcam NAVIGATION STUDIO は、ユニティビューポートナビゲーションプロセスを完全に見直すために設計された初めてのナビゲーションツールスイートです。 

>これらのツールを使用すると、2Dシーンと3Dシーンを自由に自由にナビゲートできます。 

>ナビゲーションスタジオは、ビューポートカメラを（直接的または間接的に）制御するのに役立つ一連の「ナビゲータ」を提供します。これらの「ナビゲーター」には革新的なコントロール（多くのカスタマイズ可能なもの）と便利なデフォルト設定が用意されていますが、同時にどこでも一緒に作業して、どこにいても正確に正確に得ることができます！ 
![Aug-26-2018 13-08-04.gif](https://qiita-image-store.s3.amazonaws.com/0/158441/376fe273-7cad-9c51-c390-578f6cdd005f.gif)
![Aug-26-2018 13-08-38.gif](https://qiita-image-store.s3.amazonaws.com/0/158441/1cd92903-ae8b-4393-b908-ae04e6a43d9a.gif)

まだまだバグあるようでOSによって動作が違うかも（以前のバージョンは結構そこら辺のバグがあった）
なので　ご購入の際はきを付けてください
ちなみにランタイム中でも登録できます

#動作環境
MacOS 10.13.4 
Unity 2018.2.3f1
Snapcam NAVIGATION STUDIO 2.1c

#使い方
アセットをインポートしてきて、新しくシーンを作ります
SnapcamNavigator→SnapNavigatorを選びます
<img width="161" alt="スクリーンショット 2018-08-26 13.26.56.png" src="https://qiita-image-store.s3.amazonaws.com/0/158441/ddb54e0e-82a0-8e2d-6b8c-a00d15db7bda.png">
SnapNavigator画面がでるのでわかりやすいように下記のようなレイアウトにします。ベースは2by3
<img width="751" alt="Unity_2018_2_3f1_Personal__64bit__-_test_unity_-_2018_-_PC__Mac___Linux_Standalone__Personal___Metal_.png" src="https://qiita-image-store.s3.amazonaws.com/0/158441/ed49172b-f3fe-7094-177e-642c218b9494.png">
適当シーンビューを動かし、SnapcamNavigator画面でマウスの中クリックを押せば、登録できます
![Aug-26-2018 14-01-11.gif](https://qiita-image-store.s3.amazonaws.com/0/158441/5a987cff-bd17-0fb3-dcc6-efc24dfe38e5.gif)
基本これで使い方は以上何ですが、ちょっとこれだといちいちスライダーを動かさないと移動できない事やわかりずらい点などあるので、GridNavigator画面を出します。
この画面はグリット上に選べるの画面です
<img width="148" alt="スクリーンショット 2018-08-26 14.05.35.png" src="https://qiita-image-store.s3.amazonaws.com/0/158441/8408ac3e-c4c0-5622-c720-f78bf1cd0c90.png">
これだと一発に選択できますね
<img width="244" alt="Unity_2018_2_3f1_Personal__64bit__-_test1_unity_-_2018_-_PC__Mac___Linux_Standalone__Personal___Metal_.png" src="https://qiita-image-store.s3.amazonaws.com/0/158441/89a17777-5212-d7d2-2213-13062d3cf7af.png">

#問題点
筆者が使っていて問題点が結構バグが多い事です。　多分Macで使ってるから？
ここからは問題点と解決方法一つずつあげて行きたいと思います
##シーン画面が乗っ取られる
　表題の通りシーン画面の操作周りがこのアセットの仕様になります。
　なのでホイールのズーム機能や他アセットのエディタ拡張機能が使えなくなります
###解決法
ViewNavigator.csを消して上げましょう　消すとアセットのシーン画面操作が従来通りになります
##登録したカメラポジションが保存ができない
　従来ならここで右クリックしたらセーブできるみたいでしたが、なぜかできなく
シーン保存と別っぽい
　<img width="234" alt="Unity_2018_2_3f1_Personal__64bit__-_test1_unity_-_2018_-_PC__Mac___Linux_Standalone__Personal___Metal_.png" src="https://qiita-image-store.s3.amazonaws.com/0/158441/256662d8-58db-5936-d8ca-f418e06e7090.png">
###解決法
　SnapNavigator画面内で右クリック押して保存する場合
 SnapNavigator.csの512行ぐらいにSnapNavigator画面の中で右クリック押した時のif文があるので、SnapSave()を呼んであげる。

```C#:SnapNavigator.cs
　　　　　　　　　//===========================
    //Right Mouse
    //===========================
    if(e.button == 1)
    {
　　　　　　　　　　　　　　　	//right
　　　　　　　　　　　　　　　	SnapSave();
    }
```

##登録するボタンを変える
SnapNavigator.csの453行あたりにe.buttonがあるので値を変更してあげる
　if(e.button == 2 && scams != null)　//デフォルトはMiddle Mouse
０→Left Mouse　１→Right Mouse　２→Middle Mouse

##登録されたカメラポジションを消せない
元々どうやって消せるか不明
###解決法
SnapNavigator.csのSnapClear()を呼んであげる
この方法だと現在のシーンで登録した奴が全部消されます
個別で消せるかは不明

##他には
　SnapNavigator画面とGridNavigator画面を交互に選択して使おうとすると登録したものと違うカメラポジションになったり、それぞれの画面を移動されるとたまにUnityが落ちたりする
 
#最後に
　このアセットを使っていて最初は結構使えるかもと思っていましたが、まだまだ結構バグがあるので、使えるのはまだまだ先かなとゆう印象　今後が期待です