回答編集履歴
11
更新
test
CHANGED
@@ -104,6 +104,8 @@
|
|
104
104
|
|
105
105
|
`public int interval`に変更してインスペクタから変更出来るようにすると良いです。
|
106
106
|
|
107
|
+
|
108
|
+
|
107
109
|
---
|
108
110
|
|
109
111
|
ランタイム中の適用に関しての追記3は質問の先の段階なので削除しました。
|
10
更新
test
CHANGED
@@ -103,3 +103,7 @@
|
|
103
103
|
直接コードから`30`の部分を書き換えて調整するか、
|
104
104
|
|
105
105
|
`public int interval`に変更してインスペクタから変更出来るようにすると良いです。
|
106
|
+
|
107
|
+
---
|
108
|
+
|
109
|
+
ランタイム中の適用に関しての追記3は質問の先の段階なので削除しました。
|
9
更新
test
CHANGED
@@ -80,7 +80,17 @@
|
|
80
80
|
|
81
81
|
|
82
82
|
|
83
|
+
### 追記1:Optionを2個以上に増やす場合
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
1.上記の状態から更にシーン上にOption2を追加した場合、**Option1**に`OptionMoveControll`をアタッチしてインスペクタから`optionObj`にはOption2を入れて下さい。
|
88
|
+
|
89
|
+
2.これを繰り返せばオプションの数は制限無く増やせます。
|
90
|
+
|
91
|
+
|
92
|
+
|
83
|
-
### 追記
|
93
|
+
### 追記2:Optionとの間隔を変える
|
84
94
|
|
85
95
|
|
86
96
|
|
@@ -93,13 +103,3 @@
|
|
93
103
|
直接コードから`30`の部分を書き換えて調整するか、
|
94
104
|
|
95
105
|
`public int interval`に変更してインスペクタから変更出来るようにすると良いです。
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
### 追記2:Optionを2個以上に増やす場合
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
1.シーン上にOption2を追加した場合、**Option1**に`OptionMoveControll`をアタッチしてインスペクタから`optionObj`にはOption2を入れて下さい。
|
104
|
-
|
105
|
-
2.これを繰り返せばオプションの数は制限無く増やせます。
|
8
追記3は先の段階なので削除
test
CHANGED
@@ -80,10 +80,6 @@
|
|
80
80
|
|
81
81
|
|
82
82
|
|
83
|
-
追記3は質問内容の次の段階の上、現状だと難度高く感じると思います。
|
84
|
-
|
85
|
-
|
86
|
-
|
87
83
|
### 追記1:Optionとの間隔を変える
|
88
84
|
|
89
85
|
|
@@ -107,43 +103,3 @@
|
|
107
103
|
1.シーン上にOption2を追加した場合、**Option1**に`OptionMoveControll`をアタッチしてインスペクタから`optionObj`にはOption2を入れて下さい。
|
108
104
|
|
109
105
|
2.これを繰り返せばオプションの数は制限無く増やせます。
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
### 追記3:ゲーム再生中にオプションを増やして追随をさせる場合
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
ここは今の習熟度で文章だけだと失敗すると思いますが一応書いておきます。
|
118
|
-
|
119
|
-
2パターンあります。
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
**・Optionを生成する毎にOptionMoveControllをアタッチする方法**
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
1.PrefabからOptionを`Instantiate`する際に`AddComponent<OptionMoveControll>()`でOptionMoveControllを**追随させる側のオブジェクト**にアタッチします。
|
128
|
-
|
129
|
-
例:最初のオプション生成であればPlayerにアタッチして下さい。
|
130
|
-
|
131
|
-
2.コード内から**追随させる側**の`optionObj`に生成したオプションを代入して下さい。
|
132
|
-
|
133
|
-
3.Playerを動かせば追随します。
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
**・シーン上のPlayerとProject内のPrefab化したOptionに最初からOptionMoveControllをアタッチしておく方法**
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
1.nullエラーが発生し得るので`optionObj.transform.localPosition = playerPosition[0];`を`if(optionObj != null) optionObj.transform.localPosition = playerPosition[0];`に変更します。
|
142
|
-
|
143
|
-
2.シーン上のPlayerとProject内にPrefab化したOptionにOptionMoveControllを取り付けます。
|
144
|
-
|
145
|
-
これでOptionを生成する毎に最初からOptionMoveControllが付いています。
|
146
|
-
|
147
|
-
3.コード内から**追随させる側**の`optionObj`に生成したオプションを代入して下さい。
|
148
|
-
|
149
|
-
4.Playerを動かせば追随します。
|
7
更新
test
CHANGED
@@ -114,7 +114,7 @@
|
|
114
114
|
|
115
115
|
|
116
116
|
|
117
|
-
ここは今の
|
117
|
+
ここは今の習熟度で文章だけだと失敗すると思いますが一応書いておきます。
|
118
118
|
|
119
119
|
2パターンあります。
|
120
120
|
|
@@ -130,7 +130,7 @@
|
|
130
130
|
|
131
131
|
2.コード内から**追随させる側**の`optionObj`に生成したオプションを代入して下さい。
|
132
132
|
|
133
|
-
3.
|
133
|
+
3.Playerを動かせば追随します。
|
134
134
|
|
135
135
|
|
136
136
|
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
1.nullが発生し得るので`optionObj.transform.localPosition = playerPosition[0];`を`if(optionObj != null) optionObj.transform.localPosition = playerPosition[0];`に変更します。
|
141
|
+
1.nullエラーが発生し得るので`optionObj.transform.localPosition = playerPosition[0];`を`if(optionObj != null) optionObj.transform.localPosition = playerPosition[0];`に変更します。
|
142
142
|
|
143
143
|
2.シーン上のPlayerとProject内にPrefab化したOptionにOptionMoveControllを取り付けます。
|
144
144
|
|
@@ -146,4 +146,4 @@
|
|
146
146
|
|
147
147
|
3.コード内から**追随させる側**の`optionObj`に生成したオプションを代入して下さい。
|
148
148
|
|
149
|
-
4.
|
149
|
+
4.Playerを動かせば追随します。
|
6
更新
test
CHANGED
@@ -78,7 +78,9 @@
|
|
78
78
|
|
79
79
|
上記が問題無く動作すれば追記1,2に進んで下さい。
|
80
80
|
|
81
|
+
|
82
|
+
|
81
|
-
追記3は現状だと難度高く感じると思います。
|
83
|
+
追記3は質問内容の次の段階の上、現状だと難度高く感じると思います。
|
82
84
|
|
83
85
|
|
84
86
|
|
5
更新
test
CHANGED
@@ -76,6 +76,12 @@
|
|
76
76
|
|
77
77
|
|
78
78
|
|
79
|
+
上記が問題無く動作すれば追記1,2に進んで下さい。
|
80
|
+
|
81
|
+
追記3は現状だと難度高く感じると思います。
|
82
|
+
|
83
|
+
|
84
|
+
|
79
85
|
### 追記1:Optionとの間隔を変える
|
80
86
|
|
81
87
|
|
@@ -92,15 +98,13 @@
|
|
92
98
|
|
93
99
|
|
94
100
|
|
95
|
-
### 追記2:Option
|
101
|
+
### 追記2:Optionを2個以上に増やす場合
|
96
102
|
|
97
103
|
|
98
104
|
|
99
|
-
1.
|
105
|
+
1.シーン上にOption2を追加した場合、**Option1**に`OptionMoveControll`をアタッチしてインスペクタから`optionObj`にはOption2を入れて下さい。
|
100
106
|
|
101
|
-
2.Playerを動かせばPlayerにOption1が追随してOption1にOption2が追随します。
|
102
|
-
|
103
|
-
|
107
|
+
2.これを繰り返せばオプションの数は制限無く増やせます。
|
104
108
|
|
105
109
|
|
106
110
|
|
4
更新
test
CHANGED
@@ -73,3 +73,71 @@
|
|
73
73
|
|
74
74
|
|
75
75
|
シーンのオブジェクト配置やPlayerの移動制御の方法によっては変な動きすると思うのでそれが発生したら教えて下さい。
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
### 追記1:Optionとの間隔を変える
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
`int interval`で間隔を決めています。
|
84
|
+
|
85
|
+
ここの数値が大きくなれば距離が離れ小さくすれば距離が短くなります。
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
直接コードから`30`の部分を書き換えて調整するか、
|
90
|
+
|
91
|
+
`public int interval`に変更してインスペクタから変更出来るようにすると良いです。
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
### 追記2:Optionが複数個の場合
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
1.上の続きでシーン上にOption2を追加した場合、Option1にOptionMoveControll.csを付けてインスペクタ上の`optionObj`にはOption2を入れて下さい。
|
100
|
+
|
101
|
+
2.Playerを動かせばPlayerにOption1が追随してOption1にOption2が追随します。
|
102
|
+
|
103
|
+
3.これを繰り返せばオプションの数は特に制限無く増やせます。
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
### 追記3:ゲーム再生中にオプションを増やして追随をさせる場合
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
ここは今のレベルで文章だけだと失敗すると思いますが一応書いておきます。
|
112
|
+
|
113
|
+
2パターンあります。
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
**・Optionを生成する毎にOptionMoveControllをアタッチする方法**
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
1.PrefabからOptionを`Instantiate`する際に`AddComponent<OptionMoveControll>()`でOptionMoveControllを**追随させる側のオブジェクト**にアタッチします。
|
122
|
+
|
123
|
+
例:最初のオプション生成であればPlayerにアタッチして下さい。
|
124
|
+
|
125
|
+
2.コード内から**追随させる側**の`optionObj`に生成したオプションを代入して下さい。
|
126
|
+
|
127
|
+
3.間違っていなければPlayerを動かせば追随します。
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
**・シーン上のPlayerとProject内のPrefab化したOptionに最初からOptionMoveControllをアタッチしておく方法**
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
1.nullが発生し得るので`optionObj.transform.localPosition = playerPosition[0];`を`if(optionObj != null) optionObj.transform.localPosition = playerPosition[0];`に変更します。
|
136
|
+
|
137
|
+
2.シーン上のPlayerとProject内にPrefab化したOptionにOptionMoveControllを取り付けます。
|
138
|
+
|
139
|
+
これでOptionを生成する毎に最初からOptionMoveControllが付いています。
|
140
|
+
|
141
|
+
3.コード内から**追随させる側**の`optionObj`に生成したオプションを代入して下さい。
|
142
|
+
|
143
|
+
4.間違っていなければPlayerを動かせば追随します。
|
3
更新
test
CHANGED
@@ -30,13 +30,13 @@
|
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
-
List<Vector3> playerPotion = new List<Vector3>();
|
33
|
+
List<Vector3> playerPosition = new List<Vector3>();
|
34
34
|
|
35
35
|
void Start()
|
36
36
|
|
37
37
|
{
|
38
38
|
|
39
|
-
playerPotion.Add(transform.localPosition);
|
39
|
+
playerPosition.Add(transform.localPosition);
|
40
40
|
|
41
41
|
}
|
42
42
|
|
@@ -44,21 +44,21 @@
|
|
44
44
|
|
45
45
|
{
|
46
46
|
|
47
|
-
if (playerPotion[playerPotion.Count - 1] != this.transform.localPosition)
|
47
|
+
if (playerPosition[playerPosition.Count - 1] != this.transform.localPosition)
|
48
48
|
|
49
49
|
{
|
50
50
|
|
51
|
-
playerPotion.Add(transform.localPosition);
|
51
|
+
playerPosition.Add(transform.localPosition);
|
52
52
|
|
53
53
|
|
54
54
|
|
55
|
-
if (playerPotion.Count > interval)
|
55
|
+
if (playerPosition.Count > interval)
|
56
56
|
|
57
57
|
{
|
58
58
|
|
59
|
-
optionObj.transform.localPosition = playerPotion[0];
|
59
|
+
optionObj.transform.localPosition = playerPosition[0];
|
60
60
|
|
61
|
-
playerPotion.RemoveAt(0);
|
61
|
+
playerPosition.RemoveAt(0);
|
62
62
|
|
63
63
|
}
|
64
64
|
|
2
更新
test
CHANGED
@@ -69,3 +69,7 @@
|
|
69
69
|
}
|
70
70
|
|
71
71
|
```
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
シーンのオブジェクト配置やPlayerの移動制御の方法によっては変な動きすると思うのでそれが発生したら教えて下さい。
|
1
更新
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
まずオプション一つで想定した動きをするのか確認したい
|
1
|
+
まずオプション一つで想定した動きをするのか確認したい為、
|
2
|
+
|
3
|
+
下記内容試して下さい。
|
2
4
|
|
3
5
|
|
4
6
|
|