前提・実現したいこと
Unityで、カメラにより表示している画像をクリックして、そのクリックしたピクセルの色情報を取得しようとしています。
発生している問題・エラーメッセージ
作成した関数がその画像をクリックしたときに動作するようEventtriggerを使いたいのですが、以下の画像のように動作させたい関数(GetPixels())が表示されません。
該当のソースコード
C#
1using UnityEngine; 2 3public class GetRenderTexturePixels : MonoBehaviour { 4 5 [SerializeField] 6 public RenderTexture _target; 7 8 public Color[] GetPixels() 9 { 10 // アクティブなレンダーテクスチャをキャッシュしておく 11 var currentRT = RenderTexture.active; 12 13 // アクティブなレンダーテクスチャを一時的にTargetに変更する 14 RenderTexture.active = _target; 15 16 // Texture2D.ReadPixels()によりアクティブなレンダーテクスチャのピクセル情報をテクスチャに格納する 17 var texture = new Texture2D(_target.width, _target.height); 18 texture.ReadPixels(new Rect(0, 0, _target.width, _target.height), 0, 0); 19 texture.Apply(); 20 21 // ピクセル情報を取得する 22 var colors = texture.GetPixels(); 23 24 Debug.Log(colors); 25 26 // アクティブなレンダーテクスチャを元に戻す 27 RenderTexture.active = currentRT; 28 29 return colors; 30 } 31}
試したこと
最初、関数の宣言をprivateで行っていたためpublicに変更してもう一度試しましたが表示されませんでした。この際、念の為一度Eventtriggerのコンポーネントを削除してから試しましたが駄目でした。
補足情報(FW/ツールのバージョンなど)
Unityのバージョンは2019.2.3f1,スクリプトはVisual Studio2015で作成しました。
ご教授のほどよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/21 09:05