ワイヤーアクション導入
星の上を歩かせるのは一度おいて置いて、メールで頂いたアイディアのワイヤーアクションを導入しました。
これは進撃の巨人のゲームをUnityでつくってる人もいたからそこまで苦労しないと踏んでいたんですが、ものの見事にはまりました。
キャラクターをRayの当たったところに徐々に移動するのは簡単だったんですが、星から星へ移るときの重力の変化に時間がかかってしまいました。
・・・ただのスペルミスと符号のつけ間違いという凡ミスでしたが。
そして、重力圏にコライダーを使っていたのにRayがそのコライダーに反応しないようにするのを忘れていたので、余計に時間がかかってしまいました。
とりあえず実装出来ましたが、エフェクトが無いので寂しい感じです。
ついでに一人称の視点のせいで、結構酔いそうです。
重力は星のサイズより少し大きめのコライダーに接触した時点と離れた時点でON,OFFして重力圏に入るときだけ星の中心方向に足が向くように星のTransformを渡してます。(ポジションですね)
出るときは単にboolをfalseにするだけ。
ワイヤーアクションは、カメラをある程度操作できるように調整して、Canvasの中心にそれっぽいマークを設置。
そこめがけてRayが飛ぶようにカメラからRayを飛ばしました。
後はヒットした情報をプレイヤーの方に渡して、そのポイントと自分の位置を差し引きして出た方向に毎フレーム移動させればそれっぽくなります。
一応ワイヤーアクション中には他のポイントにワイヤーを飛ばせないようにしました。
・・・別に飛ばせても問題なさそうですが。
ある程度目標のポイントに近づいたら移動させるのを止めるようにしましたが、Rigidbodyを使う場合は単純にその方向に速度を追加してあげればよさそうですね。
・・・そういえば、物理エンジン作る必要ないから別にRigidbody使ってもよかったんだった。