【実現したいコト】
任意のオブジェクトAに別のオブジェクトB(9slice済)が近づいた際に、BがAのサイズに合わせて吸着するアニメーションの実装。
→オブジェクトAに対して一回り大きなColliderを設置し、衝突イベントでオブジェクトBの座標位置、大きさを変えるアニメーションを実施するスクリプトを作成したいです。
【発生している問題・エラーメッセージ】
Animationタブのプロパティ:Sprite Renderer.SizeがMissing!になり、オブジェクトBの大きさが変わらない
→ Missing!にならない解決法(スクリプト)をご教授いただきたいです。
【実装内容の概要】
■オブジェクトA
・Start()
①オブジェクトBのオブジェクト取得
②オブジェクトBのコンポーネント(Script)取得
・オブジェクトBのCollider内侵入()
①オブジェクトBの移動先をオブジェクトBのコンポーネント(スクリプト)に通知
②オブジェクトBのCollider内侵入時のアニメーション関数呼び出し
■オブジェクトB
・Start()
①コンポーネント(Animation)生成
・Collider内侵入時のアニメーション関数()
①AnimationClip生成
②AnimationCurve生成
③Animationタブのプロパティ:localPosition.xの設定
④Animationタブのプロパティ:localPosition.yの設定
⑤Animationタブのプロパティ:Sprite Renderer.Size.xの設定 → 【該当のソースコード】参照
⑥Animationタブのプロパティ:Sprite Renderer.Size.yの設定
⑦アニメーション再生
【該当のソースコード】
言語名:C#
C#
1curve = AnimationCurve.Linear(0.0f, 0.8f, 0.3f, 3.5f); 2clip.SetCurve(””, typeof(SpriteRenderer), ”size.x”, curve); 3※size.yも同様
【試したコト】
①Transformの”localPosition”、”localScale”は問題なく動作
②Unity5のスクリプトリファレンスにのSpriteRendererにsize変数がなかったため、2018でも確認したが変わらず

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。