第6章 Unityのドットイーンの基本

  • 目次

    1.公式サイト

    二、Position

    1.ワールド座標を変更する

    2.ローカル座標を変更する

    3.ブレンド

    アニメーションのブレンドを可能にする Blend という名前のメソッド

    4. 素材展開法

    5.回転

    6.スケール

    7.パンチ

    八、Shake

    九、カメラ拡張方法

    10. テキスト展開方法

    11. シーケンス

    12.トゥイナー設定

    13. イーズモーションカーブの設定

    14. コールバック関数

    15. アニメーション制御方法

    16. データ取得方法

    1.クラスメソッド

    2. インスタンスメソッド

    17.Ctrip法

    18. ウェイポイント


    1.公式サイト

  • 二、Position

    • 1.ワールド座標を変更する

      • Move メソッド。最初のパラメーターは、このベクトルを移動する距離ではなく、移動先のターゲット ポイントです。
        • transform.DOMove(新しい Vector3(1, 1, 1), 2);
      • X 軸の動きのみを制御し、他の 2 つの方向は同じです
        • 変換.DOMoveX(1, 2);
      • 2 番目のパラメーターは、費やされた時間です。
    • 2.ローカル座標を変更する

      • transform.DOLocalMove(新しい Vector3(1, 1, 1), 2);
      • transform.DOLocalMoveX(1, 2);
  • 3.ブレンド

    • アニメーションのブレンドを可能にする Blend という名前のメソッド

      • 元々2つのMoveメソッドを同時に実行していて、最後のアニメーションコマンドだけが実行される
      • 例えば:
        • transform.DOMove(Vector3.one, 2);
        • transform.DOMove(Vector3.one * 2, 2);
      • その結果、オブジェクトは (2,2,2) 座標に移動します。
      • DOBlendableMoveByメソッドには 2 つの特徴があります
        • 1 ) 複数の同時実行が可能
          • 例えば:
            • transform.DOBlendableMoveBy(新しい Vector3(1, 1, 1), 1);
            • transform.DOBlendableMoveBy(新しい Vector3(-1, 0, 0), 1);
            • 実際のポイントを (0,0,0) とすると、アニメーションが最後に停止するときの座標は (0,1,1) になります。
        • 2 )インクリメンタルアニメーションです
          • transform.DOBlendableMoveBy(新しい Vector3(1, 1, 1), 1);
          • 実際のポイントを (1,1,1) とすると、アニメーションが最後に停止するときの座標は (2,2,2) になります。
          • そのパラメータは目標点ではなく、移動量です
          • 次の 3 つの機能は同じです。
          • transform.DOBlendableRotateBy()
          • transform.DOBlendableScaleBy()
          • transform.DOBlendablePunchRotation()
  • 4. 素材展開法

    • 1 ) 色を変える
    • 2 ) シェーダーの属性名に従って色を変更します
      • material.DOColor(Color.clear, "_Color", 2);
    • 3 ) アルファ値を変更する
      • マテリアル.DOFade(0, 2);
    • 4 ) カラーグラデーション
      • Gradientは unity のグラデーション エディターです (下にグラデーション エディターの写真があります)。
      • material.DOGradientColor(グラデーション, "_Color", 3);
    • 5 ) マテリアル オフセットの値を変更する
      • material.DOOffset(new Vector2(1, 1), 2);
      • 画像がシリアライズされたマルチ画像の場合
        • ティリングは元の画像のスケーリングです
          • 例えば、写真を9分割した場合、ティリングは1/9の大きさ
        • Offsetはオフセットで、実際には原点からのオフセットです
          • たとえば、2 番目の小さい画像のオフセットの x 軸は増加します。
    • 6 ) 提供されたシェーダー属性の名前に対応する Vector4 値を変更します
      • material.DOVector(new Vector4(0, 0, 0, 1), "_Color", 3);
    • 7 ) 混色
      • 位置ブレンディング アニメーションと同じように、干渉せずに同時に実行でき、混色が発生します。
      • material.DOBlendableColor(Color.red, "_Color", 3);
      • material.DOColor(Color.black, 2);
  • 5.回転

    • 世界が回る
      • オイラー角を変更して、指定された値に回転します
        • transform.DORotate(新しい Vector3(0, 90, 0), 2);
      • クォータニオンを変更して、指定された値に回転します
        • transform.DORotateQuaternion(新しい四元数(0.1f, 0.1f, 0.1f, 0.1f), 2);
    • ローカル回転
      • オイラー角を変更して、指定された値に回転します
        • transform.DOLocalRotate(新しい Vector3(0, 90, 0), 2);
      • クォータニオンを変更して、指定された値に回転します
        • transform.DOLocalRotateQuaternion(新しい四元数(0.1f、0.1f、0.1f、0.1f)、2);
      • 所定の時間内に、z 軸の正方向を滑らかに目標点に向けます。
        • transform.DOLookAt(新しい Vector3(0, 0, 0), 2);
  • 6.スケール

    • オブジェクトのスケールをターゲット値に変更します
      • transform.DOScale(新しい Vector3(2, 2, 2), 2);
    • 他の2軸は同じ
      • 変換.DOScaleX(3, 2);
  • 7.パンチ

    • 最初のパラメーター パンチ: 方向と強さを示します
    • 2 番目のパラメータ duration: アニメーションの長さを示します
    • 第3パラメータvibrato:振動数
    • 4 番目のパラメーター elascity: この値は 0 から 1 です
      • 0の時は始点と終点の間を移動中
      • 0 以外の場合、割り当てた値は、移動方向の反対方向のポイントとしてパラメータで乗算され、オブジェクトはこのポイントとターゲット ポイントの間を移動します。
      • elascityが 0 でない場合、自動計算されて反転ポイントが生成されます.値が大きいほど、方向ポイントから遠くなります.
    • transform.DOPunchPosition(新しい Vector3(0, 1, 0), 2, 2, 0.1f);
    • transform.DOPunchRotation(新しい Vector3(0, 90, 0), 2, 2, 0.1f);
    • transform.DOPunchScale(新しい Vector3(2, 2, 2), 2, 2, 0.1f);
  • 八、Shake

    • パラメータ: 持続時間、強さ、振動、ランダム性、フェードアウト
      • 強さ: 実際には、振動の大きさであり、カメラによって加えられる力の大きさとして理解できます.Vector3 を使用すると、軸ごとに異なる強さを選択できます。
      • 振動:振動数
      • ランダム性: 振動方向のランダム値を変更します (サイズ: 0~180)
      • フェードアウト:動きが最後にゆっくりと元の位置に戻るかどうか
    • transform.DOShakePosition(1, 5, 10, 50, true);
    • transform.DOShakeRotation(3);
    • transform.DOShakeScale(3);
  • 九、カメラ拡張方法

    • 1 )画面の視野角の縦横比を調整します最初のパラメータは縦横比です
    • 2 )カメラの背景パラメータの色を変更します
      • camera.DOColor(Color.blue, 2);
    • 3 ) カメラの近用部の値を変更する
      • camera.DONearClipPlane(200, 2);
    • 4 ) カメラのファー セクションの値を変更します。
      • camera.DOFarClipPlane(2000, 2);
    • 5 ) カメラ FOV の値を変更する
      • camera.DOFieldOfView(30, 2);
    • 6 ) カメラの正投影サイズを変更する
      • camera.DOOrthoSize(10, 2);
    • 7 ) 画面のピクセルに基づいて計算された表示範囲
      • camera.DOPixelRect(new Rect(0f, 0f, 600f, 500f), 2);
    • 8 ) 画面比率に応じて計算された表示範囲
      • camera.DORect(new Rect(0.5f, 0.5f, 0.5f, 0.5f), 2);
    • 9 ) カメラシェイク
      • 手ぶれ効果のパラメーター: 持続時間、強さ、揺れ、ランダム性、フェードアウト
      • 強さ: 実際には、振動の大きさであり、カメラによって加えられる力の大きさとして理解できます.Vector3 を使用すると、軸ごとに異なる強さを選択できます。
      • 振動:振動数
      • ランダム性: 振動方向のランダム値を変更します (サイズ: 0~180)
      • フェードアウト:動きが最後にゆっくりと元の位置に戻るかどうか
      • camera.DOShakePosition(1, 10, 10, 50, false);
      • camera.DOAspect(0.6f, 2);
  • 10. テキスト展開方法

    • 最初の 3 つは従来の方法であり、あまり紹介されていません
      • text.DOColor(Color.black, 2);
      • text.DOFade(0, 2);
      • text.DOBlendableColor(Color.black, 2);
    • 最初のパラメータの内容を時間に合わせてテキストボックスに一語ずつ入力することです
      • text.DOText("コンテキスト", 2);
  • 11. シーケンス

    • シーケンス quence = DOTween.Sequence();
    • 1 ) キューにアニメーションを追加する
      • quence.Append(transform.DOMove(Vector3.one, 2));
    • 2 )時間間隔を追加
      • quence.AppendInterval(1);
    • 3 ) 時点ごとにアニメーションを挿入する
      • 最初のパラメーターは時間です。このメソッドは、指定された時点でアニメーションを挿入します
      • この文を例にとると、DORotate アニメーションがこのキューに 0 秒間追加されますが、キューに最初に追加されるわけではありません。
      • quence.Insert(0, transform.DORotate(新しい Vector3(0, 90, 0), 1));
    • 4 ) 現在のアニメーションに参加する
      • Joinは参加し、現在実行中のアニメーションでアニメーションを実行させます
      • 次の 2 行のコード、DOMove は DOScale と共に実行されます。
      • quence.Append(transform.DOScale(new Vector3(2, 2, 2), 2));
      • quence.Join(transform.DOMove(Vector3.zero, 2));
    • 5 ) 事前に追加されたアニメーション
      • 事前追加は、アニメーションを Append の前、つまり一番最初に直接追加します。
      • quence.Prepend(transform.DOScale(Vector3.one * 0.5f, 1));
      • ここで、事前追加の実行順序について説明する必要があります
      • ここでもキューの性質を採用しているが、前追加は元のキューと比べて逆のキューである
      • 例えば:
      • シーケンス quence = DOTween.Sequence();
      • quence.Append(transform.DOMove(Vector3.one, 2));
      • quence.Prepend(transform.DOMove(-Vector3.one*2, 2));
      • quence.PrependInterval(1);
      • 実行順序は PrependInterval----Prepend-----Append です。
      • つまり、最後に追加されたものがキューの先頭になります
    • 6 ) 事前追加時間間隔
      • quence.PrependInterval(1);
    • 折り返し電話
      • 1 ) コールバックを事前に追加する
        • quence.PrependCallback(PreCallBack);
      • 3 ) コールバックを追加する
        • quence.AppendCallback(コールバック);
      • 2 )指定された時点でコールバックを追加します
        • quence.InsertCallback(0, InsertCallBack);
  • 12.トゥイナー設定

    • TweenParams para = new TweenParams();
    • 1 )アニメーションループを設定する
      • 最初のパラメータはループの数です - 1 は無限ループを意味します
      • 2 番目のパラメーターはループ モードです。
      • 再起動_
      • ヨーヨーは開始点から目標点に移動し、その後目標点から戻るため、周期は次のようになります。
      • インクリメンタルはモーションの方向に移動しています
      • para.SetLoops(-1, LoopType.Yoyo);
    • 2 ) パラメータの設定
      • transform.DOMove(Vector3.one, 2).SetAs(para);
    • 3)自動キルアニメーションを設定する
      • transform.DOMove(Vector3.one, 1).SetAutoKill(true);
    • 4)トゥイーンから
      • 例えば;
      • transform.DOMove(Vector3.one, 2).From(真);
      • パラメーター isRelative (相対)から:
      • true の場合、入力はオフセットです。つまり、現在の座標 + 入力値 = ターゲット値です。
      • false の場合、入力はターゲット値、つまり、入力値 = ターゲット値です。
    • 5)アニメーションの遅延を設定する
      • transform.DOMove(Vector3.one, 2).SetDelay(1);
    • 6 ) 速度に基づいてアニメーションの動きを設定する
      • 例えば:
      • transform.DOMove(Vector3.one, 1).SetSpeedBased();
      • SetSpeedBased を使用すると、移動方法が速度ベースになります
      • 2 番目のパラメーターは、もともと期間を表していたもので、速度を表すパラメーターになり、1 秒あたりの移動単位数です。
    • 7 ) アニメーションIDを設定する
      • transform.DOMove(Vector3.one, 2).SetId("ID");
    • 8 ) リサイクル可否の設定
      • true の場合、アニメーションは再生後に再利用されてキャッシュされます。それ以外の場合は、再生直後に破棄されます。
      • transform.DOMove(Vector3.one, 2).SetRecyclable(true);
    • 9 ) アニメーションをインクリメンタル モーションに設定する
      • 例えば:
        • transform.DOMove(Vector3.one, 2).SetRelative(true);
          • SetRelativeパラメータ isRelative (相対):
          • true の場合、入力はオフセットです。つまり、現在の座標 + 入力値 = ターゲット値です。
          • false の場合、入力はターゲット値、つまり、入力値 = ターゲット値です。
    • 10 ) アニメーションフレーム機能の設定
      • 例えば:
        • transform.DOMove(Vector3.one, 2).SetUpdate(UpdateType.Normal, true);
        • 最初のパラメーター UpdateType: 使用するフレーム関数を選択します
        • UpdateType.Normal:フレームごとに更新が必要です。
        • UpdateType.Late: LateUpdate 呼び出し中にすべてのフレームを更新します。
        • UpdateType.Fixed:更新には FixedUpdate 呼び出しを使用します。
        • UpdateType.Manual:手動の DOTween.ManualUpdate 呼び出しによる更新。
        • 2 番目のパラメーター: TRUE、トゥイーンは Unity の Time.timeScale を無視します
  • 13.イーズモーションカーブの設定

    • 1 ) Ease 列挙をパラメーターとして取得する
      • 例えば:
      • transform.DOMove(Vector3.one, 2).SetEase(Ease.Flash, 3, 0f);
      • 2番目のパラメーターAmplitude(振幅):実際には移動の数であり、開始点は1回の移動としてカウントされるターゲットに移動し、その後戻って2回移動します
      • 3 番目のパラメーターの期間値の範囲は - 1 ~ 1 です。
        • 値 > 0 の場合、アクティブ レンジの減衰値であり、アクティブ レンジは大から小へと変化します。
        • 値 = 0 の場合、開始座標と目標座標の間を均等に移動しています。
        • 値が 0 未満の場合、ターゲット座標に力がかかり、活動範囲が少し広がり、最終的にターゲット ポイントに近づきます。
      • これらの 2 つのパラメーターは、Flash、InFlash、OutFlash、および InOutFlash の 4 つのカーブに対してのみ有用であり、Ease 列挙パラメーターのみが他のカーブに対して機能します。
    • 2 ) パラメータとして AnimationCurve を使用する
      • 例えば:
      • transform.DOMove(Vector3.one * 2, 1).SetEase(曲線);
      • AnimationCurveの横軸は時間ですが、特定の時間ではなく時間比率です
      • AnimationCurve縦軸は倍数
      • 縦軸の値が v で、DOMove に渡される最初のパラメータ endValue が e で、開始点の座標が s であるとします。
      • 最後のアニメーションの最後でのこのオブジェクトの実際の座標は v* (e -s) + s
    • 3 ) コールバック関数をパラメーターとして受け取る
      • 例えば:
      • transform.DOMove(Vector3.one * 2, 1).SetEase(MyEaseFun);
      • //戻り値は移動距離のパーセンテージ値で、0 から 1 の間である必要があり、最終値は 1 でなければなりません。そうでない場合、停止位置は目標位置になりません
      • プライベート フロート MyEaseFun(フロート時間、フロート期間、フロート オーバーシュートまたは振幅、フロート期間)
        • 返却時間/期間;
  • 14. コールバック関数

    • 1 ) アニメーション完了コールバック
      • transform.DOMove(Vector3.one, 2).OnComplete(() => { });
    • 2 ) アニメーションが強制終了されたときのコールバック
      • transform.DOMove(Vector3.one, 2).OnKill(() => { });
    • 3 ) コールバックは、アニメーションの再生中に呼び出され、一時停止および再開時にも呼び出されます
      • transform.DOMove(Vector3.one, 3).OnPlay(() => { });
    • 4 ) アニメーション一時停止時のコールバック
      • transform.DOMove(Vector3.one, 2).OnPause(() => { });
    • 5 ) アニメーションがロールバックするときのコールバック
      • 以下の状況が呼び出されます
      • DORestartで再生する場合
      • アニメーションが完了したら、巻き戻しを使用してアニメーションを元に戻します
      • DOFlip を使用したフリップ アニメーションの完了時
      • DOPlayBackwards を使用して、完了時にアニメーションを逆再生します
      • transform.DOMove(Vector3.one, 2).OnRewind(() => { });
    • 6 ) アニメーションが初めて再生されるときのみ、再生前に呼び出されます
      • transform.DOMove(Vector3.one, 2).OnStart(() => { });
    • 7 ) 単一のループ サイクルが完了するとトリガーされます
      • transform.DOMove(Vector3.one, 2).OnStepComplete(() => { });
    • 8 ) フレームのコールバック
      • transform.DOMove(Vector3.one, 2).OnUpdate(() => { });
    • 9 ) パス アニメーション中、ターゲット ポイントを変更するときのコールバック、パラメータは現在のターゲット ポイントの添え字
      • transform.DOMove(Vector3.one, 2).OnWaypointChange((値) => { });
    • コールバック関数は、関数ポインターを介して呼び出される関数です。関数ポインター (アドレス) をパラメーターとして別の関数に渡す場合、このポインターを使用してそれが指す関数を呼び出す場合、これをコールバック関数と呼びます。
      • コールバック関数は、関数の実装者によって直接呼び出されるのではなく、特定のイベントまたは条件が発生したときに別の当事者によって呼び出され、イベントまたは条件に応答するために使用されます。簡単に言えば、実装関数が別の関数にパラメーターとして渡されることを意味します. もちろん、デリゲート インターフェイスなどの他の手段を介してこのメ​​ソッドを実装することもできます。
      • まず、イベント センダーとイベント レシーバーを区別する必要があります。
        • The main job of the event sender is to monitor. 特定の重大な状態が検出されると、イベント レシーバーにイベントが通知され、イベント レシーバーはフォローアップ アクションを完了します。ここでのイベント レシーバーは、この記事で説明するコールバック関数です。
  • 15. アニメーション制御方法

    • 1)遊ぶ
      • transform.DOPlay();
    • 2)一時停止
      • transform.DOPause();
    • 3)リプレイ
      • transform.DORestart();
    • 4)巻き戻し、このメソッドは開始点に直接戻ります
      • transform.DORewind();
    • 5)スムーズな巻き戻し。このメソッドは、現在の位置から前の移動モードに従って開始点に戻ります。
      • transform.DOSmoothRewind();
    • 6)キルアニメーション
      • transform.DOKill();
    • 7)トゥイーンの向きを反転する
      • 変換.DOFlip();
    • 8)ジャンプ時点
      • 最初のパラメーターはジャンプの時点、2 番目のパラメーターはジャンプ後にアニメーションを再生するかどうかです。
      • transform.DOGoto(1.5f, true);
    • 9 ) アニメーションを逆再生する
      • アニメーションを逆再生し、アニメーションの途中で実行すると開始点に戻りますが、オブジェクト自体が開始点にあるため、最初は効果が見られません。
      • transform.DOPlayBackwards();
    • 10 ) アニメーションを順方向に再生する
      • アニメーションを順方向に再生
      • transform.DOPlayForward();
    • 11 )トグル一時停止
      • 一時停止すると、実行は再生を継続し、再生中は実行を一時停止します
      • transform.DOTogglePause();
  • 16. データ取得方法

    • 1.クラスメソッド

      • 1 ) 一時停止されたすべてのアニメーションを返します。ない場合は null を返します
        • DOTween.PausedTweens();
      • 2 ) 実際に再生されたすべてのアニメーションを返すか、アニメーションがない場合は null を返します
        • DOTween.PlayingTweens();
      • 3 ) 指定された ID の配列を取得する
        • 例えば:
        • DOTween.TweensById("id", true);
          • 条件を満たすアニメーションの配列を返します
          • 最初のパラメータはアニメーションの ID です
          • 2 番目のパラメーターは、再生中のアニメーションのみを収集するかどうかです。
      • 4 ) 指定されたオブジェクトの配列を返します
        • 例えば:
        • DOTween.TweensByTarget(変換、真);
          • 条件を満たすアニメーションの配列を返します
          • 最初のパラメータは、アニメーションを再生するオブジェクトです
          • 例: transform.DOMove(Vector3.one, 2); 最初のパラメーターは transform に渡されます
            • material.DOColor(Color.White, 2);最初のパラメータはマテリアル オブジェクト material で渡されます
          • 2 番目のパラメーターは、再生中のアニメーションのみを収集するかどうかです。
      • 5 ) 着信オブジェクトのアニメーションがアクティブかどうかを収集する
        • 例えば:
        • DOTween.IsTweening(変換);
          • 最初のパラメータは検出されたオブジェクトです
          • 2 番目のパラメーターは、アニメーションが再生されているかどうかを検出するかどうかです。
          • true の場合、指定されたオブジェクトが再生状態にある場合に true を返します
          • false の場合、指定されたオブジェクトにアニメーションがあるかどうかのみをチェックし (一時停止状態でもカウントされます)、ある場合は true を返します。
      • 6 ) 再生中のアニメーションの総数、および現在遅延再生状態にあるアニメーションもカウントされます
        • DOTween.TotalPlayingTweens();
    • 2. インスタンスメソッド

      • _tweener = transform.DOMove(Vector3.one, 2)
      • 1 ) アニメーションの実行時間を表す、読み書き可能な属性
        • _tweener.fullPosition = 1;
      • 2 ) アニメーションが実行された回数を示します
        • _tweener.CompletedLoops()
      • 3 ) アニメーションの遅延時間を取得する
        • _tweener.Delay();
      • 4 ) アニメーションの継続時間を取得する
        • パラメーターは true で計算サイクル タイムを示し、無限ループは Infinity です。
        • _tweener.Duration(false)
      • 5 ) アニメーションが再生された時間
        • パラメータは true で、計算サイクル タイムを示します
        • _tweener.Elapsed()
      • 6 ) アニメーションの進行状況のパーセンテージを返します
        • 開始点は 0 で、目標点は 1 です。ヨーヨー サイクル モードの場合、値は 0 から 1 に、次に 1 から 0 に変化します。
        • _tweener.ElapsedDirectionalPercentage()
      • 7 ) アニメーション間隔で使用されるパーセンテージを返します
        • 1 ループの値は 0 ~ 1
        • パラメータはループを含めるかどうかです。true の場合、戻り値はループの合計間隔の使用率です。無限ループの場合、戻り値は 0 です。
        • _tweener.ElapsedPercentage(真)
      • 8 ) アニメーションがアクティブかどうか
        • _tweener.IsActive();
      • 9 ) 逆アニメーションかどうか
        • _tweener.IsBackwards();
      • 10 ) アニメーションが完成したかどうか
        • _tweener.IsComplete();
      • 11 ) 初期化するかどうか
        • _tweener.IsInitialized();
      • 12 ) 再生中かどうか
        • _tweener.IsPlaying();
      • 13 ) ループの数を返します。無限ループは Infinity です
        • _tweener.Loops();
  • 17.Ctrip法

    • プライベート IEnumerator Wait()
      • _tweener = transform.DOMove(Vector3.one, 2);
      • 1)アニメーションが終了するのを待ちます
        • yield return _tweener.WaitForCompletion();
      • 2 ) 指定された回数のループを待つ
        • パラメータは実行回数で、渡されたループ回数を待った後、実行を継続します
        • 渡された回数がアニメーションのループ回数よりも多い場合、アニメーションの最後に引き続き実行されます。
        • yield return _tweener.WaitForElapsedLoops(2);
      • 3 )アニメーションが殺されるのを待ちます
        • yield return _tweener.WaitForKill();
      • 4 ) アニメーションが指定された時間実行されるのを待ちます
        • パラメータは時間で、アニメーションの実行によって経過した時間の後、またはアニメーションの実行が完了した後、実行を継続します
        • yield return _tweener.WaitForPosition(0.5f);
      • 5 ) アニメーションがロールバックするのを待ちます
        • 次の場合、関数は引き続き実行されます。
        • DORestartで再生する場合
        • アニメーションが完了したら、巻き戻しを使用してアニメーションを元に戻します
        • DOFlip を使用したフリップ アニメーションの完了時
        • DOPlayBackwards を使用して、完了時にアニメーションを逆再生します
        • yield return _tweener.WaitForRewind();
      • 6 ) Start の実行を待ってから実行を続行する
        • yield return _tweener.WaitForStart();
  • 18. ウェイポイント

    • DOPath (Vector2[] ウェイポイント、フロート期間、PathType pathType = Linear、PathMode pathMode = Full3D、int 解像度 = 10、Color gizmoColor = null)
    • 位置
    • SetOption および SetLookAt を介して利用可能な追加オプション
    • ウェイポイント
      • 通過するウェイポイント。
    • 間隔
      • トゥイーンの長さ。
    • パスタイプ
      • 線形_
      • キャットマルロム
        • 湾曲した CatmullRom パス
      • CubicBezier
        • ウェイポイントごとに 2 つのコントロール ポイントを持つ曲線パス
    • パスモデル
      • 正しい LookAt オプションを決定するために使用されるパス モード: 無視 (渡された LookAt オプションを無視)、3D、スクロール 2D、2D トップダウン。
    • 解決
      • パスの解像度 (線形パスの場合は役に立たない): 解像度が高いほど、より詳細な曲線パスを生成できますが、コストが高くなります。
      • デフォルトは 10 ですが、ウェイポイント間に極端に長い曲線がない場合は、通常は 5 の値で十分です。
    • ギズモカラー
      • パスの色 (再生パネルでギズモがアクティブで、トゥイーンが実行されている場合に表示されます)。
    • 3 次ベジエ パス
      • ルート ウェイポイントは 3 の倍数である必要があります。3 つの各グループは、1) ルート ウェイポイント、2) IN コントロール ポイント (前のウェイポイントのコントロール ポイント)、3) OUT コントロール ポイント (新しいウェイポイントのコントロール ポイント) を表します。
      • 最初のウェイポイントは常に自動的に追加され、ターゲットの現在の位置によって決定されることに注意してください (コントロール ポイントはありません)。
    • 設定オプション
      • オプションの設定
        • パストゥイーン SetOptions (bool closePath, AxisConstraint lockPosition= AxisConstraint. None,AxisConstraint lockRotation = AxisConstraint. None)
        • closePath : 閉じたパスかどうか。true に設定すると、閉じたループを形成し、最終的に開始点に戻ります。
        • lockPosition : ロック位置。パラメーターは軸方向です。たとえば、AxisConstraint.X を入力すると、横方向の変位がロックされ、オブジェクトは他の方向にのみ移動できます。
        • lockRotation:回転をロックします。パラメーターは軸方向であり、ロックされた位置と同じです。ロックされた軸は回転できません。
      • SetLookAt
        • SetLookAt( Vector3 lookAtPosition/lookAtTarget/lookAhead, VectorforwardDirection, Vector3 up, bool stableZRotation )
        • 最初のパラメーターを変更するための 3 つのオーバーロードがあります。
        • (1) 変換型パラメータ lookAtTransform: つまり、見るオブジェクト
        • (2) Vector3 型パラメータ lookAtPosition: つまり見る位置
        • (3) float 型のパラメータ lookAhead: 前向きパラメータ
          • 先読みオフセット
          • パス全体が正規化されていると仮定すると、つまり、始点が 0 で終点が 1 で、距離の半分は 0.5 です。
          • したがって、lookAhead = 0.5 の場合、現在の Transform が 0.1 の位置に移動すると仮定すると、LookAt は 0.6 の位置に移動します。
        • 順方向
          • オプションのオーバーロード: 「前方」と見なされる最終的な方向。
          • デフォルト:
            • 変換の通常のプラス面。
          • オプションのオーバーロード: ベクトルを上方向に定義します。
          • Vector3.up
        • Stabilize Z Rotation Optional Overload: TRUE に設定すると、ターゲットは Z 軸に沿って回転しません。

おすすめ

転載: blog.csdn.net/weixin_51374560/article/details/127849994