質問編集履歴

1

試したことの追加

2023/05/17 23:58

投稿

fujigiwa
fujigiwa

スコア0

test CHANGED
File without changes
test CHANGED
@@ -4,6 +4,37 @@
4
4
  しかし、WebCamTextureで撮影した映像が上下反転しています。
5
5
  表示の上下を反転させるならスケールや回転を使用すれば上下反転できますが、
6
6
  キャプチャーした映像は上下逆のままです。
7
+ 以下の方法ではGameObjectが回転するだけで、Textureが回転しているわけではないので
8
+ キャプチャした「_cameraScreen.texture」は上下反転したままでした。
9
+
10
+ ```
11
+ //canvas中のrawImage
12
+ [SerializeField] private RawImage _cameraScreen = null;
13
+ // webカメラ表示テクスチャ
14
+ private WebCamTexture _webCam = null;
15
+
16
+ // Image rotationの初期値
17
+ private Vector3 _rotationVector = new Vector3(0f, 0f, 0f);
18
+
19
+ // 画像自体の向き
20
+ private Rect _defaultRect = new Rect(0f, 0f, 1f, 1f);
21
+ private Rect _flipedRect = new Rect(0f, 1f, 1f, -1f);
22
+
23
+ // RawImageのテクスチャにWebCamTextureのインスタンスを設定
24
+ _cameraScreen.texture = _webCam;
25
+
26
+ // 表示するRawImageを回転させる
27
+ Vector3 l_angles = _cameraScreen.GetComponent<RectTransform>().eulerAngles;
28
+ l_angles.z = -_webCam.videoRotationAngle;
29
+ _cameraScreen.GetComponent<RectTransform>().eulerAngles = l_angles;
30
+
31
+ // 映像のz軸を反転させる(逆さまにする)
32
+ _rotationVector.z = -_webCam.videoRotationAngle;
33
+ _cameraScreen.rectTransform.localEulerAngles = _rotationVector;
34
+
35
+ // 上下反転してしまっている画像はもとに戻す
36
+ _cameraScreen.uvRect = _webCam.videoVerticallyMirrored ? _flipedRect : _defaultRect;
37
+ ```
7
38
 
8
39
  そのためTexture自体の上下を反転させたいのですが、
9
40
  方法を教えてください。