こんにちわ、DOTween大好きオオバです。

DOPathDOLocalPathには他のTweenにはないSetLookAt関数が用意されています。

この記事の内容

トゥイーン中のオブジェクトの向きを指定する

SetLookAtを使用するとトゥイーン中のオブジェクトの向き
動的に更新してくれます。

  1. Vectro3 → 向くポジション
  2. Transform → 向くターゲット
  3. float → lookAhead

引数には3種の型をサポートしています。

Vector3, Transformはイメージしやすいですが、
float型のlookAheadとはなんぞや?となりました。

公式にlookAheadと説明されております
※SetLookAt関数第2引数はオブジェクトが向く方向、第3引数はオブジェクトの上方向を指定します

実際にトゥイーンさせてみる

transform.DOLocalPath (new Vector3[] { new Vector3 (2.6f, 0, -2f), Vector3.zero }, 4f, PathType.CatmullRom)  
    .SetLookAt (0.001f, Vector3.forward)  
    .SetEase (Ease.Linear);  

[object Object],に0.001fを指定

DOTweenのSetLookAtを使ってワンランクアップの表現を手に入れよう_0

transform.DOLocalPath (new Vector3[]{ new Vector3 (2.6f, 0, -2f), Vector3.zero }, 4f, PathType.CatmullRom)  
    .SetLookAt (0.3f, Vector3.forward)  
    .SetEase (Ease.Linear);  

[object Object],に0.3fを指定

DOTweenのSetLookAtを使ってワンランクアップの表現を手に入れよう_1

よ〜〜〜く見比べないと分かりませんが、
後者Unity-chanの方がカーブを曲がる際に
カーブを先読みした形で身体を傾けていることが分かります。

どうやらlookAheadで指定した秒数先の方向をセットしてくれます。
値が小さければ小さいほど、カーブの方向を向いてくれます。
ソースコードを読むと最小値は0.0001でそれ以下を指定するとClampされます。

まとめ

今回SD Unity-chanを走らせてみましたが、
2つのアニメーションを見比べると前者はいかにも調整前感がにじみ出ています。

一方後者のUnity-chanはゴールを地点を見ながら走ってる印象を与えるのでよりリアルな走行に見えてきます。

SetLookAtの引数float型(lookAhead)はとても便利だと思いました。
SetLookAtを使いこなしてワンランクアップの表現を作ってみてください。

もっと詳しくDOTweenのことを知りたい方は、
DOTweenの教科書を読んでみてください。
DOTweenの教科書

期間限定 最大95%オフセール
効率UPメガバンドル開催中!最大95%オフ!!!
期間 : 11月1日午後15時59分まで
オススメ記事
検証環境