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

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

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

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

Unity

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

1279閲覧

UnityEngine.Color[] をflort[]に変化する方法はありませんか?

Flan.

総合スコア123

C#

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

Unity

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/05/05 07:50

編集2020/05/05 07:54

前に質問したコードと同じものですが

前はこのようにしてたのですが重い+1次元の配列になる

c#

1 //車載カメラの映像を取得 2 CollectVideo(); 3 var cols = targetTexture.GetPixels(); 4 foreach (var col in cols) 5 { 6 //カメラの映像を入力 7 sensor.AddObservation(col.b); 8 sensor.AddObservation(col.r); 9 sensor.AddObservation(col.g); 10 11 }

縦*横*RGB もしくは 縦*横*RGBA のflort[]の配列で
AddObservationに一回で突っ込みたいんですが
UnityEngine.Color[] をflort[]に変化する方法はありませんか?
RGBをVectar3に突っ込むのでも問題はないんですが

AddObservationは10進数にする必要があります
flort vectar3
試したこと
やった限りでは var cols = targetTexture.GetPixels();にしないと
なぜかエラーが出ます

https://teratail.com/questions/257988で言われた内容では
なかなかうまくいきませんでした なので質問しなおしてます

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

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

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

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

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

guest

回答1

0

ベストアンサー

Colorのr,g,b,aはfloatです。新しい配列を作り、その中にデータを入れていけばいいだけです。
あとは出来た配列を好きにAddObservationに渡してください。
(雑な書き方なので考え方の参考にしてください)

C#

1Color[] cols = targetTexture.GetPixels(); 2 3// floatの場合 4float[] nums = new float [cols.Length * 3]; 5int i = 0; 6foreach (Color col in cols) { 7 nums[i] = col.r; 8 nums[i+1] = col.g; 9 nums[i+2] = col.b; 10 i += 3; 11} 12 13// Vector3の場合 14Vector3[] vecs = new Vector3 [cols.Length]; 15int j = 0; 16foreach (Color col in cols) { 17 nums[j] = new Vector3(col.r, col.g, col.b); 18 j += 1; 19}

「なかなかうまくいきませんでした」では何が起こっているのかさっぱり分かりません。
次回から「質問するときのヒント|teratail(テラテイル)」を参考に質問を記入してください。

投稿2020/05/05 08:43

sakura_hana

総合スコア11427

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問