質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

346閲覧

unityからpythonに数値を与えてグラフ化する方法

daityann

総合スコア7

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/12/13 02:21

初めまして。
GetLocalSpaceOrientations()の数値を( (0.0, 0.0, 0.0, 0.0) のクウォータ二オンが出力されますが数値として考えるため深く考えなくていいです。)

現在consoleの出力内容をテキストにしてからpythonで数値を統計化してと考えていたのですが、unityから直接できることを知り調べたのですがわからなくて止まっています。

またテキストに書き込むこともできていないため、プログラムが中途半端になっています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Enflux.SDK.Core;
using UnityEngine.UI;
using System;
using System.Linq;
using Enflux.Common.DataTypes;
using Enflux.SDK.Core.Devices;
using Enflux.SDK.DataTypes;
using Enflux.SDK.Extensions;
using Enflux.SDK.Utils;
using Enflux.Shim.Utils;
using System.IO;

public class math : MonoBehaviour
{
// Assign these in the editor.
public EnfluxManager EnfluxManager;
public Humanoid Humanoid;
// Retrieve limb orientations as Unity local space quaternions.
private void GetLocalSpaceOrientations()
{
var chest = Humanoid.LocalOrientations.Chest.Orientation;
var leftUpperArm = Humanoid.LocalOrientations.LeftUpperArm.Orientation;
var leftLowerArm = Humanoid.LocalOrientations.LeftLowerArm.Orientation;
var rightUpperArm = Humanoid.LocalOrientations.RightUpperArm.Orientation;
var rightLowerArm = Humanoid.LocalOrientations.RightLowerArm.Orientation;
var pelvis = Humanoid.LocalOrientations.Pelvis.Orientation;
var leftUpperLeg = Humanoid.LocalOrientations.LeftUpperLeg.Orientation;
var leftLowerLeg = Humanoid.LocalOrientations.LeftLowerLeg.Orientation;
var rightUpperLeg = Humanoid.LocalOrientations.RightUpperLeg.Orientation;
var rightLowerLeg = Humanoid.LocalOrientations.RightLowerLeg.Orientation;
}

// Retrieve limb orientations as real world NED (North-East-Down) space quaternions. private string GetNedSpaceOrientations() { var chest = EnfluxManager.NedOrientations.Chest.Orientation; var leftUpperArm = EnfluxManager.NedOrientations.LeftUpperArm.Orientation; var leftLowerArm = EnfluxManager.NedOrientations.LeftLowerArm.Orientation; var rightUpperArm = EnfluxManager.NedOrientations.RightUpperArm.Orientation; var rightLowerArm = EnfluxManager.NedOrientations.RightLowerArm.Orientation; var pelvis = EnfluxManager.NedOrientations.Pelvis.Orientation; var leftUpperLeg = EnfluxManager.NedOrientations.LeftUpperLeg.Orientation; var leftLowerLeg = EnfluxManager.NedOrientations.LeftLowerLeg.Orientation; var rightUpperLeg = EnfluxManager.NedOrientations.RightUpperLeg.Orientation; var rightLowerLeg = EnfluxManager.NedOrientations.RightLowerLeg.Orientation; /* Debug.Log("胸 " + chest); Debug.Log("<color=blue>" + "左肘 " + leftUpperArm + "</color>"); Debug.Log("<color=blue>" + "左手首 " + leftLowerArm + "</color>"); Debug.Log("<color=red>" + "右肘 " + rightUpperArm + "</color>"); Debug.Log("<color=red>" + "右手首 " + rightLowerArm + "</color>"); */ return "胸 " + chest + "\n左肘 " + leftUpperArm + "\n左手首 " + leftLowerArm + "\n右肘 " + rightUpperArm + "\n右手首 " + rightLowerArm + "\n\n"+ "\n腰 " + pelvis + "\n左膝 " + leftUpperLeg + "\n左足首 " + leftLowerLeg + "\n右膝 " + rightUpperLeg + "\n右足首 " + rightLowerLeg; } void Start() { } private float timeleft; int log;

void Update()
{

timeleft -= Time.deltaTime; if (timeleft <= 0.0) { timeleft = 1.0f; log++; Debug.Log(GetNedSpaceOrientations()); this.GetComponent<Text>().text = GetNedSpaceOrientations(); }

}

/* public void logSave(int num, string txt) { StreamWriter sw; FileInfo fi; fi = new FileInfo(Application.dataPath + "/FileName.csv"); sw = fi.AppendText(); sw.WriteLine("test output"); sw.Flush(); sw.Close(); } */ public void textSave(float GetNedSpaceOrientations) { StreamWriter sw = new StreamWriter("../aaaaa.txt", true); //true=追記 false=上書き sw.WriteLine(GetNedSpaceOrientations); sw.Flush(); sw.Close(); }

}

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred
daityann

2017/12/13 03:17

必ずしもそのやり方でやりたいというわけではありませんが、卒業研究で先生からそのやり方でできるからやってみなさいと言われまして。難しい場合はcsvファイルにいったん落としてからpythonを使ったほうがいいですよね?
fiveHundred

2017/12/13 03:27

私もそのように思います。
daityann

2017/12/13 03:58

csvファイルにしようとして。この https://teratail.com/questions/92972 を引用して進めたいのですが書き出しできないのですが、どこを変更すればconsole内容を書き出せますか?すみません初歩的な質問で。
daityann

2017/12/13 04:02

すみませんできました。お手数かけます。
sakura_hana

2017/12/15 04:29

もし質問が解決したなら、どうやったら出来たのかを自己回答してください。まだ解決していない(一部分は出来た)のなら質問内容を編集してください。
daityann

2017/12/15 06:35

sw.WriteLine(stopwatch.Elapsed); の内容を変えるだけでいけました。
sakura_hana

2017/12/15 06:37

回答は回答欄に記入しましょう。(この欄は見ていない人もいます&未回答質問のままになってしまいます)
fiveHundred

2017/12/15 06:46

自己回答したら、その回答をベストアンサーにしておいてください(ベストアンサーにして初めて解決済みの質問として扱われます)。
guest

回答1

0

自己解決

sw.WriteLine(stopwatch.Elapsed); の内容を変えるだけでいけました。

投稿2017/12/19 15:54

daityann

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問