質問編集履歴

2

「実現したいコト」修正、「実施内容の概要」追加

2018/07/02 01:24

投稿

covajiro
covajiro

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,62 @@
1
1
  【実現したいコト】
2
2
 
3
- 任意のオブジェクトAに別のオブジェクトB(9slice済)が近づいた際に、BがAのサイズに合わせて吸着する。
3
+ 任意のオブジェクトAに別のオブジェクトB(9slice済)が近づいた際に、BがAのサイズに合わせて吸着するアニメーションの実装
4
4
 
5
- →オブジェクトAに対して一回り大きなColliderを設置し、OnMouseイベントでション、大きさを変えるアニメーションを実施するスクリプトを作成したいです。
5
+ →オブジェクトAに対して一回り大きなColliderを設置し、衝突イベントでオブェクトBの座標位置、大きさを変えるアニメーションを実施するスクリプトを作成したいです。
6
6
 
7
7
 
8
8
 
9
9
  【発生している問題・エラーメッセージ】
10
10
 
11
11
  Animationタブのプロパティ:Sprite Renderer.SizeがMissing!になり、オブジェクトBの大きさが変わらない
12
+
13
+ → **Missing!にならない解決法(スクリプト)をご教授いただきたいです。**
14
+
15
+
16
+
17
+ 【実装内容の概要】
18
+
19
+ ■オブジェクトA
20
+
21
+ ・Start()
22
+
23
+ ①オブジェクトBのオブジェクト取得
24
+
25
+ ②オブジェクトBのコンポーネント(Script)取得
26
+
27
+
28
+
29
+ ・オブジェクトBのCollider内侵入()
30
+
31
+ ①オブジェクトBの移動先をオブジェクトBのコンポーネント(スクリプト)に通知
32
+
33
+ ②オブジェクトBのCollider内侵入時のアニメーション関数呼び出し
34
+
35
+
36
+
37
+ ■オブジェクトB
38
+
39
+ ・Start()
40
+
41
+ ①コンポーネント(Animation)生成
42
+
43
+
44
+
45
+ ・Collider内侵入時のアニメーション関数()
46
+
47
+ ①AnimationClip生成
48
+
49
+ ②AnimationCurve生成
50
+
51
+ ③Animationタブのプロパティ:localPosition.xの設定
52
+
53
+ ④Animationタブのプロパティ:localPosition.yの設定
54
+
55
+ ⑤Animationタブのプロパティ:Sprite Renderer.Size.xの設定 → 【該当のソースコード】参照
56
+
57
+ ⑥Animationタブのプロパティ:Sprite Renderer.Size.yの設定
58
+
59
+ ⑦アニメーション再生
12
60
 
13
61
 
14
62
 
@@ -20,9 +68,7 @@
20
68
 
21
69
  curve = AnimationCurve.Linear(0.0f, 0.8f, 0.3f, 3.5f);
22
70
 
23
- clip.SetCurve(””, typeof(SpriteRenderer
71
+ clip.SetCurve(””, typeof(SpriteRenderer), ”size.x”, curve);
24
-
25
- ), ”size.x”, curve);
26
72
 
27
73
  ※size.yも同様
28
74
 
@@ -35,11 +81,3 @@
35
81
  ①Transformの”localPosition”、”localScale”は問題なく動作
36
82
 
37
83
  ②Unity5のスクリプトリファレンスにのSpriteRendererにsize変数がなかったため、2018でも確認したが変わらず
38
-
39
-
40
-
41
- 【その他】
42
-
43
- アニメーションのプロパティの階層のパスによるものだと思いますが、スクリプトから設定したパスを変更する手段が分かりません。
44
-
45
- ご教授頂きたいです。

1

2018/07/02 01:24

投稿

covajiro
covajiro

スコア6

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  言語名:C#
18
18
 
19
- ————————
19
+ ```C#
20
20
 
21
21
  curve = AnimationCurve.Linear(0.0f, 0.8f, 0.3f, 3.5f);
22
22
 
@@ -25,6 +25,8 @@
25
25
  ), ”size.x”, curve);
26
26
 
27
27
  ※size.yも同様
28
+
29
+ ```
28
30
 
29
31
 
30
32