SDキャラクターに地面に貼り付く影のアニメーションを作りたいとのことですね!
ご質問の内容から、影が地面に固定されず、キャラクターと一緒に上下左右に動いてしまうという問題が起きているようです。
この表現を実現するための一般的なアプローチをいくつかご紹介します。
トランスフォームコンストレイントを活用する方法
影を地面に固定しつつ、キャラクターの水平方向の動きだけに追従させるには、トランスフォームコンストレイント(Transform Constraint)を使うのが効果的です。
- 影用のボーンを作成し、キャラクターのルートボーンに対してコンストレイントを設定します
- X軸(水平)の移動のみをミックス(Mix)100%で追従させ、Y軸(垂直)のミックスを0%にすることで、影が地面に張り付いたまま左右にだけ追従するようになります
- スケールのミックスを使えば、キャラクターのY位置に応じて影の大きさを変化させることも可能です
スケールアニメーションで遠近感を出す方法
キャラクターがジャンプしたり地面から離れたりする場合:
- キャラクターが上に移動したとき、影を縮小(Scale Down)するキーを打つ
- キャラクターが地面に近いとき、影を拡大(Scale Up)するキーを打つ
参考になるSpineの公式リソース
Spineのアニメーション技術について、以下の動画シリーズが参考になります:
Animating with Spine 動画シリーズ
また、Chibi Stickersのサンプルプロジェクトでは、トランスフォームコンストレイントを使ったヘッドターンの深度表現が実装されており、コンストレイントの仕組みを理解するのに役立ちます。具体的にはface-holderボーンに対してトランスレートミックスを-100に設定することで逆方向への動きを実現しているなど、参考になる手法が含まれています。
躓いているポイントの確認
- 影のボーンがルートボーンの子ボーンになっていませんか?子ボーンになっていると親の動きをすべて引き継いでしまいます。影のボーンはルートボーンとは独立したボーンとして作成し、コンストレイントで必要な軸だけ追従させるのがポイントです。
具体的にどのような設定をされているか教えていただければ、さらに詳しくアドバイスできます!