【Unity】DOTweenを使ってオブジェクトを移動させるスクリプトを簡単にしよう!

 どーもー!新入社員のタケです!


今日はプログラミングの日です!

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個分まで作りました。

カメラが一つ増えるたびに一行ずつアクティブにする処理が増えていくのでかなり効率が悪いです…

もっといい感じにできたらいいんですけどねえ…



ちょっと長すぎてもやもやしちゃった感じなので、もっと勉強していきたいですね~。

カメラの番号も使ってる数字は同じなので使いまわせるようにしたりだとか…


--------------------------------------------------------------------------------

シェルパでは、3DCGや建築パースはもちろん
VRやARアプリの開発も行っています!
新しいことに興味のある方はきっと楽しめると思います!
新人研修も充実していて初心者でも3DCG経験者でも安心!

株式会社シェルパ
【福岡本社】
〒810-0042 福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F 
【東京オフィス】
 〒101-0041 東京都千代田区神田須田町2丁目13-1YKS黒田ビル5F
TEL 092-717-6800 / FAX 092-717-6801

--------------------------------------------------------------------------------

コメント