質問編集履歴

3

```を付け加えました。

2020/07/28 05:30

投稿

pasta3
pasta3

スコア1

test CHANGED
File without changes
test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
 
47
- using System;
47
+ ```using System;
48
48
 
49
49
  using UnityEngine;
50
50
 
@@ -150,7 +150,7 @@
150
150
 
151
151
  }
152
152
 
153
-
153
+ ```
154
154
 
155
155
 
156
156
 

2

補足事項に検証した内容を記載しました。

2020/07/28 05:30

投稿

pasta3
pasta3

スコア1

test CHANGED
File without changes
test CHANGED
@@ -155,3 +155,17 @@
155
155
 
156
156
 
157
157
  ### 補足情報(FW/ツールのバージョンなど)
158
+
159
+
160
+
161
+ public floatをfloatに書き換えると23個のエラーメッセージが消えます。
162
+
163
+ しかし、unity上でエラーが発生します。
164
+
165
+ 未割り当てのローカル変数「BraekPower」の使用
166
+
167
+ 未割り当てのローカル変数「AccelPower」の使用
168
+
169
+ とでます。
170
+
171
+ 解決できていませんが補足事項として。

1

回答してもらえた内容を書き換えたところ以上のようなエラーメッセージがでてきててんやわんやしています。 対応できる方お願いします...

2020/07/28 04:21

投稿

pasta3
pasta3

スコア1

test CHANGED
File without changes
test CHANGED
@@ -24,15 +24,19 @@
24
24
 
25
25
 
26
26
 
27
- スタンダードアセットで作成した車
27
+ CS1022
28
28
 
29
- USBでハンコンを接続
29
+ CS0116
30
30
 
31
+ CS8124
31
32
 
33
+ CS1519
32
34
 
33
- 再生を押すと何も入力していない状態で車がバックする。
35
+ CS1513
34
36
 
37
+ CS1026
35
38
 
39
+ 計23エラーでています。
36
40
 
37
41
 
38
42
 
@@ -40,15 +44,67 @@
40
44
 
41
45
 
42
46
 
43
- スタンダードアセットのcar user controlerのスクリプトに
47
+ using System;
44
48
 
45
- float a = CrossPlatformInputManager.GetAxis("accel");
49
+ using UnityEngine;
46
50
 
47
- float b = CrossPlatformInputManager.GetAxis("braek");
51
+ using UnityStandardAssets.CrossPlatformInput;
48
52
 
49
- a = a / 2 - 0.5f;
50
53
 
54
+
55
+ namespace UnityStandardAssets.Vehicles.Car
56
+
57
+ {
58
+
59
+ [RequireComponent(typeof(CarController))]
60
+
61
+ public class CarUserControl : MonoBehaviour
62
+
63
+ {
64
+
65
+ private CarController m_Car; // the car controller we want to use
66
+
67
+
68
+
69
+
70
+
71
+ private void Awake()
72
+
73
+ {
74
+
75
+ // get the car controller
76
+
77
+ m_Car = GetComponent<CarController>();
78
+
79
+ }
80
+
81
+
82
+
83
+
84
+
85
+ private void FixedUpdate()
86
+
87
+ {
88
+
89
+ // pass the input to the car!
90
+
91
+ float h = CrossPlatformInputManager.GetAxis("Horizontal");
92
+
93
+ float v = 0;
94
+
95
+ float a = CrossPlatformInputManager.GetAxis("accel");
96
+
97
+ float b = CrossPlatformInputManager.GetAxis("braek");
98
+
99
+ public float AccelPower;
100
+
101
+ public float BreakPower;
102
+
103
+
104
+
105
+ var NewA = -a * PulsPower;
106
+
51
- b = b / 2 + 0.5f;
107
+ var NewB = b / BreakPower;
52
108
 
53
109
 
54
110
 
@@ -56,50 +112,46 @@
56
112
 
57
113
  {
58
114
 
59
- v = b;
115
+ v = NewB;
60
116
 
61
117
  }
62
118
 
63
- if (a > 0)
119
+ else if (a > 0)
64
120
 
65
121
  {
66
122
 
67
- v = -a;
123
+ v = NewA;
68
124
 
69
- }
125
+ }
70
-
71
- と追加入力し初期状態の変更を図りました。
72
-
73
- imputマネージャーにaccel,brakeの仮想軸を作り対応する軸を設定した。
74
126
 
75
127
 
76
128
 
77
- 入力することはできますが、ずっとバックしっぱなしです。
78
129
 
130
+
131
+
132
+
133
+
134
+
135
+ #if !MOBILE_INPUT
136
+
79
- いろいろ数値を変えて検証しているのですが問題のボトルネックがわからないまま2,3日考えている状態です。
137
+ float handbrake = CrossPlatformInputManager.GetAxis("Jump");
138
+
139
+ m_Car.Move(h, v, v, handbrake);
140
+
141
+ #else
142
+
143
+ m_Car.Move(h, v, v, 0f);
144
+
145
+ #endif
146
+
147
+ }
148
+
149
+ }
150
+
151
+ }
80
152
 
81
153
 
82
154
 
83
155
 
84
156
 
85
157
  ### 補足情報(FW/ツールのバージョンなど)
86
-
87
-
88
-
89
- コントローラーテストというアセットを用いてアクセルブレーキの状態をチェックしたところ以下のようになりました。
90
-
91
-
92
-
93
- 何も入力していない状態
94
-
95
- axis 3 positive (アクセル)
96
-
97
- axis 4 positive (ブレーキ)
98
-
99
-
100
-
101
- アクセル、ブレーキを踏めるところまで踏むと
102
-
103
- axis 3 negative (アクセル)
104
-
105
- axis 4 negative (ブレーキ)