どーもー!新入社員のタケです!
今日はプログラミングの日です!
DOTweenを使ってカメラの位置を五か所へ自由にブーンと動かしていきたいと思います!
現在、ここからここにパッとカメラが切り替わります。
これでもまあいいのですが、できるならするする~っとカメラがアニメーションしながら移動したいですよね
普通のプログラミングでもアニメーション移動させる方法はあるのですが負荷がかかる上に扱いづらいです。
なので普通の関数でも移動などが簡単にできるDOTweenというアセットを使っていきます!
https://assetstore.unity.com/packages/tools/animation/dotween-hotween-v2-27676?locale=ja-JP
DOTweenでは1行でオブジェクトをアニメーションさせつつ移動するプログラムを追加します。
アドオンみたいな感じですね。
実現したいのは画面内のボタンを押したらそのカメラ位置にする~っと移動することです。
3種類のカメラアングルを用意して、それらを自由に切り替えられるようにしています。
とりあえずこのようなプログラムを書いてみました。
ボタンで操作できるようにしているのでOnclick()にInt型を入れれるようにして目的のカメラ番号を入れるだけでそこに移動するみたいなプログラムになっています。
DOTweenを使用している部分は
transform.DOLocalMove(Camera1Pos, 1.0f);
のところです。
この一行だけで「Camera1Posの座標へこのスクリプトがついているオブジェクトを1秒かけて移動させる」という処理ができちゃいます!
SetActiveがめっちゃあるのはカメラごとのキューブマップを表示するためです。
これでこのように現在のカメラから好きなカメラの位置に移動して、キューブマップも切り替わります。
移動中の様子がちょっと変なのは仕様上しょうがないです…
最終的にカメラ5個分まで作りました。
カメラが一つ増えるたびに一行ずつアクティブにする処理が増えていくのでかなり効率が悪いです…
もっといい感じにできたらいいんですけどねえ…
…
ちょっと長すぎてもやもやしちゃった感じなので、もっと勉強していきたいですね~。
カメラの番号も使ってる数字は同じなので使いまわせるようにしたりだとか…
コメント
コメントを投稿