前提・実現したいこと
ランダムに揺れる床の上に載った、CubeのX座標値をCSVファイルに出力したい。
発生している問題・エラーメッセージ
CSVファイルが書き出されずに困っています。
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Text; using System.IO; public class TransformLogger : MonoBehaviour { //Listの宣言 private List<string> Xdisplacement = new List<string>(); // Use this for initialization void Start() {} void FixedUpdate() { // transformを取得 Transform myTransform = this.transform; // ワールド座標を基準に、x座標を取得 Vector3 worldPos = myTransform.position; float x = worldPos.x; //文字列に変換 string dispX = x.ToString(); //Listに文字を追加 Xdisplacement.Add(dispX); } //保存処理 public void SaveCSV() { StreamWriter sw = new StreamWriter(Application.dataPath + "X-Displacement.csv", false, Encoding.GetEncoding("UTF-8")); // ヘッダー出力 string[] s1 = { "X-displacement", "(単位:m)" }; string s2 = string.Join(",", s1); sw.WriteLine(s2); // データ出力 sw.WriteLine(Xdisplacement); // StreamWriterを閉じる sw.Flush(); sw.Close(); } }
試したこと
文字列を変数に格納してCSVにまとめて出力しようとしたが、上手くいかなかった。
FixUpdate後にデータ出力を持ってきているのが理由かもしれないが、初心者すぎてこのやり方以外に見当がつかない。
補足情報(FW/ツールのバージョンなど)
Unity 2019.1.9f1
Visual Studio 2017 C#
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/21 03:58