ゼルダBotWのロックオンカメラ研究

# ロックオンのカメラワーク

**ゼルダBotWのZ注目ビューの見やすさが極まりまくってる。**
※ゼルダBotW ＝ [ゼルダの伝説 ブレス オブ ザ ワイルド](https://www.nintendo.co.jp/zelda/index.html)
過去作と比べてもかなり改良されていて、見やすさに磨きがかかっている。

ひとまず、「ロックオン」が前提とする条件を書き出し。

- 自プレイヤー、注目対象が常に（あるいはほとんど）画面に収まる
- 注目対象は大抵が敵キャラで、お互いに働きかけるアクションがある
    - ほとんどの場合、アクション＝攻撃
- 注目対象からの働きかけに対して、何らかのリアクションすることが目的
    - リアクション＝回避だったり、カウンターだったりする
    - 注目対象の動きや、距離が把握しやすい状態を維持することが重要

要するに「敵をロックオンしてバトルする」ゲーム仕様を前提に、カメラワークを研究。

# ゼルダBotWのカメラワーク仕様
※画面から読み取れる情報からリバースエンジニアリング（笑）をしただけなので完全では無いです

## 参考動画

**【Youtube】リザルフォス戦**
https://www.youtube.com/watch?v=pXzL56UdOnE

**【Youtube】ライネル戦**
https://youtu.be/I2wnIQ6ohjE?t=5m22s （5:22～）


## 基本ルール
　
1. 注目対象が画面の左側に映っている時、自プレイヤーは右側に映る
2. 自プレイヤー位置のセンターラインからのオフセットは控えめ
3. 一度画面上の左右の位置関係が決まったら、ロックオンを解くまで入れ替わらない
4. 距離が近いときや横から、遠いときは上から覗き込むようなビューになる

### 注目対象が画面の左側に映っている時、自プレイヤーは右側に映る

![image15.jpg](https://qiita-image-store.s3.amazonaws.com/0/184294/e330fef2-5d61-eec8-6467-ffa9a90f5ce2.jpeg)

基本というか、よくある仕様。左右逆パターンも然り。
画面のほぼ対角線上に自分と敵が配置されるので、**自分の画面上の位置から敵の位置が推測できるようになっている** …ような気がする。（無意識レベルでわかりやすさのサポート）


### 自プレイヤー位置のセンターラインからのオフセットは控えめ

![111.JPG](https://qiita-image-store.s3.amazonaws.com/0/184294/5ca5df45-c16a-8a23-7f10-985484b5ec99.jpeg)

注目対象が画面内左右に動ける範囲に対して、自プレイヤーの表示範囲（可動域）は狭い。
**自分が画面上で激しく左右に動かすと、自分を見失いやすくなる**ため、その対策として入っているのではと推測


### 左右の位置関係を決めたら、ロックオンを解くまで入れ替わらない

<table  width="100%"><tbody><tr>
<td><img src="https://qiita-image-store.s3.amazonaws.com/0/184294/81dc097f-6351-1ba4-66cd-689f5426fe49.jpeg"></td>
<td><img src="https://qiita-image-store.s3.amazonaws.com/0/184294/f6050c22-f27b-53d3-e80c-3879212a33f0.jpeg"></td>
<td><img src="https://qiita-image-store.s3.amazonaws.com/0/184294/017faa03-92b0-6f8e-784a-1bee94986946.jpeg"></td>
</tr></tbody></table>

これは前作まではなかったルール。↑みたいなパターンが無い
このパターンがあると、「どっちが自分だっけ？」という感じで自分を見失う問題への対策なんじゃないかと予想

**【Youtube】ゼル伝 BotW リザルフォス戦**
https://youtu.be/pXzL56UdOnE?t=1m57s （1:57～）
これがわかりやすい。**自分が左に移動しても、自分が画面の中央から左へは行かない**ようになっている

**【Youtube】ゼル伝 時オカ スタルフォス戦**
https://youtu.be/6RlM1PgOSgU?t=21m49s （21:49～）
こっちは逆に画面上の位置が入れ替わっちゃう。カメラのY回転量を抑えられるというメリットはあるけど、混乱招きやすい

### 距離が近いときは横から、遠いときは上から覗き込むビューになる

![image11.jpg](https://qiita-image-store.s3.amazonaws.com/0/184294/d6c4cb56-d86d-4464-c754-fa454b61d7e1.jpeg)

もうちょっとエンジニアっぽくいうと、距離が近いときはカメラのX角度が小さくなり、Y角度の絶対値が大きくなる。
これも前作まではなかったルール。距離が遠いときは上から覗き込むようなビューになることで自プレイヤーと注目対象の間の地面が見え、**距離感がわかりやすくなっている**。

![4.JPG](https://qiita-image-store.s3.amazonaws.com/0/184294/ee874a8d-a049-3771-c271-bbf4912d57de.jpeg)

**近距離では臨場感を重視**で、横からのぞき込むような感じに。

**【Youtube】リザルフォス戦（BotW）**
https://youtu.be/pXzL56UdOnE?t=48s （0:48～）
このシーンの遠距離からの急接近で、その変化がわかりやすい

# 他ゲームのロックオンビューとの比較

※前置き。書き方的にコキ下すような雰囲気になってますが、ゲーム性的に問題にならなかったり、演出コンセプト的に敢えてやってる部分もあると思います。

### ゼルダの伝説 スカイウォードソード

<table  width="100%"><tbody><tr>
<td><img src="https://qiita-image-store.s3.amazonaws.com/0/184294/008541ed-ead1-f499-e828-23a88b5b00a9.jpeg"></td>
<td><img src="https://qiita-image-store.s3.amazonaws.com/0/184294/26cc3688-24df-6d4b-75d2-d3b8e554be64.jpeg"></td>
</tr></tbody></table>

https://youtu.be/AXEAX6FZyac?t=2m13s （2:13～）
敵と自分の画面上の位置が被りすぎてて、距離感がつかめないことがある

### キングダムハーツ2

<table  width="100%"><tbody><tr>
<td><img src="https://qiita-image-store.s3.amazonaws.com/0/184294/1ab32c14-d2a0-5a77-64a4-acf8e68afd26.jpeg"></td>
<td><img src="https://qiita-image-store.s3.amazonaws.com/0/184294/2300174d-9980-ff2a-8646-e6337fa5c20a.jpeg"></td>
</tr></tbody></table>

https://youtu.be/zATArqglK3g
遠いときも近いときもカメラのX角度に変化がなく、距離感が分かりづらい。
また、近距離時に横から覗き込むような変化を担保していないため、キャラが重なって見えることが多い。

### 進撃の巨人

![image1.jpg](https://qiita-image-store.s3.amazonaws.com/0/184294/98ee9076-792b-7617-94b8-546a774d750b.jpeg)

https://youtu.be/7arU4stO9TA?t=7m29s （7:29～）
注目対象が画面から見切れるケースが多い。また、対象に急接近する時に臨場感を優先してる関係上か、距離感が分かりづらい。
貫通するような動きはどう見せるのがベストか、という課題に対していろいろ学ぶべき点、反面教師にすべき点が多そう。別途考察。


### ガンダム EXVS.MB

<table  width="100%"><tbody><tr>
<td><img src="https://qiita-image-store.s3.amazonaws.com/0/184294/bbe2fe83-a009-9727-9c8f-76333b61a2ca.jpeg"></td>
<td><img src="https://qiita-image-store.s3.amazonaws.com/0/184294/8a24edee-f963-16fe-e86a-ac794c2db0e5.jpeg"></td>
</tr></tbody></table>

https://youtu.be/4PGxxgJmYMI
敵と自分の画面上の位置が被って見えなくなるケースが多い
また、注目対象と自分の、画面上の左右位置関係が激しく入れ替わることが多く、見失いやすい
画面内に収める強制力が強く（遊びがない）、カメラがグイグイ動きすぎて目が疲れる
<br>
<br>
ゆくゆく、Unityでスクリプトに落とし込んで、以前書いた[「スマホゲームでゼルダっぽい3Dカメラ挙動の研究」](https://qiita.com/flankids/items/efef9a13dba2c9496ba3)の続編で紹介しようと思います。