質問編集履歴

1

誤字

2019/01/17 11:16

投稿

fm86
fm86

スコア12

test CHANGED
File without changes
test CHANGED
@@ -2,21 +2,49 @@
2
2
 
3
3
 
4
4
 
5
- C++ → 3Dモデルに張り付けるテクスチャを決め、CSVファイルで書き出す
5
+ C++ → 3Dモデルに張り付けるテクスチャを決め、Assets/Resourses/CSV内にCSVファイルで書き出す
6
-
6
+
7
- Unity → CSVファイルを読み込み、その内容に対応するテクスチャを3Dモデルに張り付け、アニメーションを実行する
7
+ Unity → Assets/Resourses/CSV内のCSVファイルを読み込み、その内容に対応するテクスチャを3Dモデルに張り付け、アニメーションを実行する
8
8
 
9
9
  ※様々な問題につき、どうしてもテクスチャを決めるのはC++である必要があります。
10
10
 
11
11
 
12
12
 
13
+ C++とUnityはスペースキーを押すと、同時に実行されるものになります。
14
+
15
+
16
+
17
+ 流れは
18
+
19
+ C++:テクスチャを書き出す(CSVファイル)
20
+
21
+ Unity:テクスチャを読み込み、適応
22
+
23
+
24
+
25
+ これを繰り返すことになります。
26
+
27
+ unityが建てたフラグをC++でリアルタイムに確認することはできました。
28
+
29
+ しかし、逆になるとできません。
30
+
31
+
32
+
33
+ なにか対処方法はないでしょうか。
34
+
35
+
36
+
13
37
  ### 発生している問題・エラーメッセージ
14
38
 
15
39
 
16
40
 
17
- unity側該当するcsvファイルが見つからないとエラーが出ます。
41
+ unity側にて、該当するcsvファイルが見つからないとエラーが出ます。
18
-
42
+
19
- C++側ではしゅつりょく
43
+ C++側では出力済み)
44
+
45
+ どうやら、リアルタイムでAssets/Resource/CSVが更新されていないため、ファイルがないと言われているようです。
46
+
47
+ 一度デバックをやめるとCSVフォルダ内にcsvファイルが入り、次に実行したとき、前回出力されたものが適応されます。
20
48
 
21
49
 
22
50
 
@@ -24,248 +52,172 @@
24
52
 
25
53
 
26
54
 
27
- ```ここに言語名を入力
55
+ ```Cpp
56
+
28
-
57
+ int main(){
58
+
59
+ int i = 0;
60
+
61
+ char fop[100];
62
+
63
+ char fop2[100];
64
+
65
+ char fip[100];
66
+
67
+ int flag = 0;
68
+
69
+
70
+
71
+ sprintf(fop, "Assets\Resources\CSV\coordinate.csv");
72
+
73
+ sprintf(fop2, "Assets\Resources\CSV\set.csv");
74
+
75
+ sprintf(fip, "test.csv");
76
+
77
+
78
+
79
+ while (i < 5){
80
+
81
+ if (GetAsyncKeyState(VK_SPACE)){
82
+
83
+ for (int j = 0; j < 5; j++){
84
+
85
+ /*ファイルオープン*/
86
+
87
+ if ((fo = fopen(fop, "w")) == NULL){
88
+
89
+ printf("ファイルオープン失敗\n");
90
+
29
- ソースコード
91
+ exit(-1);
92
+
93
+ }
94
+
95
+ fprintf(fo, "%d, %d, %d, %d, %d", 1, 2, 3, 4, 5);
96
+
97
+ printf("コーディネートの出力\n");
98
+
99
+ fclose(fo);
100
+
101
+ }
102
+
103
+ i++;
104
+
105
+ }
106
+
107
+ }
108
+
109
+
110
+
111
+ printf("終了\n");
112
+
113
+
114
+
115
+ return 0;
116
+
117
+ }
30
118
 
31
119
  ```
32
120
 
33
-
121
+ ```Unity
122
+
123
+ using System.Collections;
124
+
125
+ using System.Collections.Generic;
126
+
127
+ using UnityEngine;
128
+
129
+ using System;
130
+
131
+ using System.IO;
132
+
133
+ using System.Text;
134
+
135
+
136
+
137
+ public class nowloading : MonoBehaviour {
138
+
139
+
140
+
141
+ int count;
142
+
143
+ private TextAsset csvFile;
144
+
145
+ private List<string[]> csvDatas = new List<string[]>();
146
+
147
+
148
+
149
+ // Use this for initialization
150
+
151
+ void Start () {
152
+
153
+
154
+
155
+ }
156
+
157
+
158
+
159
+ // Update is called once per frame
160
+
161
+ void Update () {
162
+
163
+ if (Input.anyKeyDown)
164
+
165
+ {
166
+
167
+ StartCoroutine("nowload");
168
+
169
+ }
170
+
171
+ }
172
+
173
+
174
+
175
+ IEnumerator nowload()
176
+
177
+ {
178
+
179
+ for (count = 0; count < 5; count++)
180
+
181
+ {
182
+
183
+ yield return new WaitForSeconds(3);
184
+
185
+        /* テクスチャの読み込み */
186
+
187
+ String fn = "CSV/coordinate";
188
+
189
+ csvFile = Resources.Load(fn) as TextAsset;
190
+
191
+ StringReader reader = new StringReader(csvFile.text);
192
+
193
+
194
+
195
+ while (reader.Peek() > -1)
196
+
197
+ {
198
+
199
+ string line = reader.ReadLine();
200
+
201
+ csvDatas.Add(line.Split(','));
202
+
203
+ }
204
+
205
+
206
+
207
+ Debug.Log("コーディネート:" + csvDatas[0][0] + " " + csvDatas[0][1] + " " + csvDatas[0][2] + " " + csvDatas[0][3] + " " + csvDatas[0][4] + " ");
208
+
209
+ }
210
+
211
+ }
212
+
213
+ }
214
+
215
+
216
+
217
+ ```
34
218
 
35
219
  ### 試したこと
36
220
 
37
221
 
38
222
 
39
- ここに問題に対して試したことを記載してください。
40
-
41
-
42
-
43
- ### 補足情報(FW/ツールのバージョンなど)
44
-
45
-
46
-
47
- ここにより詳細な情報を記載してください。
48
-
49
- ### 前提・実現したいこと
50
-
51
-
52
-
53
- C++ → 3Dモデルに張り付けるテクスチャを決め、Assets/Resourses/CSV内にCSVファイルで書き出す
54
-
55
- Unity → Assets/Resourses/CSV内のCSVファイルを読み込み、その内容に対応するテクスチャを3Dモデルに張り付け、アニメーションを実行する
56
-
57
- ※様々な問題につき、どうしてもテクスチャを決めるのはC++である必要があります。
58
-
59
-
60
-
61
- C++とUnityはスペースキーを押すと、同時に実行されるものになります。
62
-
63
-
64
-
65
- 流れは
66
-
67
- C++:テクスチャを書き出す(CSVファイル)
68
-
69
- Unity:テクスチャを読み込み、適応
70
-
71
-
72
-
73
- これを繰り返すことになります。
74
-
75
- unityが建てたフラグをC++でリアルタイムに確認することはできました。
76
-
77
- しかし、逆になるとできません。
78
-
79
-
80
-
81
- なにか対処方法はないでしょうか。
82
-
83
-
84
-
85
- ### 発生している問題・エラーメッセージ
86
-
87
-
88
-
89
- unity側にて、該当するcsvファイルが見つからないとエラーが出ます。
90
-
91
- (C++側では出力済み)
92
-
93
- どうやら、リアルタイムでAssets/Resource/CSVが更新されていないため、ファイルがないと言われているようです。
94
-
95
- 一度デバックをやめるとCSVフォルダ内にcsvファイルが入り、次に実行したとき、前回出力されたものが適応されます。
96
-
97
-
98
-
99
- ### 該当のソースコード
100
-
101
-
102
-
103
- ```Cpp
104
-
105
- int main(){
106
-
107
- int i = 0;
108
-
109
- char fop[100];
110
-
111
- char fop2[100];
112
-
113
- char fip[100];
114
-
115
- int flag = 0;
116
-
117
-
118
-
119
- sprintf(fop, "Assets\Resources\CSV\coordinate.csv");
120
-
121
- sprintf(fop2, "Assets\Resources\CSV\set.csv");
122
-
123
- sprintf(fip, "test.csv");
124
-
125
-
126
-
127
- while (i < 5){
128
-
129
- if (GetAsyncKeyState(VK_SPACE)){
130
-
131
- for (int j = 0; j < 5; j++){
132
-
133
- /*ファイルオープン*/
134
-
135
- if ((fo = fopen(fop, "w")) == NULL){
136
-
137
- printf("ファイルオープン失敗\n");
138
-
139
- exit(-1);
140
-
141
- }
142
-
143
- fprintf(fo, "%d, %d, %d, %d, %d", 1, 2, 3, 4, 5);
144
-
145
- printf("コーディネートの出力\n");
146
-
147
- fclose(fo);
148
-
149
- }
150
-
151
- i++;
152
-
153
- }
154
-
155
- }
156
-
157
-
158
-
159
- printf("終了\n");
160
-
161
-
162
-
163
- return 0;
164
-
165
- }
166
-
167
- ```
168
-
169
- ```Unity
170
-
171
- using System.Collections;
172
-
173
- using System.Collections.Generic;
174
-
175
- using UnityEngine;
176
-
177
- using System;
178
-
179
- using System.IO;
180
-
181
- using System.Text;
182
-
183
-
184
-
185
- public class nowloading : MonoBehaviour {
186
-
187
-
188
-
189
- int count;
190
-
191
- private TextAsset csvFile;
192
-
193
- private List<string[]> csvDatas = new List<string[]>();
194
-
195
-
196
-
197
- // Use this for initialization
198
-
199
- void Start () {
200
-
201
-
202
-
203
- }
204
-
205
-
206
-
207
- // Update is called once per frame
208
-
209
- void Update () {
210
-
211
- if (Input.anyKeyDown)
212
-
213
- {
214
-
215
- StartCoroutine("nowload");
216
-
217
- }
218
-
219
- }
220
-
221
-
222
-
223
- IEnumerator nowload()
224
-
225
- {
226
-
227
- for (count = 0; count < 5; count++)
228
-
229
- {
230
-
231
- yield return new WaitForSeconds(3);
232
-
233
-        /* テクスチャの読み込み */
234
-
235
- String fn = "CSV/coordinate";
236
-
237
- csvFile = Resources.Load(fn) as TextAsset;
238
-
239
- StringReader reader = new StringReader(csvFile.text);
240
-
241
-
242
-
243
- while (reader.Peek() > -1)
244
-
245
- {
246
-
247
- string line = reader.ReadLine();
248
-
249
- csvDatas.Add(line.Split(','));
250
-
251
- }
252
-
253
-
254
-
255
- Debug.Log("コーディネート:" + csvDatas[0][0] + " " + csvDatas[0][1] + " " + csvDatas[0][2] + " " + csvDatas[0][3] + " " + csvDatas[0][4] + " ");
256
-
257
- }
258
-
259
- }
260
-
261
- }
262
-
263
-
264
-
265
- ```
266
-
267
- ### 試したこと
268
-
269
-
270
-
271
223
  あらかじめ初期値をいれたファイルを用意して、上書きをするようにしてみましたが、初期値のままテクスチャが貼り付けられました。