├── Assets
├── AVProWithOpenCVForUnityExample.meta
├── AVProWithOpenCVForUnityExample
│ ├── AVProLiveCameraAsyncGPUReadbackExample.meta
│ ├── AVProLiveCameraAsyncGPUReadbackExample
│ │ ├── AVProLiveCameraAsyncGPUReadbackExample.cs
│ │ ├── AVProLiveCameraAsyncGPUReadbackExample.cs.meta
│ │ ├── AVProLiveCameraAsyncGPUReadbackExample.unity
│ │ └── AVProLiveCameraAsyncGPUReadbackExample.unity.meta
│ ├── AVProLiveCameraGetFrameAsColor32Example.meta
│ ├── AVProLiveCameraGetFrameAsColor32Example
│ │ ├── AVProLiveCameraGetFrameAsColor32Example.cs
│ │ ├── AVProLiveCameraGetFrameAsColor32Example.cs.meta
│ │ ├── AVProLiveCameraGetFrameAsColor32Example.unity
│ │ └── AVProLiveCameraGetFrameAsColor32Example.unity.meta
│ ├── AVProVideoAsyncGPUReadbackExample.meta
│ ├── AVProVideoAsyncGPUReadbackExample
│ │ ├── AVProVideoAsyncGPUReadbackExample.cs
│ │ ├── AVProVideoAsyncGPUReadbackExample.cs.meta
│ │ ├── AVProVideoAsyncGPUReadbackExample.unity
│ │ └── AVProVideoAsyncGPUReadbackExample.unity.meta
│ ├── AVProVideoExtractFrameExample.meta
│ ├── AVProVideoExtractFrameExample
│ │ ├── AVProVideoExtractFrameExample.cs
│ │ ├── AVProVideoExtractFrameExample.cs.meta
│ │ ├── AVProVideoExtractFrameExample.unity
│ │ └── AVProVideoExtractFrameExample.unity.meta
│ ├── AVProVideoGetReadableTextureExample.meta
│ ├── AVProVideoGetReadableTextureExample
│ │ ├── AVProVideoGetReadableTextureExample.cs
│ │ ├── AVProVideoGetReadableTextureExample.cs.meta
│ │ ├── AVProVideoGetReadableTextureExample.unity
│ │ └── AVProVideoGetReadableTextureExample.unity.meta
│ ├── AVProWithOpenCVForUnityExample.cs
│ ├── AVProWithOpenCVForUnityExample.cs.meta
│ ├── AVProWithOpenCVForUnityExample.unity
│ ├── AVProWithOpenCVForUnityExample.unity.meta
│ ├── LoadingIcon.png
│ ├── LoadingIcon.png.meta
│ ├── Materials.meta
│ ├── Materials
│ │ ├── ExampleMaterial.mat
│ │ └── ExampleMaterial.mat.meta
│ ├── Scripts.meta
│ ├── Scripts
│ │ ├── Utils.meta
│ │ └── Utils
│ │ │ ├── FpsMonitor.cs
│ │ │ └── FpsMonitor.cs.meta
│ ├── ShowLicense.cs
│ ├── ShowLicense.cs.meta
│ ├── ShowLicense.unity
│ └── ShowLicense.unity.meta
├── StreamingAssets.meta
└── StreamingAssets
│ ├── AVProWithOpenCVForUnityExample.meta
│ └── AVProWithOpenCVForUnityExample
│ ├── BigBuckBunny_720p30.mp4
│ └── BigBuckBunny_720p30.mp4.meta
├── README.md
└── ScreenShot.PNG
/Assets/AVProWithOpenCVForUnityExample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d7b8772dfe0de4c40b1a3339297d65dd
3 | folderAsset: yes
4 | timeCreated: 1471094109
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProLiveCameraAsyncGPUReadbackExample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5b52f79706bd5bb4ea572b87e9fedf93
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProLiveCameraAsyncGPUReadbackExample/AVProLiveCameraAsyncGPUReadbackExample.cs:
--------------------------------------------------------------------------------
1 | using OpenCVForUnity.CoreModule;
2 | using OpenCVForUnity.ImgprocModule;
3 | using OpenCVForUnity.UnityUtils;
4 | using RenderHeads.Media.AVProLiveCamera;
5 | using UnityEngine;
6 | using UnityEngine.Experimental.Rendering;
7 | using UnityEngine.Rendering;
8 | using UnityEngine.SceneManagement;
9 | using UnityEngine.UI;
10 |
11 | namespace AVProWithOpenCVForUnityExample
12 | {
13 | ///
14 | /// AVProLiveCamera AsyncGPUReadback Example
15 | /// An example of converting an AVProLiveCamera image frame to an OpenCV Mat using AsyncGPUReadback.
16 | ///
17 | public class AVProLiveCameraAsyncGPUReadbackExample : MonoBehaviour
18 | {
19 | public AVProLiveCamera _camera;
20 | private AVProLiveCameraDevice _device;
21 |
22 | private int _frameWidth;
23 | private int _frameHeight;
24 | private uint _lastFrame;
25 |
26 | private bool _graphicsFormatIsFormatSupported;
27 |
28 | ///
29 | /// The texture.
30 | ///
31 | Texture2D texture;
32 |
33 | ///
34 | /// The rgba mat.
35 | ///
36 | Mat rgbaMat;
37 |
38 | ///
39 | /// The m sepia kernel.
40 | ///
41 | Mat mSepiaKernel;
42 |
43 | ///
44 | /// The m size0.
45 | ///
46 | Size mSize0;
47 |
48 | ///
49 | /// The m intermediate mat.
50 | ///
51 | Mat mIntermediateMat;
52 |
53 | public enum modeType
54 | {
55 | original,
56 | sepia,
57 | pixelize,
58 | }
59 |
60 | ///
61 | /// The mode.
62 | ///
63 | modeType mode;
64 |
65 |
66 | ///
67 | /// The original mode toggle.
68 | ///
69 | public Toggle originalModeToggle;
70 |
71 |
72 | ///
73 | /// The sepia mode toggle.
74 | ///
75 | public Toggle sepiaModeToggle;
76 |
77 |
78 | ///
79 | /// The pixelize mode toggle.
80 | ///
81 | public Toggle pixelizeModeToggle;
82 |
83 | // Use this for initialization
84 | void Start()
85 | {
86 | if (originalModeToggle.isOn)
87 | {
88 | mode = modeType.original;
89 | }
90 | if (sepiaModeToggle.isOn)
91 | {
92 | mode = modeType.sepia;
93 | }
94 | if (pixelizeModeToggle.isOn)
95 | {
96 | mode = modeType.pixelize;
97 | }
98 |
99 | // sepia
100 | mSepiaKernel = new Mat(4, 4, CvType.CV_32F);
101 | mSepiaKernel.put(0, 0, /* R */0.189f, 0.769f, 0.393f, 0f);
102 | mSepiaKernel.put(1, 0, /* G */0.168f, 0.686f, 0.349f, 0f);
103 | mSepiaKernel.put(2, 0, /* B */0.131f, 0.534f, 0.272f, 0f);
104 | mSepiaKernel.put(3, 0, /* A */0.000f, 0.000f, 0.000f, 1f);
105 |
106 |
107 | // pixelize
108 | mIntermediateMat = new Mat();
109 | mSize0 = new Size();
110 | }
111 |
112 | void Update()
113 | {
114 | if (_camera != null)
115 | _device = _camera.Device;
116 |
117 | if (_device != null && _device.IsActive && !_device.IsPaused && _device.OutputTexture != null)
118 | {
119 | if (_device.CurrentWidth != _frameWidth || _device.CurrentHeight != _frameHeight)
120 | {
121 | CreateBuffer(_device.CurrentWidth, _device.CurrentHeight);
122 | }
123 |
124 | uint lastFrame = AVProLiveCameraPlugin.GetLastFrame(_device.DeviceIndex);
125 |
126 | // Reset _lastFrame at the timing when the camera is reset.
127 | if (lastFrame < _lastFrame)
128 | _lastFrame = 0;
129 |
130 | if (lastFrame != _lastFrame)
131 | {
132 | _lastFrame = lastFrame;
133 |
134 | //Debug.Log("FrameReady " + lastFrame);
135 |
136 | if (_graphicsFormatIsFormatSupported)
137 | {
138 | AsyncGPUReadback.Request(_device.OutputTexture, 0, TextureFormat.RGBA32, (request) => { OnCompleteReadback(request, lastFrame); });
139 | }
140 | }
141 | }
142 | }
143 |
144 | void OnCompleteReadback(AsyncGPUReadbackRequest request, long frameIndex)
145 | {
146 |
147 | if (request.hasError)
148 | {
149 | Debug.Log("GPU readback error detected. " + frameIndex);
150 |
151 | }
152 | else if (request.done)
153 | {
154 | //Debug.Log("Start GPU readback done. "+frameIndex);
155 |
156 | //Debug.Log("Thread.CurrentThread.ManagedThreadId " + Thread.CurrentThread.ManagedThreadId);
157 |
158 | MatUtils.copyToMat(request.GetData(), rgbaMat);
159 |
160 | Core.flip(rgbaMat, rgbaMat, 0);
161 |
162 |
163 | if (mode == modeType.original)
164 | {
165 |
166 | }
167 | else if (mode == modeType.sepia)
168 | {
169 |
170 | Core.transform(rgbaMat, rgbaMat, mSepiaKernel);
171 |
172 | }
173 | else if (mode == modeType.pixelize)
174 | {
175 |
176 | Imgproc.resize(rgbaMat, mIntermediateMat, mSize0, 0.1, 0.1, Imgproc.INTER_NEAREST);
177 | Imgproc.resize(mIntermediateMat, rgbaMat, rgbaMat.size(), 0.0, 0.0, Imgproc.INTER_NEAREST);
178 |
179 | }
180 |
181 |
182 | Imgproc.putText(rgbaMat, "AVPro With OpenCV for Unity Example", new Point(50, rgbaMat.rows() / 2), Imgproc.FONT_HERSHEY_SIMPLEX, 2.0, new Scalar(255, 0, 0, 255), 5, Imgproc.LINE_AA, false);
183 | Imgproc.putText(rgbaMat, "W:" + rgbaMat.width() + " H:" + rgbaMat.height() + " SO:" + Screen.orientation, new Point(5, rgbaMat.rows() - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar(255, 255, 255, 255), 2, Imgproc.LINE_AA, false);
184 |
185 | //Convert Mat to Texture2D
186 | Utils.matToTexture2D(rgbaMat, texture);
187 |
188 | //Debug.Log("End GPU readback done. " + frameIndex);
189 |
190 | }
191 | }
192 |
193 | private void CreateBuffer(int width, int height)
194 | {
195 | _frameWidth = width;
196 | _frameHeight = height;
197 |
198 | texture = new Texture2D(_frameWidth, _frameHeight, TextureFormat.RGBA32, false, false);
199 |
200 | rgbaMat = new Mat(texture.height, texture.width, CvType.CV_8UC4);
201 |
202 |
203 | gameObject.GetComponent().material.mainTexture = texture;
204 |
205 | gameObject.transform.localScale = new Vector3(texture.width, texture.height, 1);
206 | Debug.Log("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
207 |
208 | float widthScale = (float)Screen.width / width;
209 | float heightScale = (float)Screen.height / height;
210 | if (widthScale < heightScale)
211 | {
212 | Camera.main.orthographicSize = (width * (float)Screen.height / (float)Screen.width) / 2;
213 | }
214 | else
215 | {
216 | Camera.main.orthographicSize = height / 2;
217 | }
218 |
219 |
220 | _graphicsFormatIsFormatSupported = SystemInfo.IsFormatSupported(_device.OutputTexture.graphicsFormat, FormatUsage.ReadPixels);
221 |
222 | if (!_graphicsFormatIsFormatSupported)
223 | {
224 | Imgproc.rectangle(rgbaMat, new OpenCVForUnity.CoreModule.Rect(0, 0, rgbaMat.width(), rgbaMat.height()), new Scalar(0, 0, 0, 255), -1);
225 | Imgproc.putText(rgbaMat, _device.OutputTexture.graphicsFormat + " is not supported for AsyncGPUReadback.", new Point(5, rgbaMat.rows() - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar(255, 255, 255, 255), 2, Imgproc.LINE_AA, false);
226 |
227 | Utils.matToTexture2D(rgbaMat, texture);
228 | }
229 | }
230 |
231 | private void FreeBuffer()
232 | {
233 | if (texture)
234 | {
235 | Texture2D.DestroyImmediate(texture);
236 | texture = null;
237 | }
238 |
239 | if (rgbaMat != null)
240 | rgbaMat.Dispose();
241 | }
242 |
243 | void OnDestroy()
244 | {
245 | AsyncGPUReadback.WaitAllRequests();
246 |
247 | FreeBuffer();
248 |
249 | if (mSepiaKernel != null)
250 | {
251 | mSepiaKernel.Dispose();
252 | mSepiaKernel = null;
253 | }
254 |
255 | if (mIntermediateMat != null)
256 | {
257 | mIntermediateMat.Dispose();
258 | mIntermediateMat = null;
259 | }
260 | }
261 |
262 | ///
263 | /// Raises the back button event.
264 | ///
265 | public void OnBackButton()
266 | {
267 | SceneManager.LoadScene("AVProWithOpenCVForUnityExample");
268 | }
269 |
270 | ///
271 | /// Raises the original mode toggle event.
272 | ///
273 | public void OnOriginalModeToggle()
274 | {
275 |
276 | if (originalModeToggle.isOn)
277 | {
278 | mode = modeType.original;
279 | }
280 | }
281 |
282 | ///
283 | /// Raises the sepia mode toggle event.
284 | ///
285 | public void OnSepiaModeToggle()
286 | {
287 |
288 | if (sepiaModeToggle.isOn)
289 | {
290 | mode = modeType.sepia;
291 | }
292 | }
293 |
294 | ///
295 | /// Raises the pixelize mode toggle event.
296 | ///
297 | public void OnPixelizeModeToggle()
298 | {
299 |
300 | if (pixelizeModeToggle.isOn)
301 | {
302 | mode = modeType.pixelize;
303 | }
304 | }
305 | }
306 | }
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProLiveCameraAsyncGPUReadbackExample/AVProLiveCameraAsyncGPUReadbackExample.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ae6d1a212fa0cb248abfc1d1429d3bfb
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProLiveCameraAsyncGPUReadbackExample/AVProLiveCameraAsyncGPUReadbackExample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c952e8d11b5d4124baa50fddd200d843
3 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProLiveCameraGetFrameAsColor32Example.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7beca3352f1757740a94c68b7455327a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProLiveCameraGetFrameAsColor32Example/AVProLiveCameraGetFrameAsColor32Example.cs:
--------------------------------------------------------------------------------
1 | using OpenCVForUnity.CoreModule;
2 | using OpenCVForUnity.ImgprocModule;
3 | using OpenCVForUnity.UnityUtils;
4 | using RenderHeads.Media.AVProLiveCamera;
5 | using System.Runtime.InteropServices;
6 | using UnityEngine;
7 | using UnityEngine.SceneManagement;
8 | using UnityEngine.UI;
9 |
10 | namespace AVProWithOpenCVForUnityExample
11 | {
12 | ///
13 | /// AVProLiveCamera GetFrameAsColor32 Example
14 | /// An example of converting an AVProLiveCamera image frame to an OpenCV Mat using GetFrameAsColor32.
15 | ///
16 | public class AVProLiveCameraGetFrameAsColor32Example : MonoBehaviour
17 | {
18 | public AVProLiveCamera _camera;
19 | private AVProLiveCameraDevice _device;
20 |
21 | private Color32[] _frameData;
22 | private int _frameWidth;
23 | private int _frameHeight;
24 | private GCHandle _frameHandle;
25 | private System.IntPtr _framePointer;
26 | private uint _lastFrame;
27 |
28 | ///
29 | /// The texture.
30 | ///
31 | Texture2D texture;
32 |
33 | ///
34 | /// The rgba mat.
35 | ///
36 | Mat rgbaMat;
37 |
38 | ///
39 | /// The m sepia kernel.
40 | ///
41 | Mat mSepiaKernel;
42 |
43 | ///
44 | /// The m size0.
45 | ///
46 | Size mSize0;
47 |
48 | ///
49 | /// The m intermediate mat.
50 | ///
51 | Mat mIntermediateMat;
52 |
53 | public enum modeType
54 | {
55 | original,
56 | sepia,
57 | pixelize,
58 | }
59 |
60 | ///
61 | /// The mode.
62 | ///
63 | modeType mode;
64 |
65 |
66 | ///
67 | /// The original mode toggle.
68 | ///
69 | public Toggle originalModeToggle;
70 |
71 |
72 | ///
73 | /// The sepia mode toggle.
74 | ///
75 | public Toggle sepiaModeToggle;
76 |
77 |
78 | ///
79 | /// The pixelize mode toggle.
80 | ///
81 | public Toggle pixelizeModeToggle;
82 |
83 | // Use this for initialization
84 | void Start()
85 | {
86 | if (originalModeToggle.isOn)
87 | {
88 | mode = modeType.original;
89 | }
90 | if (sepiaModeToggle.isOn)
91 | {
92 | mode = modeType.sepia;
93 | }
94 | if (pixelizeModeToggle.isOn)
95 | {
96 | mode = modeType.pixelize;
97 | }
98 |
99 | // sepia
100 | mSepiaKernel = new Mat(4, 4, CvType.CV_32F);
101 | mSepiaKernel.put(0, 0, /* R */0.189f, 0.769f, 0.393f, 0f);
102 | mSepiaKernel.put(1, 0, /* G */0.168f, 0.686f, 0.349f, 0f);
103 | mSepiaKernel.put(2, 0, /* B */0.131f, 0.534f, 0.272f, 0f);
104 | mSepiaKernel.put(3, 0, /* A */0.000f, 0.000f, 0.000f, 1f);
105 |
106 |
107 | // pixelize
108 | mIntermediateMat = new Mat();
109 | mSize0 = new Size();
110 | }
111 |
112 | void Update()
113 | {
114 | if (_camera != null)
115 | _device = _camera.Device;
116 |
117 | if (_device != null && _device.IsActive && !_device.IsPaused)
118 | {
119 | if (_device.CurrentWidth != _frameWidth || _device.CurrentHeight != _frameHeight)
120 | {
121 | CreateBuffer(_device.CurrentWidth, _device.CurrentHeight);
122 | }
123 |
124 | uint lastFrame = AVProLiveCameraPlugin.GetLastFrame(_device.DeviceIndex);
125 |
126 | // Reset _lastFrame at the timing when the camera is reset.
127 | if (lastFrame < _lastFrame)
128 | _lastFrame = 0;
129 |
130 | if (lastFrame != _lastFrame)
131 | {
132 | _lastFrame = lastFrame;
133 |
134 | bool result = AVProLiveCameraPlugin.GetFrameAsColor32(_device.DeviceIndex, _framePointer, _frameWidth, _frameHeight);
135 |
136 | if (result)
137 | {
138 |
139 | MatUtils.copyToMat(_frameData, rgbaMat);
140 |
141 |
142 | if (mode == modeType.original)
143 | {
144 |
145 | }
146 | else if (mode == modeType.sepia)
147 | {
148 |
149 | Core.transform(rgbaMat, rgbaMat, mSepiaKernel);
150 |
151 | }
152 | else if (mode == modeType.pixelize)
153 | {
154 |
155 | Imgproc.resize(rgbaMat, mIntermediateMat, mSize0, 0.1, 0.1, Imgproc.INTER_NEAREST);
156 | Imgproc.resize(mIntermediateMat, rgbaMat, rgbaMat.size(), 0.0, 0.0, Imgproc.INTER_NEAREST);
157 |
158 | }
159 |
160 |
161 | Imgproc.putText(rgbaMat, "AVPro With OpenCV for Unity Example", new Point(50, rgbaMat.rows() / 2), Imgproc.FONT_HERSHEY_SIMPLEX, 2.0, new Scalar(255, 0, 0, 255), 5, Imgproc.LINE_AA, false);
162 | Imgproc.putText(rgbaMat, "W:" + rgbaMat.width() + " H:" + rgbaMat.height() + " SO:" + Screen.orientation, new Point(5, rgbaMat.rows() - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar(255, 255, 255, 255), 2, Imgproc.LINE_AA, false);
163 |
164 | //Convert Mat to Texture2D
165 | Utils.matToTexture2D(rgbaMat, texture);
166 |
167 | }
168 | }
169 | }
170 | }
171 |
172 | private void CreateBuffer(int width, int height)
173 | {
174 | // Free buffer if it's diffarent size
175 | if (_frameHandle.IsAllocated && _frameData != null)
176 | {
177 | if (_frameData.Length != width * height)
178 | {
179 | FreeBuffer();
180 | }
181 | }
182 |
183 | if (_frameData == null)
184 | {
185 | _frameWidth = width;
186 | _frameHeight = height;
187 | _frameData = new Color32[_frameWidth * _frameHeight];
188 | _frameHandle = GCHandle.Alloc(_frameData, GCHandleType.Pinned);
189 | _framePointer = _frameHandle.AddrOfPinnedObject();
190 |
191 | texture = new Texture2D(_frameWidth, _frameHeight, TextureFormat.RGBA32, false, false);
192 |
193 | rgbaMat = new Mat(texture.height, texture.width, CvType.CV_8UC4);
194 |
195 |
196 | gameObject.GetComponent().material.mainTexture = texture;
197 |
198 | gameObject.transform.localScale = new Vector3(texture.width, texture.height, 1);
199 | Debug.Log("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
200 |
201 | float widthScale = (float)Screen.width / width;
202 | float heightScale = (float)Screen.height / height;
203 | if (widthScale < heightScale)
204 | {
205 | Camera.main.orthographicSize = (width * (float)Screen.height / (float)Screen.width) / 2;
206 | }
207 | else
208 | {
209 | Camera.main.orthographicSize = height / 2;
210 | }
211 |
212 | }
213 | }
214 |
215 | private void FreeBuffer()
216 | {
217 | if (_frameHandle.IsAllocated)
218 | {
219 | _framePointer = System.IntPtr.Zero;
220 | _frameHandle.Free();
221 | _frameData = null;
222 | }
223 |
224 | if (texture)
225 | {
226 | Texture2D.DestroyImmediate(texture);
227 | texture = null;
228 | }
229 |
230 | if (rgbaMat != null)
231 | rgbaMat.Dispose();
232 | }
233 |
234 | void OnDestroy()
235 | {
236 | FreeBuffer();
237 |
238 | if (mSepiaKernel != null)
239 | {
240 | mSepiaKernel.Dispose();
241 | mSepiaKernel = null;
242 | }
243 |
244 | if (mIntermediateMat != null)
245 | {
246 | mIntermediateMat.Dispose();
247 | mIntermediateMat = null;
248 | }
249 | }
250 |
251 | ///
252 | /// Raises the back button event.
253 | ///
254 | public void OnBackButton()
255 | {
256 | SceneManager.LoadScene("AVProWithOpenCVForUnityExample");
257 | }
258 |
259 | ///
260 | /// Raises the original mode toggle event.
261 | ///
262 | public void OnOriginalModeToggle()
263 | {
264 |
265 | if (originalModeToggle.isOn)
266 | {
267 | mode = modeType.original;
268 | }
269 | }
270 |
271 | ///
272 | /// Raises the sepia mode toggle event.
273 | ///
274 | public void OnSepiaModeToggle()
275 | {
276 |
277 | if (sepiaModeToggle.isOn)
278 | {
279 | mode = modeType.sepia;
280 | }
281 | }
282 |
283 | ///
284 | /// Raises the pixelize mode toggle event.
285 | ///
286 | public void OnPixelizeModeToggle()
287 | {
288 |
289 | if (pixelizeModeToggle.isOn)
290 | {
291 | mode = modeType.pixelize;
292 | }
293 | }
294 | }
295 | }
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProLiveCameraGetFrameAsColor32Example/AVProLiveCameraGetFrameAsColor32Example.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 50481e624086a834188f8f07111ac0c5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProLiveCameraGetFrameAsColor32Example/AVProLiveCameraGetFrameAsColor32Example.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | OcclusionCullingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_OcclusionBakeSettings:
8 | smallestOccluder: 5
9 | smallestHole: 0.25
10 | backfaceThreshold: 100
11 | m_SceneGUID: 00000000000000000000000000000000
12 | m_OcclusionCullingData: {fileID: 0}
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_ObjectHideFlags: 0
16 | serializedVersion: 9
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
24 | m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
25 | m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 3
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 0
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 0}
41 | m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
42 | m_UseRadianceAmbientProbe: 0
43 | --- !u!157 &4
44 | LightmapSettings:
45 | m_ObjectHideFlags: 0
46 | serializedVersion: 12
47 | m_GIWorkflowMode: 1
48 | m_GISettings:
49 | serializedVersion: 2
50 | m_BounceScale: 1
51 | m_IndirectOutputScale: 1
52 | m_AlbedoBoost: 1
53 | m_EnvironmentLightingMode: 0
54 | m_EnableBakedLightmaps: 1
55 | m_EnableRealtimeLightmaps: 0
56 | m_LightmapEditorSettings:
57 | serializedVersion: 12
58 | m_Resolution: 1
59 | m_BakeResolution: 50
60 | m_AtlasSize: 1024
61 | m_AO: 1
62 | m_AOMaxDistance: 1
63 | m_CompAOExponent: 1
64 | m_CompAOExponentDirect: 0
65 | m_ExtractAmbientOcclusion: 0
66 | m_Padding: 2
67 | m_LightmapParameters: {fileID: 0}
68 | m_LightmapsBakeMode: 1
69 | m_TextureCompression: 0
70 | m_FinalGather: 0
71 | m_FinalGatherFiltering: 1
72 | m_FinalGatherRayCount: 256
73 | m_ReflectionCompression: 2
74 | m_MixedBakeMode: 1
75 | m_BakeBackend: 0
76 | m_PVRSampling: 1
77 | m_PVRDirectSampleCount: 32
78 | m_PVRSampleCount: 512
79 | m_PVRBounces: 2
80 | m_PVREnvironmentSampleCount: 512
81 | m_PVREnvironmentReferencePointCount: 2048
82 | m_PVRFilteringMode: 0
83 | m_PVRDenoiserTypeDirect: 0
84 | m_PVRDenoiserTypeIndirect: 0
85 | m_PVRDenoiserTypeAO: 0
86 | m_PVRFilterTypeDirect: 0
87 | m_PVRFilterTypeIndirect: 0
88 | m_PVRFilterTypeAO: 0
89 | m_PVREnvironmentMIS: 0
90 | m_PVRCulling: 1
91 | m_PVRFilteringGaussRadiusDirect: 1
92 | m_PVRFilteringGaussRadiusIndirect: 5
93 | m_PVRFilteringGaussRadiusAO: 2
94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
96 | m_PVRFilteringAtrousPositionSigmaAO: 1
97 | m_ExportTrainingData: 0
98 | m_TrainingDataDestination: TrainingData
99 | m_LightProbeSampleCountMultiplier: 4
100 | m_LightingDataAsset: {fileID: 0}
101 | m_LightingSettings: {fileID: 557148258}
102 | --- !u!1 &5
103 | GameObject:
104 | m_ObjectHideFlags: 0
105 | m_CorrespondingSourceObject: {fileID: 0}
106 | m_PrefabInstance: {fileID: 0}
107 | m_PrefabAsset: {fileID: 0}
108 | serializedVersion: 6
109 | m_Component:
110 | - component: {fileID: 6}
111 | - component: {fileID: 7}
112 | - component: {fileID: 8}
113 | m_Layer: 0
114 | m_Name: Main Camera
115 | m_TagString: MainCamera
116 | m_Icon: {fileID: 0}
117 | m_NavMeshLayer: 0
118 | m_StaticEditorFlags: 0
119 | m_IsActive: 1
120 | --- !u!4 &6
121 | Transform:
122 | m_ObjectHideFlags: 0
123 | m_CorrespondingSourceObject: {fileID: 0}
124 | m_PrefabInstance: {fileID: 0}
125 | m_PrefabAsset: {fileID: 0}
126 | m_GameObject: {fileID: 5}
127 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
128 | m_LocalPosition: {x: 0, y: 1, z: -10}
129 | m_LocalScale: {x: 1, y: 1, z: 1}
130 | m_Children: []
131 | m_Father: {fileID: 0}
132 | m_RootOrder: 1
133 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
134 | --- !u!20 &7
135 | Camera:
136 | m_ObjectHideFlags: 0
137 | m_CorrespondingSourceObject: {fileID: 0}
138 | m_PrefabInstance: {fileID: 0}
139 | m_PrefabAsset: {fileID: 0}
140 | m_GameObject: {fileID: 5}
141 | m_Enabled: 1
142 | serializedVersion: 2
143 | m_ClearFlags: 2
144 | m_BackGroundColor: {r: 0.089663595, g: 0.09542459, b: 0.104477584, a: 0.019607844}
145 | m_projectionMatrixMode: 1
146 | m_GateFitMode: 2
147 | m_FOVAxisMode: 0
148 | m_SensorSize: {x: 36, y: 24}
149 | m_LensShift: {x: 0, y: 0}
150 | m_FocalLength: 50
151 | m_NormalizedViewPortRect:
152 | serializedVersion: 2
153 | x: 0
154 | y: 0
155 | width: 1
156 | height: 1
157 | near clip plane: 0.3
158 | far clip plane: 1000
159 | field of view: 60
160 | orthographic: 1
161 | orthographic size: 360
162 | m_Depth: -1
163 | m_CullingMask:
164 | serializedVersion: 2
165 | m_Bits: 4294967295
166 | m_RenderingPath: -1
167 | m_TargetTexture: {fileID: 0}
168 | m_TargetDisplay: 0
169 | m_TargetEye: 3
170 | m_HDR: 0
171 | m_AllowMSAA: 1
172 | m_AllowDynamicResolution: 0
173 | m_ForceIntoRT: 0
174 | m_OcclusionCulling: 1
175 | m_StereoConvergence: 10
176 | m_StereoSeparation: 0.022
177 | --- !u!81 &8
178 | AudioListener:
179 | m_ObjectHideFlags: 0
180 | m_CorrespondingSourceObject: {fileID: 0}
181 | m_PrefabInstance: {fileID: 0}
182 | m_PrefabAsset: {fileID: 0}
183 | m_GameObject: {fileID: 5}
184 | m_Enabled: 1
185 | --- !u!196 &14
186 | NavMeshSettings:
187 | serializedVersion: 2
188 | m_ObjectHideFlags: 0
189 | m_BuildSettings:
190 | serializedVersion: 2
191 | agentTypeID: 0
192 | agentRadius: 0.5
193 | agentHeight: 2
194 | agentSlope: 45
195 | agentClimb: 0.4
196 | ledgeDropHeight: 0
197 | maxJumpAcrossDistance: 0
198 | minRegionArea: 2
199 | manualCellSize: 0
200 | cellSize: 0.16666666
201 | manualTileSize: 0
202 | tileSize: 256
203 | accuratePlacement: 0
204 | maxJobWorkers: 0
205 | preserveTilesOutsideBounds: 0
206 | debug:
207 | m_Flags: 0
208 | m_NavMeshData: {fileID: 0}
209 | --- !u!1 &6632536
210 | GameObject:
211 | m_ObjectHideFlags: 0
212 | m_CorrespondingSourceObject: {fileID: 0}
213 | m_PrefabInstance: {fileID: 0}
214 | m_PrefabAsset: {fileID: 0}
215 | serializedVersion: 6
216 | m_Component:
217 | - component: {fileID: 6632537}
218 | - component: {fileID: 6632539}
219 | - component: {fileID: 6632538}
220 | m_Layer: 5
221 | m_Name: Background
222 | m_TagString: Untagged
223 | m_Icon: {fileID: 0}
224 | m_NavMeshLayer: 0
225 | m_StaticEditorFlags: 0
226 | m_IsActive: 1
227 | --- !u!224 &6632537
228 | RectTransform:
229 | m_ObjectHideFlags: 0
230 | m_CorrespondingSourceObject: {fileID: 0}
231 | m_PrefabInstance: {fileID: 0}
232 | m_PrefabAsset: {fileID: 0}
233 | m_GameObject: {fileID: 6632536}
234 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
235 | m_LocalPosition: {x: 0, y: 0, z: 0}
236 | m_LocalScale: {x: 1, y: 1, z: 1}
237 | m_Children:
238 | - {fileID: 521835801}
239 | m_Father: {fileID: 573028660}
240 | m_RootOrder: 0
241 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
242 | m_AnchorMin: {x: 0, y: 1}
243 | m_AnchorMax: {x: 0, y: 1}
244 | m_AnchoredPosition: {x: 20, y: -20}
245 | m_SizeDelta: {x: 40, y: 40}
246 | m_Pivot: {x: 0.5, y: 0.5}
247 | --- !u!114 &6632538
248 | MonoBehaviour:
249 | m_ObjectHideFlags: 0
250 | m_CorrespondingSourceObject: {fileID: 0}
251 | m_PrefabInstance: {fileID: 0}
252 | m_PrefabAsset: {fileID: 0}
253 | m_GameObject: {fileID: 6632536}
254 | m_Enabled: 1
255 | m_EditorHideFlags: 0
256 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
257 | m_Name:
258 | m_EditorClassIdentifier:
259 | m_Material: {fileID: 0}
260 | m_Color: {r: 1, g: 1, b: 1, a: 1}
261 | m_RaycastTarget: 1
262 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
263 | m_Maskable: 1
264 | m_OnCullStateChanged:
265 | m_PersistentCalls:
266 | m_Calls: []
267 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
268 | m_Type: 1
269 | m_PreserveAspect: 0
270 | m_FillCenter: 1
271 | m_FillMethod: 4
272 | m_FillAmount: 1
273 | m_FillClockwise: 1
274 | m_FillOrigin: 0
275 | m_UseSpriteMesh: 0
276 | m_PixelsPerUnitMultiplier: 1
277 | --- !u!222 &6632539
278 | CanvasRenderer:
279 | m_ObjectHideFlags: 0
280 | m_CorrespondingSourceObject: {fileID: 0}
281 | m_PrefabInstance: {fileID: 0}
282 | m_PrefabAsset: {fileID: 0}
283 | m_GameObject: {fileID: 6632536}
284 | m_CullTransparentMesh: 1
285 | --- !u!1 &14648213
286 | GameObject:
287 | m_ObjectHideFlags: 0
288 | m_CorrespondingSourceObject: {fileID: 0}
289 | m_PrefabInstance: {fileID: 0}
290 | m_PrefabAsset: {fileID: 0}
291 | serializedVersion: 6
292 | m_Component:
293 | - component: {fileID: 14648214}
294 | - component: {fileID: 14648216}
295 | - component: {fileID: 14648215}
296 | m_Layer: 5
297 | m_Name: Checkmark
298 | m_TagString: Untagged
299 | m_Icon: {fileID: 0}
300 | m_NavMeshLayer: 0
301 | m_StaticEditorFlags: 0
302 | m_IsActive: 1
303 | --- !u!224 &14648214
304 | RectTransform:
305 | m_ObjectHideFlags: 0
306 | m_CorrespondingSourceObject: {fileID: 0}
307 | m_PrefabInstance: {fileID: 0}
308 | m_PrefabAsset: {fileID: 0}
309 | m_GameObject: {fileID: 14648213}
310 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
311 | m_LocalPosition: {x: 0, y: 0, z: 0}
312 | m_LocalScale: {x: 1, y: 1, z: 1}
313 | m_Children: []
314 | m_Father: {fileID: 548212200}
315 | m_RootOrder: 0
316 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
317 | m_AnchorMin: {x: 0.5, y: 0.5}
318 | m_AnchorMax: {x: 0.5, y: 0.5}
319 | m_AnchoredPosition: {x: 0, y: 0}
320 | m_SizeDelta: {x: 40, y: 40}
321 | m_Pivot: {x: 0.5, y: 0.5}
322 | --- !u!114 &14648215
323 | MonoBehaviour:
324 | m_ObjectHideFlags: 0
325 | m_CorrespondingSourceObject: {fileID: 0}
326 | m_PrefabInstance: {fileID: 0}
327 | m_PrefabAsset: {fileID: 0}
328 | m_GameObject: {fileID: 14648213}
329 | m_Enabled: 1
330 | m_EditorHideFlags: 0
331 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
332 | m_Name:
333 | m_EditorClassIdentifier:
334 | m_Material: {fileID: 0}
335 | m_Color: {r: 1, g: 1, b: 1, a: 1}
336 | m_RaycastTarget: 1
337 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
338 | m_Maskable: 1
339 | m_OnCullStateChanged:
340 | m_PersistentCalls:
341 | m_Calls: []
342 | m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0}
343 | m_Type: 0
344 | m_PreserveAspect: 0
345 | m_FillCenter: 1
346 | m_FillMethod: 4
347 | m_FillAmount: 1
348 | m_FillClockwise: 1
349 | m_FillOrigin: 0
350 | m_UseSpriteMesh: 0
351 | m_PixelsPerUnitMultiplier: 1
352 | --- !u!222 &14648216
353 | CanvasRenderer:
354 | m_ObjectHideFlags: 0
355 | m_CorrespondingSourceObject: {fileID: 0}
356 | m_PrefabInstance: {fileID: 0}
357 | m_PrefabAsset: {fileID: 0}
358 | m_GameObject: {fileID: 14648213}
359 | m_CullTransparentMesh: 1
360 | --- !u!1 &111280257
361 | GameObject:
362 | m_ObjectHideFlags: 0
363 | m_CorrespondingSourceObject: {fileID: 0}
364 | m_PrefabInstance: {fileID: 0}
365 | m_PrefabAsset: {fileID: 0}
366 | serializedVersion: 6
367 | m_Component:
368 | - component: {fileID: 111280261}
369 | - component: {fileID: 111280260}
370 | - component: {fileID: 111280259}
371 | - component: {fileID: 111280258}
372 | m_Layer: 5
373 | m_Name: Canvas
374 | m_TagString: Untagged
375 | m_Icon: {fileID: 0}
376 | m_NavMeshLayer: 0
377 | m_StaticEditorFlags: 0
378 | m_IsActive: 1
379 | --- !u!114 &111280258
380 | MonoBehaviour:
381 | m_ObjectHideFlags: 0
382 | m_CorrespondingSourceObject: {fileID: 0}
383 | m_PrefabInstance: {fileID: 0}
384 | m_PrefabAsset: {fileID: 0}
385 | m_GameObject: {fileID: 111280257}
386 | m_Enabled: 1
387 | m_EditorHideFlags: 0
388 | m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
389 | m_Name:
390 | m_EditorClassIdentifier:
391 | m_IgnoreReversedGraphics: 1
392 | m_BlockingObjects: 0
393 | m_BlockingMask:
394 | serializedVersion: 2
395 | m_Bits: 4294967295
396 | --- !u!114 &111280259
397 | MonoBehaviour:
398 | m_ObjectHideFlags: 0
399 | m_CorrespondingSourceObject: {fileID: 0}
400 | m_PrefabInstance: {fileID: 0}
401 | m_PrefabAsset: {fileID: 0}
402 | m_GameObject: {fileID: 111280257}
403 | m_Enabled: 1
404 | m_EditorHideFlags: 0
405 | m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
406 | m_Name:
407 | m_EditorClassIdentifier:
408 | m_UiScaleMode: 1
409 | m_ReferencePixelsPerUnit: 100
410 | m_ScaleFactor: 1
411 | m_ReferenceResolution: {x: 800, y: 600}
412 | m_ScreenMatchMode: 0
413 | m_MatchWidthOrHeight: 0
414 | m_PhysicalUnit: 3
415 | m_FallbackScreenDPI: 96
416 | m_DefaultSpriteDPI: 96
417 | m_DynamicPixelsPerUnit: 1
418 | m_PresetInfoIsWorld: 0
419 | --- !u!223 &111280260
420 | Canvas:
421 | m_ObjectHideFlags: 0
422 | m_CorrespondingSourceObject: {fileID: 0}
423 | m_PrefabInstance: {fileID: 0}
424 | m_PrefabAsset: {fileID: 0}
425 | m_GameObject: {fileID: 111280257}
426 | m_Enabled: 1
427 | serializedVersion: 3
428 | m_RenderMode: 0
429 | m_Camera: {fileID: 0}
430 | m_PlaneDistance: 100
431 | m_PixelPerfect: 0
432 | m_ReceivesEvents: 1
433 | m_OverrideSorting: 0
434 | m_OverridePixelPerfect: 0
435 | m_SortingBucketNormalizedSize: 0
436 | m_AdditionalShaderChannelsFlag: 25
437 | m_SortingLayerID: 0
438 | m_SortingOrder: 0
439 | m_TargetDisplay: 0
440 | --- !u!224 &111280261
441 | RectTransform:
442 | m_ObjectHideFlags: 0
443 | m_CorrespondingSourceObject: {fileID: 0}
444 | m_PrefabInstance: {fileID: 0}
445 | m_PrefabAsset: {fileID: 0}
446 | m_GameObject: {fileID: 111280257}
447 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
448 | m_LocalPosition: {x: 0, y: 0, z: 0}
449 | m_LocalScale: {x: 0, y: 0, z: 0}
450 | m_Children:
451 | - {fileID: 614697263}
452 | m_Father: {fileID: 0}
453 | m_RootOrder: 2
454 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
455 | m_AnchorMin: {x: 0, y: 0}
456 | m_AnchorMax: {x: 0, y: 0}
457 | m_AnchoredPosition: {x: 0, y: 0}
458 | m_SizeDelta: {x: 0, y: 0}
459 | m_Pivot: {x: 0, y: 0}
460 | --- !u!1 &340450921
461 | GameObject:
462 | m_ObjectHideFlags: 0
463 | m_CorrespondingSourceObject: {fileID: 0}
464 | m_PrefabInstance: {fileID: 0}
465 | m_PrefabAsset: {fileID: 0}
466 | serializedVersion: 6
467 | m_Component:
468 | - component: {fileID: 340450927}
469 | - component: {fileID: 340450926}
470 | - component: {fileID: 340450925}
471 | - component: {fileID: 340450924}
472 | - component: {fileID: 340450922}
473 | - component: {fileID: 340450923}
474 | m_Layer: 0
475 | m_Name: AVProLiveCameraGetFrameAsColor32Example
476 | m_TagString: Untagged
477 | m_Icon: {fileID: 0}
478 | m_NavMeshLayer: 0
479 | m_StaticEditorFlags: 0
480 | m_IsActive: 1
481 | --- !u!114 &340450922
482 | MonoBehaviour:
483 | m_ObjectHideFlags: 0
484 | m_CorrespondingSourceObject: {fileID: 0}
485 | m_PrefabInstance: {fileID: 0}
486 | m_PrefabAsset: {fileID: 0}
487 | m_GameObject: {fileID: 340450921}
488 | m_Enabled: 1
489 | m_EditorHideFlags: 0
490 | m_Script: {fileID: 11500000, guid: 50481e624086a834188f8f07111ac0c5, type: 3}
491 | m_Name:
492 | m_EditorClassIdentifier:
493 | _camera: {fileID: 1656361539}
494 | originalModeToggle: {fileID: 573028662}
495 | sepiaModeToggle: {fileID: 597765473}
496 | pixelizeModeToggle: {fileID: 1197787447}
497 | --- !u!114 &340450923
498 | MonoBehaviour:
499 | m_ObjectHideFlags: 0
500 | m_CorrespondingSourceObject: {fileID: 0}
501 | m_PrefabInstance: {fileID: 0}
502 | m_PrefabAsset: {fileID: 0}
503 | m_GameObject: {fileID: 340450921}
504 | m_Enabled: 1
505 | m_EditorHideFlags: 0
506 | m_Script: {fileID: 11500000, guid: b3afd8b9824360045957f5329d104d6d, type: 3}
507 | m_Name:
508 | m_EditorClassIdentifier:
509 | alignment: 1
510 | offset: {x: 10, y: 10}
511 | boxVisible: 1
512 | boxWidth: 75
513 | boxHeight: 30
514 | padding: {x: 8, y: 5}
515 | consoleHeight: 50
516 | --- !u!64 &340450924
517 | MeshCollider:
518 | m_ObjectHideFlags: 0
519 | m_CorrespondingSourceObject: {fileID: 0}
520 | m_PrefabInstance: {fileID: 0}
521 | m_PrefabAsset: {fileID: 0}
522 | m_GameObject: {fileID: 340450921}
523 | m_Material: {fileID: 0}
524 | m_IsTrigger: 0
525 | m_Enabled: 1
526 | serializedVersion: 4
527 | m_Convex: 0
528 | m_CookingOptions: 30
529 | m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
530 | --- !u!23 &340450925
531 | MeshRenderer:
532 | m_ObjectHideFlags: 0
533 | m_CorrespondingSourceObject: {fileID: 0}
534 | m_PrefabInstance: {fileID: 0}
535 | m_PrefabAsset: {fileID: 0}
536 | m_GameObject: {fileID: 340450921}
537 | m_Enabled: 1
538 | m_CastShadows: 1
539 | m_ReceiveShadows: 1
540 | m_DynamicOccludee: 1
541 | m_MotionVectors: 1
542 | m_LightProbeUsage: 1
543 | m_ReflectionProbeUsage: 1
544 | m_RayTracingMode: 2
545 | m_RayTraceProcedural: 0
546 | m_RenderingLayerMask: 1
547 | m_RendererPriority: 0
548 | m_Materials:
549 | - {fileID: 2100000, guid: 3afa5cebfe59c1d49918e22598785af7, type: 2}
550 | m_StaticBatchInfo:
551 | firstSubMesh: 0
552 | subMeshCount: 0
553 | m_StaticBatchRoot: {fileID: 0}
554 | m_ProbeAnchor: {fileID: 0}
555 | m_LightProbeVolumeOverride: {fileID: 0}
556 | m_ScaleInLightmap: 1
557 | m_ReceiveGI: 1
558 | m_PreserveUVs: 0
559 | m_IgnoreNormalsForChartDetection: 0
560 | m_ImportantGI: 0
561 | m_StitchLightmapSeams: 1
562 | m_SelectedEditorRenderState: 3
563 | m_MinimumChartSize: 4
564 | m_AutoUVMaxDistance: 0.5
565 | m_AutoUVMaxAngle: 89
566 | m_LightmapParameters: {fileID: 0}
567 | m_SortingLayerID: 0
568 | m_SortingLayer: 0
569 | m_SortingOrder: 0
570 | m_AdditionalVertexStreams: {fileID: 0}
571 | --- !u!33 &340450926
572 | MeshFilter:
573 | m_ObjectHideFlags: 0
574 | m_CorrespondingSourceObject: {fileID: 0}
575 | m_PrefabInstance: {fileID: 0}
576 | m_PrefabAsset: {fileID: 0}
577 | m_GameObject: {fileID: 340450921}
578 | m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
579 | --- !u!4 &340450927
580 | Transform:
581 | m_ObjectHideFlags: 0
582 | m_CorrespondingSourceObject: {fileID: 0}
583 | m_PrefabInstance: {fileID: 0}
584 | m_PrefabAsset: {fileID: 0}
585 | m_GameObject: {fileID: 340450921}
586 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
587 | m_LocalPosition: {x: 0, y: 0, z: 0}
588 | m_LocalScale: {x: 640, y: 480, z: 1}
589 | m_Children: []
590 | m_Father: {fileID: 0}
591 | m_RootOrder: 0
592 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
593 | --- !u!1 &399113850
594 | GameObject:
595 | m_ObjectHideFlags: 0
596 | m_CorrespondingSourceObject: {fileID: 0}
597 | m_PrefabInstance: {fileID: 0}
598 | m_PrefabAsset: {fileID: 0}
599 | serializedVersion: 6
600 | m_Component:
601 | - component: {fileID: 399113853}
602 | - component: {fileID: 399113852}
603 | - component: {fileID: 399113851}
604 | m_Layer: 0
605 | m_Name: EventSystem
606 | m_TagString: Untagged
607 | m_Icon: {fileID: 0}
608 | m_NavMeshLayer: 0
609 | m_StaticEditorFlags: 0
610 | m_IsActive: 1
611 | --- !u!114 &399113851
612 | MonoBehaviour:
613 | m_ObjectHideFlags: 0
614 | m_CorrespondingSourceObject: {fileID: 0}
615 | m_PrefabInstance: {fileID: 0}
616 | m_PrefabAsset: {fileID: 0}
617 | m_GameObject: {fileID: 399113850}
618 | m_Enabled: 1
619 | m_EditorHideFlags: 0
620 | m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
621 | m_Name:
622 | m_EditorClassIdentifier:
623 | m_HorizontalAxis: Horizontal
624 | m_VerticalAxis: Vertical
625 | m_SubmitButton: Submit
626 | m_CancelButton: Cancel
627 | m_InputActionsPerSecond: 10
628 | m_RepeatDelay: 0.5
629 | m_ForceModuleActive: 0
630 | --- !u!114 &399113852
631 | MonoBehaviour:
632 | m_ObjectHideFlags: 0
633 | m_CorrespondingSourceObject: {fileID: 0}
634 | m_PrefabInstance: {fileID: 0}
635 | m_PrefabAsset: {fileID: 0}
636 | m_GameObject: {fileID: 399113850}
637 | m_Enabled: 1
638 | m_EditorHideFlags: 0
639 | m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
640 | m_Name:
641 | m_EditorClassIdentifier:
642 | m_FirstSelected: {fileID: 0}
643 | m_sendNavigationEvents: 1
644 | m_DragThreshold: 5
645 | --- !u!4 &399113853
646 | Transform:
647 | m_ObjectHideFlags: 0
648 | m_CorrespondingSourceObject: {fileID: 0}
649 | m_PrefabInstance: {fileID: 0}
650 | m_PrefabAsset: {fileID: 0}
651 | m_GameObject: {fileID: 399113850}
652 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
653 | m_LocalPosition: {x: 0, y: 0, z: 0}
654 | m_LocalScale: {x: 1, y: 1, z: 1}
655 | m_Children: []
656 | m_Father: {fileID: 0}
657 | m_RootOrder: 3
658 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
659 | --- !u!1 &473706230
660 | GameObject:
661 | m_ObjectHideFlags: 0
662 | m_CorrespondingSourceObject: {fileID: 0}
663 | m_PrefabInstance: {fileID: 0}
664 | m_PrefabAsset: {fileID: 0}
665 | serializedVersion: 6
666 | m_Component:
667 | - component: {fileID: 473706231}
668 | - component: {fileID: 473706233}
669 | - component: {fileID: 473706232}
670 | m_Layer: 5
671 | m_Name: Label
672 | m_TagString: Untagged
673 | m_Icon: {fileID: 0}
674 | m_NavMeshLayer: 0
675 | m_StaticEditorFlags: 0
676 | m_IsActive: 1
677 | --- !u!224 &473706231
678 | RectTransform:
679 | m_ObjectHideFlags: 0
680 | m_CorrespondingSourceObject: {fileID: 0}
681 | m_PrefabInstance: {fileID: 0}
682 | m_PrefabAsset: {fileID: 0}
683 | m_GameObject: {fileID: 473706230}
684 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
685 | m_LocalPosition: {x: 0, y: 0, z: 0}
686 | m_LocalScale: {x: 1, y: 1, z: 1}
687 | m_Children: []
688 | m_Father: {fileID: 573028660}
689 | m_RootOrder: 1
690 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
691 | m_AnchorMin: {x: 0, y: 0}
692 | m_AnchorMax: {x: 1, y: 1}
693 | m_AnchoredPosition: {x: 20, y: -5.5}
694 | m_SizeDelta: {x: -50, y: -13}
695 | m_Pivot: {x: 0.5, y: 0.5}
696 | --- !u!114 &473706232
697 | MonoBehaviour:
698 | m_ObjectHideFlags: 0
699 | m_CorrespondingSourceObject: {fileID: 0}
700 | m_PrefabInstance: {fileID: 0}
701 | m_PrefabAsset: {fileID: 0}
702 | m_GameObject: {fileID: 473706230}
703 | m_Enabled: 1
704 | m_EditorHideFlags: 0
705 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
706 | m_Name:
707 | m_EditorClassIdentifier:
708 | m_Material: {fileID: 0}
709 | m_Color: {r: 1, g: 1, b: 1, a: 1}
710 | m_RaycastTarget: 1
711 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
712 | m_Maskable: 1
713 | m_OnCullStateChanged:
714 | m_PersistentCalls:
715 | m_Calls: []
716 | m_FontData:
717 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
718 | m_FontSize: 14
719 | m_FontStyle: 0
720 | m_BestFit: 0
721 | m_MinSize: 10
722 | m_MaxSize: 40
723 | m_Alignment: 0
724 | m_AlignByGeometry: 0
725 | m_RichText: 1
726 | m_HorizontalOverflow: 0
727 | m_VerticalOverflow: 0
728 | m_LineSpacing: 1
729 | m_Text: Original
730 | --- !u!222 &473706233
731 | CanvasRenderer:
732 | m_ObjectHideFlags: 0
733 | m_CorrespondingSourceObject: {fileID: 0}
734 | m_PrefabInstance: {fileID: 0}
735 | m_PrefabAsset: {fileID: 0}
736 | m_GameObject: {fileID: 473706230}
737 | m_CullTransparentMesh: 1
738 | --- !u!1 &521835800
739 | GameObject:
740 | m_ObjectHideFlags: 0
741 | m_CorrespondingSourceObject: {fileID: 0}
742 | m_PrefabInstance: {fileID: 0}
743 | m_PrefabAsset: {fileID: 0}
744 | serializedVersion: 6
745 | m_Component:
746 | - component: {fileID: 521835801}
747 | - component: {fileID: 521835803}
748 | - component: {fileID: 521835802}
749 | m_Layer: 5
750 | m_Name: Checkmark
751 | m_TagString: Untagged
752 | m_Icon: {fileID: 0}
753 | m_NavMeshLayer: 0
754 | m_StaticEditorFlags: 0
755 | m_IsActive: 1
756 | --- !u!224 &521835801
757 | RectTransform:
758 | m_ObjectHideFlags: 0
759 | m_CorrespondingSourceObject: {fileID: 0}
760 | m_PrefabInstance: {fileID: 0}
761 | m_PrefabAsset: {fileID: 0}
762 | m_GameObject: {fileID: 521835800}
763 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
764 | m_LocalPosition: {x: 0, y: 0, z: 0}
765 | m_LocalScale: {x: 1, y: 1, z: 1}
766 | m_Children: []
767 | m_Father: {fileID: 6632537}
768 | m_RootOrder: 0
769 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
770 | m_AnchorMin: {x: 0.5, y: 0.5}
771 | m_AnchorMax: {x: 0.5, y: 0.5}
772 | m_AnchoredPosition: {x: 0, y: 0}
773 | m_SizeDelta: {x: 40, y: 40}
774 | m_Pivot: {x: 0.5, y: 0.5}
775 | --- !u!114 &521835802
776 | MonoBehaviour:
777 | m_ObjectHideFlags: 0
778 | m_CorrespondingSourceObject: {fileID: 0}
779 | m_PrefabInstance: {fileID: 0}
780 | m_PrefabAsset: {fileID: 0}
781 | m_GameObject: {fileID: 521835800}
782 | m_Enabled: 1
783 | m_EditorHideFlags: 0
784 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
785 | m_Name:
786 | m_EditorClassIdentifier:
787 | m_Material: {fileID: 0}
788 | m_Color: {r: 1, g: 1, b: 1, a: 1}
789 | m_RaycastTarget: 1
790 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
791 | m_Maskable: 1
792 | m_OnCullStateChanged:
793 | m_PersistentCalls:
794 | m_Calls: []
795 | m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0}
796 | m_Type: 0
797 | m_PreserveAspect: 0
798 | m_FillCenter: 1
799 | m_FillMethod: 4
800 | m_FillAmount: 1
801 | m_FillClockwise: 1
802 | m_FillOrigin: 0
803 | m_UseSpriteMesh: 0
804 | m_PixelsPerUnitMultiplier: 1
805 | --- !u!222 &521835803
806 | CanvasRenderer:
807 | m_ObjectHideFlags: 0
808 | m_CorrespondingSourceObject: {fileID: 0}
809 | m_PrefabInstance: {fileID: 0}
810 | m_PrefabAsset: {fileID: 0}
811 | m_GameObject: {fileID: 521835800}
812 | m_CullTransparentMesh: 1
813 | --- !u!1 &548212199
814 | GameObject:
815 | m_ObjectHideFlags: 0
816 | m_CorrespondingSourceObject: {fileID: 0}
817 | m_PrefabInstance: {fileID: 0}
818 | m_PrefabAsset: {fileID: 0}
819 | serializedVersion: 6
820 | m_Component:
821 | - component: {fileID: 548212200}
822 | - component: {fileID: 548212202}
823 | - component: {fileID: 548212201}
824 | m_Layer: 5
825 | m_Name: Background
826 | m_TagString: Untagged
827 | m_Icon: {fileID: 0}
828 | m_NavMeshLayer: 0
829 | m_StaticEditorFlags: 0
830 | m_IsActive: 1
831 | --- !u!224 &548212200
832 | RectTransform:
833 | m_ObjectHideFlags: 0
834 | m_CorrespondingSourceObject: {fileID: 0}
835 | m_PrefabInstance: {fileID: 0}
836 | m_PrefabAsset: {fileID: 0}
837 | m_GameObject: {fileID: 548212199}
838 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
839 | m_LocalPosition: {x: 0, y: 0, z: 0}
840 | m_LocalScale: {x: 1, y: 1, z: 1}
841 | m_Children:
842 | - {fileID: 14648214}
843 | m_Father: {fileID: 597765471}
844 | m_RootOrder: 0
845 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
846 | m_AnchorMin: {x: 0, y: 1}
847 | m_AnchorMax: {x: 0, y: 1}
848 | m_AnchoredPosition: {x: 20, y: -20}
849 | m_SizeDelta: {x: 40, y: 40}
850 | m_Pivot: {x: 0.5, y: 0.5}
851 | --- !u!114 &548212201
852 | MonoBehaviour:
853 | m_ObjectHideFlags: 0
854 | m_CorrespondingSourceObject: {fileID: 0}
855 | m_PrefabInstance: {fileID: 0}
856 | m_PrefabAsset: {fileID: 0}
857 | m_GameObject: {fileID: 548212199}
858 | m_Enabled: 1
859 | m_EditorHideFlags: 0
860 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
861 | m_Name:
862 | m_EditorClassIdentifier:
863 | m_Material: {fileID: 0}
864 | m_Color: {r: 1, g: 1, b: 1, a: 1}
865 | m_RaycastTarget: 1
866 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
867 | m_Maskable: 1
868 | m_OnCullStateChanged:
869 | m_PersistentCalls:
870 | m_Calls: []
871 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
872 | m_Type: 1
873 | m_PreserveAspect: 0
874 | m_FillCenter: 1
875 | m_FillMethod: 4
876 | m_FillAmount: 1
877 | m_FillClockwise: 1
878 | m_FillOrigin: 0
879 | m_UseSpriteMesh: 0
880 | m_PixelsPerUnitMultiplier: 1
881 | --- !u!222 &548212202
882 | CanvasRenderer:
883 | m_ObjectHideFlags: 0
884 | m_CorrespondingSourceObject: {fileID: 0}
885 | m_PrefabInstance: {fileID: 0}
886 | m_PrefabAsset: {fileID: 0}
887 | m_GameObject: {fileID: 548212199}
888 | m_CullTransparentMesh: 1
889 | --- !u!850595691 &557148258
890 | LightingSettings:
891 | m_ObjectHideFlags: 0
892 | m_CorrespondingSourceObject: {fileID: 0}
893 | m_PrefabInstance: {fileID: 0}
894 | m_PrefabAsset: {fileID: 0}
895 | m_Name: Settings.lighting
896 | serializedVersion: 3
897 | m_GIWorkflowMode: 1
898 | m_EnableBakedLightmaps: 1
899 | m_EnableRealtimeLightmaps: 0
900 | m_RealtimeEnvironmentLighting: 1
901 | m_BounceScale: 1
902 | m_AlbedoBoost: 1
903 | m_IndirectOutputScale: 1
904 | m_UsingShadowmask: 0
905 | m_BakeBackend: 0
906 | m_LightmapMaxSize: 1024
907 | m_BakeResolution: 50
908 | m_Padding: 2
909 | m_TextureCompression: 0
910 | m_AO: 1
911 | m_AOMaxDistance: 1
912 | m_CompAOExponent: 1
913 | m_CompAOExponentDirect: 0
914 | m_ExtractAO: 0
915 | m_MixedBakeMode: 1
916 | m_LightmapsBakeMode: 1
917 | m_FilterMode: 1
918 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
919 | m_ExportTrainingData: 0
920 | m_TrainingDataDestination: TrainingData
921 | m_RealtimeResolution: 1
922 | m_ForceWhiteAlbedo: 0
923 | m_ForceUpdates: 0
924 | m_FinalGather: 0
925 | m_FinalGatherRayCount: 256
926 | m_FinalGatherFiltering: 1
927 | m_PVRCulling: 1
928 | m_PVRSampling: 1
929 | m_PVRDirectSampleCount: 32
930 | m_PVRSampleCount: 512
931 | m_PVREnvironmentSampleCount: 512
932 | m_PVREnvironmentReferencePointCount: 2048
933 | m_LightProbeSampleCountMultiplier: 4
934 | m_PVRBounces: 2
935 | m_PVRMinBounces: 2
936 | m_PVREnvironmentMIS: 0
937 | m_PVRFilteringMode: 0
938 | m_PVRDenoiserTypeDirect: 0
939 | m_PVRDenoiserTypeIndirect: 0
940 | m_PVRDenoiserTypeAO: 0
941 | m_PVRFilterTypeDirect: 0
942 | m_PVRFilterTypeIndirect: 0
943 | m_PVRFilterTypeAO: 0
944 | m_PVRFilteringGaussRadiusDirect: 1
945 | m_PVRFilteringGaussRadiusIndirect: 5
946 | m_PVRFilteringGaussRadiusAO: 2
947 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
948 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
949 | m_PVRFilteringAtrousPositionSigmaAO: 1
950 | --- !u!1 &573028659
951 | GameObject:
952 | m_ObjectHideFlags: 0
953 | m_CorrespondingSourceObject: {fileID: 0}
954 | m_PrefabInstance: {fileID: 0}
955 | m_PrefabAsset: {fileID: 0}
956 | serializedVersion: 6
957 | m_Component:
958 | - component: {fileID: 573028660}
959 | - component: {fileID: 573028662}
960 | - component: {fileID: 573028661}
961 | m_Layer: 5
962 | m_Name: OriginalModeToggle
963 | m_TagString: Untagged
964 | m_Icon: {fileID: 0}
965 | m_NavMeshLayer: 0
966 | m_StaticEditorFlags: 0
967 | m_IsActive: 1
968 | --- !u!224 &573028660
969 | RectTransform:
970 | m_ObjectHideFlags: 0
971 | m_CorrespondingSourceObject: {fileID: 0}
972 | m_PrefabInstance: {fileID: 0}
973 | m_PrefabAsset: {fileID: 0}
974 | m_GameObject: {fileID: 573028659}
975 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
976 | m_LocalPosition: {x: 0, y: 0, z: 0}
977 | m_LocalScale: {x: 1, y: 1, z: 1}
978 | m_Children:
979 | - {fileID: 6632537}
980 | - {fileID: 473706231}
981 | m_Father: {fileID: 1762430820}
982 | m_RootOrder: 0
983 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
984 | m_AnchorMin: {x: 0, y: 0}
985 | m_AnchorMax: {x: 0, y: 0}
986 | m_AnchoredPosition: {x: 0, y: 0}
987 | m_SizeDelta: {x: 0, y: 0}
988 | m_Pivot: {x: 0.5, y: 0.5}
989 | --- !u!114 &573028661
990 | MonoBehaviour:
991 | m_ObjectHideFlags: 0
992 | m_CorrespondingSourceObject: {fileID: 0}
993 | m_PrefabInstance: {fileID: 0}
994 | m_PrefabAsset: {fileID: 0}
995 | m_GameObject: {fileID: 573028659}
996 | m_Enabled: 1
997 | m_EditorHideFlags: 0
998 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
999 | m_Name:
1000 | m_EditorClassIdentifier:
1001 | m_IgnoreLayout: 0
1002 | m_MinWidth: -1
1003 | m_MinHeight: -1
1004 | m_PreferredWidth: 160
1005 | m_PreferredHeight: 40
1006 | m_FlexibleWidth: -1
1007 | m_FlexibleHeight: -1
1008 | m_LayoutPriority: 1
1009 | --- !u!114 &573028662
1010 | MonoBehaviour:
1011 | m_ObjectHideFlags: 0
1012 | m_CorrespondingSourceObject: {fileID: 0}
1013 | m_PrefabInstance: {fileID: 0}
1014 | m_PrefabAsset: {fileID: 0}
1015 | m_GameObject: {fileID: 573028659}
1016 | m_Enabled: 1
1017 | m_EditorHideFlags: 0
1018 | m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
1019 | m_Name:
1020 | m_EditorClassIdentifier:
1021 | m_Navigation:
1022 | m_Mode: 3
1023 | m_WrapAround: 0
1024 | m_SelectOnUp: {fileID: 0}
1025 | m_SelectOnDown: {fileID: 0}
1026 | m_SelectOnLeft: {fileID: 0}
1027 | m_SelectOnRight: {fileID: 0}
1028 | m_Transition: 1
1029 | m_Colors:
1030 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
1031 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1032 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
1033 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1034 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
1035 | m_ColorMultiplier: 1
1036 | m_FadeDuration: 0.1
1037 | m_SpriteState:
1038 | m_HighlightedSprite: {fileID: 0}
1039 | m_PressedSprite: {fileID: 0}
1040 | m_SelectedSprite: {fileID: 0}
1041 | m_DisabledSprite: {fileID: 0}
1042 | m_AnimationTriggers:
1043 | m_NormalTrigger: Normal
1044 | m_HighlightedTrigger: Highlighted
1045 | m_PressedTrigger: Pressed
1046 | m_SelectedTrigger: Highlighted
1047 | m_DisabledTrigger: Disabled
1048 | m_Interactable: 1
1049 | m_TargetGraphic: {fileID: 6632538}
1050 | toggleTransition: 1
1051 | graphic: {fileID: 521835802}
1052 | m_Group: {fileID: 1762430821}
1053 | onValueChanged:
1054 | m_PersistentCalls:
1055 | m_Calls:
1056 | - m_Target: {fileID: 340450922}
1057 | m_TargetAssemblyTypeName: AVProWithOpenCVForUnityExample.AVProLiveCameraGetFrameAsColor32Example,
1058 | Assembly-CSharp
1059 | m_MethodName: OnOriginalModeToggle
1060 | m_Mode: 1
1061 | m_Arguments:
1062 | m_ObjectArgument: {fileID: 0}
1063 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
1064 | m_IntArgument: 0
1065 | m_FloatArgument: 0
1066 | m_StringArgument:
1067 | m_BoolArgument: 0
1068 | m_CallState: 2
1069 | m_IsOn: 1
1070 | --- !u!1 &597765470
1071 | GameObject:
1072 | m_ObjectHideFlags: 0
1073 | m_CorrespondingSourceObject: {fileID: 0}
1074 | m_PrefabInstance: {fileID: 0}
1075 | m_PrefabAsset: {fileID: 0}
1076 | serializedVersion: 6
1077 | m_Component:
1078 | - component: {fileID: 597765471}
1079 | - component: {fileID: 597765473}
1080 | - component: {fileID: 597765472}
1081 | m_Layer: 5
1082 | m_Name: SepiaModeToggle
1083 | m_TagString: Untagged
1084 | m_Icon: {fileID: 0}
1085 | m_NavMeshLayer: 0
1086 | m_StaticEditorFlags: 0
1087 | m_IsActive: 1
1088 | --- !u!224 &597765471
1089 | RectTransform:
1090 | m_ObjectHideFlags: 0
1091 | m_CorrespondingSourceObject: {fileID: 0}
1092 | m_PrefabInstance: {fileID: 0}
1093 | m_PrefabAsset: {fileID: 0}
1094 | m_GameObject: {fileID: 597765470}
1095 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1096 | m_LocalPosition: {x: 0, y: 0, z: 0}
1097 | m_LocalScale: {x: 1, y: 1, z: 1}
1098 | m_Children:
1099 | - {fileID: 548212200}
1100 | - {fileID: 1349547973}
1101 | m_Father: {fileID: 1762430820}
1102 | m_RootOrder: 1
1103 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1104 | m_AnchorMin: {x: 0, y: 0}
1105 | m_AnchorMax: {x: 0, y: 0}
1106 | m_AnchoredPosition: {x: 0, y: 0}
1107 | m_SizeDelta: {x: 0, y: 0}
1108 | m_Pivot: {x: 0.5, y: 0.5}
1109 | --- !u!114 &597765472
1110 | MonoBehaviour:
1111 | m_ObjectHideFlags: 0
1112 | m_CorrespondingSourceObject: {fileID: 0}
1113 | m_PrefabInstance: {fileID: 0}
1114 | m_PrefabAsset: {fileID: 0}
1115 | m_GameObject: {fileID: 597765470}
1116 | m_Enabled: 1
1117 | m_EditorHideFlags: 0
1118 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
1119 | m_Name:
1120 | m_EditorClassIdentifier:
1121 | m_IgnoreLayout: 0
1122 | m_MinWidth: -1
1123 | m_MinHeight: -1
1124 | m_PreferredWidth: 160
1125 | m_PreferredHeight: 40
1126 | m_FlexibleWidth: -1
1127 | m_FlexibleHeight: -1
1128 | m_LayoutPriority: 1
1129 | --- !u!114 &597765473
1130 | MonoBehaviour:
1131 | m_ObjectHideFlags: 0
1132 | m_CorrespondingSourceObject: {fileID: 0}
1133 | m_PrefabInstance: {fileID: 0}
1134 | m_PrefabAsset: {fileID: 0}
1135 | m_GameObject: {fileID: 597765470}
1136 | m_Enabled: 1
1137 | m_EditorHideFlags: 0
1138 | m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
1139 | m_Name:
1140 | m_EditorClassIdentifier:
1141 | m_Navigation:
1142 | m_Mode: 3
1143 | m_WrapAround: 0
1144 | m_SelectOnUp: {fileID: 0}
1145 | m_SelectOnDown: {fileID: 0}
1146 | m_SelectOnLeft: {fileID: 0}
1147 | m_SelectOnRight: {fileID: 0}
1148 | m_Transition: 1
1149 | m_Colors:
1150 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
1151 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1152 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
1153 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1154 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
1155 | m_ColorMultiplier: 1
1156 | m_FadeDuration: 0.1
1157 | m_SpriteState:
1158 | m_HighlightedSprite: {fileID: 0}
1159 | m_PressedSprite: {fileID: 0}
1160 | m_SelectedSprite: {fileID: 0}
1161 | m_DisabledSprite: {fileID: 0}
1162 | m_AnimationTriggers:
1163 | m_NormalTrigger: Normal
1164 | m_HighlightedTrigger: Highlighted
1165 | m_PressedTrigger: Pressed
1166 | m_SelectedTrigger: Highlighted
1167 | m_DisabledTrigger: Disabled
1168 | m_Interactable: 1
1169 | m_TargetGraphic: {fileID: 548212201}
1170 | toggleTransition: 1
1171 | graphic: {fileID: 14648215}
1172 | m_Group: {fileID: 1762430821}
1173 | onValueChanged:
1174 | m_PersistentCalls:
1175 | m_Calls:
1176 | - m_Target: {fileID: 340450922}
1177 | m_TargetAssemblyTypeName: AVProWithOpenCVForUnityExample.AVProLiveCameraGetFrameAsColor32Example,
1178 | Assembly-CSharp
1179 | m_MethodName: OnSepiaModeToggle
1180 | m_Mode: 1
1181 | m_Arguments:
1182 | m_ObjectArgument: {fileID: 0}
1183 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
1184 | m_IntArgument: 0
1185 | m_FloatArgument: 0
1186 | m_StringArgument:
1187 | m_BoolArgument: 0
1188 | m_CallState: 2
1189 | m_IsOn: 0
1190 | --- !u!1 &614697262
1191 | GameObject:
1192 | m_ObjectHideFlags: 0
1193 | m_CorrespondingSourceObject: {fileID: 0}
1194 | m_PrefabInstance: {fileID: 0}
1195 | m_PrefabAsset: {fileID: 0}
1196 | serializedVersion: 6
1197 | m_Component:
1198 | - component: {fileID: 614697263}
1199 | - component: {fileID: 614697264}
1200 | m_Layer: 5
1201 | m_Name: Menu
1202 | m_TagString: Untagged
1203 | m_Icon: {fileID: 0}
1204 | m_NavMeshLayer: 0
1205 | m_StaticEditorFlags: 0
1206 | m_IsActive: 1
1207 | --- !u!224 &614697263
1208 | RectTransform:
1209 | m_ObjectHideFlags: 0
1210 | m_CorrespondingSourceObject: {fileID: 0}
1211 | m_PrefabInstance: {fileID: 0}
1212 | m_PrefabAsset: {fileID: 0}
1213 | m_GameObject: {fileID: 614697262}
1214 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1215 | m_LocalPosition: {x: 0, y: 0, z: 0}
1216 | m_LocalScale: {x: 1, y: 1, z: 1}
1217 | m_Children:
1218 | - {fileID: 902393486}
1219 | - {fileID: 1762430820}
1220 | m_Father: {fileID: 111280261}
1221 | m_RootOrder: 0
1222 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1223 | m_AnchorMin: {x: 0, y: 0}
1224 | m_AnchorMax: {x: 1, y: 1}
1225 | m_AnchoredPosition: {x: 0, y: 0}
1226 | m_SizeDelta: {x: 0, y: 0}
1227 | m_Pivot: {x: 0.5, y: 0.5}
1228 | --- !u!114 &614697264
1229 | MonoBehaviour:
1230 | m_ObjectHideFlags: 0
1231 | m_CorrespondingSourceObject: {fileID: 0}
1232 | m_PrefabInstance: {fileID: 0}
1233 | m_PrefabAsset: {fileID: 0}
1234 | m_GameObject: {fileID: 614697262}
1235 | m_Enabled: 1
1236 | m_EditorHideFlags: 0
1237 | m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
1238 | m_Name:
1239 | m_EditorClassIdentifier:
1240 | m_Padding:
1241 | m_Left: 10
1242 | m_Right: 10
1243 | m_Top: 10
1244 | m_Bottom: 10
1245 | m_ChildAlignment: 0
1246 | m_Spacing: 10
1247 | m_ChildForceExpandWidth: 0
1248 | m_ChildForceExpandHeight: 0
1249 | m_ChildControlWidth: 1
1250 | m_ChildControlHeight: 1
1251 | m_ChildScaleWidth: 0
1252 | m_ChildScaleHeight: 0
1253 | m_ReverseArrangement: 0
1254 | --- !u!1 &735803361
1255 | GameObject:
1256 | m_ObjectHideFlags: 0
1257 | m_CorrespondingSourceObject: {fileID: 0}
1258 | m_PrefabInstance: {fileID: 0}
1259 | m_PrefabAsset: {fileID: 0}
1260 | serializedVersion: 6
1261 | m_Component:
1262 | - component: {fileID: 735803362}
1263 | - component: {fileID: 735803364}
1264 | - component: {fileID: 735803363}
1265 | m_Layer: 5
1266 | m_Name: Checkmark
1267 | m_TagString: Untagged
1268 | m_Icon: {fileID: 0}
1269 | m_NavMeshLayer: 0
1270 | m_StaticEditorFlags: 0
1271 | m_IsActive: 1
1272 | --- !u!224 &735803362
1273 | RectTransform:
1274 | m_ObjectHideFlags: 0
1275 | m_CorrespondingSourceObject: {fileID: 0}
1276 | m_PrefabInstance: {fileID: 0}
1277 | m_PrefabAsset: {fileID: 0}
1278 | m_GameObject: {fileID: 735803361}
1279 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1280 | m_LocalPosition: {x: 0, y: 0, z: 0}
1281 | m_LocalScale: {x: 1, y: 1, z: 1}
1282 | m_Children: []
1283 | m_Father: {fileID: 1410250215}
1284 | m_RootOrder: 0
1285 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1286 | m_AnchorMin: {x: 0.5, y: 0.5}
1287 | m_AnchorMax: {x: 0.5, y: 0.5}
1288 | m_AnchoredPosition: {x: 0, y: 0}
1289 | m_SizeDelta: {x: 40, y: 40}
1290 | m_Pivot: {x: 0.5, y: 0.5}
1291 | --- !u!114 &735803363
1292 | MonoBehaviour:
1293 | m_ObjectHideFlags: 0
1294 | m_CorrespondingSourceObject: {fileID: 0}
1295 | m_PrefabInstance: {fileID: 0}
1296 | m_PrefabAsset: {fileID: 0}
1297 | m_GameObject: {fileID: 735803361}
1298 | m_Enabled: 1
1299 | m_EditorHideFlags: 0
1300 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
1301 | m_Name:
1302 | m_EditorClassIdentifier:
1303 | m_Material: {fileID: 0}
1304 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1305 | m_RaycastTarget: 1
1306 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
1307 | m_Maskable: 1
1308 | m_OnCullStateChanged:
1309 | m_PersistentCalls:
1310 | m_Calls: []
1311 | m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0}
1312 | m_Type: 0
1313 | m_PreserveAspect: 0
1314 | m_FillCenter: 1
1315 | m_FillMethod: 4
1316 | m_FillAmount: 1
1317 | m_FillClockwise: 1
1318 | m_FillOrigin: 0
1319 | m_UseSpriteMesh: 0
1320 | m_PixelsPerUnitMultiplier: 1
1321 | --- !u!222 &735803364
1322 | CanvasRenderer:
1323 | m_ObjectHideFlags: 0
1324 | m_CorrespondingSourceObject: {fileID: 0}
1325 | m_PrefabInstance: {fileID: 0}
1326 | m_PrefabAsset: {fileID: 0}
1327 | m_GameObject: {fileID: 735803361}
1328 | m_CullTransparentMesh: 1
1329 | --- !u!1 &860616460
1330 | GameObject:
1331 | m_ObjectHideFlags: 0
1332 | m_CorrespondingSourceObject: {fileID: 0}
1333 | m_PrefabInstance: {fileID: 0}
1334 | m_PrefabAsset: {fileID: 0}
1335 | serializedVersion: 6
1336 | m_Component:
1337 | - component: {fileID: 860616461}
1338 | - component: {fileID: 860616463}
1339 | - component: {fileID: 860616462}
1340 | m_Layer: 5
1341 | m_Name: Label
1342 | m_TagString: Untagged
1343 | m_Icon: {fileID: 0}
1344 | m_NavMeshLayer: 0
1345 | m_StaticEditorFlags: 0
1346 | m_IsActive: 1
1347 | --- !u!224 &860616461
1348 | RectTransform:
1349 | m_ObjectHideFlags: 0
1350 | m_CorrespondingSourceObject: {fileID: 0}
1351 | m_PrefabInstance: {fileID: 0}
1352 | m_PrefabAsset: {fileID: 0}
1353 | m_GameObject: {fileID: 860616460}
1354 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1355 | m_LocalPosition: {x: 0, y: 0, z: 0}
1356 | m_LocalScale: {x: 1, y: 1, z: 1}
1357 | m_Children: []
1358 | m_Father: {fileID: 1197787445}
1359 | m_RootOrder: 1
1360 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1361 | m_AnchorMin: {x: 0, y: 0}
1362 | m_AnchorMax: {x: 1, y: 1}
1363 | m_AnchoredPosition: {x: 20, y: -5.5}
1364 | m_SizeDelta: {x: -50, y: -13}
1365 | m_Pivot: {x: 0.5, y: 0.5}
1366 | --- !u!114 &860616462
1367 | MonoBehaviour:
1368 | m_ObjectHideFlags: 0
1369 | m_CorrespondingSourceObject: {fileID: 0}
1370 | m_PrefabInstance: {fileID: 0}
1371 | m_PrefabAsset: {fileID: 0}
1372 | m_GameObject: {fileID: 860616460}
1373 | m_Enabled: 1
1374 | m_EditorHideFlags: 0
1375 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
1376 | m_Name:
1377 | m_EditorClassIdentifier:
1378 | m_Material: {fileID: 0}
1379 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1380 | m_RaycastTarget: 1
1381 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
1382 | m_Maskable: 1
1383 | m_OnCullStateChanged:
1384 | m_PersistentCalls:
1385 | m_Calls: []
1386 | m_FontData:
1387 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
1388 | m_FontSize: 14
1389 | m_FontStyle: 0
1390 | m_BestFit: 0
1391 | m_MinSize: 10
1392 | m_MaxSize: 40
1393 | m_Alignment: 0
1394 | m_AlignByGeometry: 0
1395 | m_RichText: 1
1396 | m_HorizontalOverflow: 0
1397 | m_VerticalOverflow: 0
1398 | m_LineSpacing: 1
1399 | m_Text: Pixelize
1400 | --- !u!222 &860616463
1401 | CanvasRenderer:
1402 | m_ObjectHideFlags: 0
1403 | m_CorrespondingSourceObject: {fileID: 0}
1404 | m_PrefabInstance: {fileID: 0}
1405 | m_PrefabAsset: {fileID: 0}
1406 | m_GameObject: {fileID: 860616460}
1407 | m_CullTransparentMesh: 1
1408 | --- !u!1 &902393485
1409 | GameObject:
1410 | m_ObjectHideFlags: 0
1411 | m_CorrespondingSourceObject: {fileID: 0}
1412 | m_PrefabInstance: {fileID: 0}
1413 | m_PrefabAsset: {fileID: 0}
1414 | serializedVersion: 6
1415 | m_Component:
1416 | - component: {fileID: 902393486}
1417 | - component: {fileID: 902393490}
1418 | - component: {fileID: 902393489}
1419 | - component: {fileID: 902393488}
1420 | - component: {fileID: 902393487}
1421 | m_Layer: 5
1422 | m_Name: BackButton
1423 | m_TagString: Untagged
1424 | m_Icon: {fileID: 0}
1425 | m_NavMeshLayer: 0
1426 | m_StaticEditorFlags: 0
1427 | m_IsActive: 1
1428 | --- !u!224 &902393486
1429 | RectTransform:
1430 | m_ObjectHideFlags: 0
1431 | m_CorrespondingSourceObject: {fileID: 0}
1432 | m_PrefabInstance: {fileID: 0}
1433 | m_PrefabAsset: {fileID: 0}
1434 | m_GameObject: {fileID: 902393485}
1435 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1436 | m_LocalPosition: {x: 0, y: 0, z: 0}
1437 | m_LocalScale: {x: 1, y: 1, z: 1}
1438 | m_Children:
1439 | - {fileID: 1839393829}
1440 | m_Father: {fileID: 614697263}
1441 | m_RootOrder: 0
1442 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1443 | m_AnchorMin: {x: 0, y: 0}
1444 | m_AnchorMax: {x: 0, y: 0}
1445 | m_AnchoredPosition: {x: 0, y: 0}
1446 | m_SizeDelta: {x: 0, y: 0}
1447 | m_Pivot: {x: 0.5, y: 0.5}
1448 | --- !u!114 &902393487
1449 | MonoBehaviour:
1450 | m_ObjectHideFlags: 0
1451 | m_CorrespondingSourceObject: {fileID: 0}
1452 | m_PrefabInstance: {fileID: 0}
1453 | m_PrefabAsset: {fileID: 0}
1454 | m_GameObject: {fileID: 902393485}
1455 | m_Enabled: 1
1456 | m_EditorHideFlags: 0
1457 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
1458 | m_Name:
1459 | m_EditorClassIdentifier:
1460 | m_IgnoreLayout: 0
1461 | m_MinWidth: -1
1462 | m_MinHeight: -1
1463 | m_PreferredWidth: 160
1464 | m_PreferredHeight: 40
1465 | m_FlexibleWidth: -1
1466 | m_FlexibleHeight: -1
1467 | m_LayoutPriority: 1
1468 | --- !u!114 &902393488
1469 | MonoBehaviour:
1470 | m_ObjectHideFlags: 0
1471 | m_CorrespondingSourceObject: {fileID: 0}
1472 | m_PrefabInstance: {fileID: 0}
1473 | m_PrefabAsset: {fileID: 0}
1474 | m_GameObject: {fileID: 902393485}
1475 | m_Enabled: 1
1476 | m_EditorHideFlags: 0
1477 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
1478 | m_Name:
1479 | m_EditorClassIdentifier:
1480 | m_Navigation:
1481 | m_Mode: 3
1482 | m_WrapAround: 0
1483 | m_SelectOnUp: {fileID: 0}
1484 | m_SelectOnDown: {fileID: 0}
1485 | m_SelectOnLeft: {fileID: 0}
1486 | m_SelectOnRight: {fileID: 0}
1487 | m_Transition: 1
1488 | m_Colors:
1489 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
1490 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1491 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
1492 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1493 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
1494 | m_ColorMultiplier: 1
1495 | m_FadeDuration: 0.1
1496 | m_SpriteState:
1497 | m_HighlightedSprite: {fileID: 0}
1498 | m_PressedSprite: {fileID: 0}
1499 | m_SelectedSprite: {fileID: 0}
1500 | m_DisabledSprite: {fileID: 0}
1501 | m_AnimationTriggers:
1502 | m_NormalTrigger: Normal
1503 | m_HighlightedTrigger: Highlighted
1504 | m_PressedTrigger: Pressed
1505 | m_SelectedTrigger: Highlighted
1506 | m_DisabledTrigger: Disabled
1507 | m_Interactable: 1
1508 | m_TargetGraphic: {fileID: 902393489}
1509 | m_OnClick:
1510 | m_PersistentCalls:
1511 | m_Calls:
1512 | - m_Target: {fileID: 340450922}
1513 | m_TargetAssemblyTypeName: AVProWithOpenCVForUnityExample.AVProLiveCameraGetFrameAsColor32Example,
1514 | Assembly-CSharp
1515 | m_MethodName: OnBackButton
1516 | m_Mode: 1
1517 | m_Arguments:
1518 | m_ObjectArgument: {fileID: 0}
1519 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
1520 | m_IntArgument: 0
1521 | m_FloatArgument: 0
1522 | m_StringArgument:
1523 | m_BoolArgument: 0
1524 | m_CallState: 2
1525 | --- !u!114 &902393489
1526 | MonoBehaviour:
1527 | m_ObjectHideFlags: 0
1528 | m_CorrespondingSourceObject: {fileID: 0}
1529 | m_PrefabInstance: {fileID: 0}
1530 | m_PrefabAsset: {fileID: 0}
1531 | m_GameObject: {fileID: 902393485}
1532 | m_Enabled: 1
1533 | m_EditorHideFlags: 0
1534 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
1535 | m_Name:
1536 | m_EditorClassIdentifier:
1537 | m_Material: {fileID: 0}
1538 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1539 | m_RaycastTarget: 1
1540 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
1541 | m_Maskable: 1
1542 | m_OnCullStateChanged:
1543 | m_PersistentCalls:
1544 | m_Calls: []
1545 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
1546 | m_Type: 1
1547 | m_PreserveAspect: 0
1548 | m_FillCenter: 1
1549 | m_FillMethod: 4
1550 | m_FillAmount: 1
1551 | m_FillClockwise: 1
1552 | m_FillOrigin: 0
1553 | m_UseSpriteMesh: 0
1554 | m_PixelsPerUnitMultiplier: 1
1555 | --- !u!222 &902393490
1556 | CanvasRenderer:
1557 | m_ObjectHideFlags: 0
1558 | m_CorrespondingSourceObject: {fileID: 0}
1559 | m_PrefabInstance: {fileID: 0}
1560 | m_PrefabAsset: {fileID: 0}
1561 | m_GameObject: {fileID: 902393485}
1562 | m_CullTransparentMesh: 1
1563 | --- !u!1 &1197787444
1564 | GameObject:
1565 | m_ObjectHideFlags: 0
1566 | m_CorrespondingSourceObject: {fileID: 0}
1567 | m_PrefabInstance: {fileID: 0}
1568 | m_PrefabAsset: {fileID: 0}
1569 | serializedVersion: 6
1570 | m_Component:
1571 | - component: {fileID: 1197787445}
1572 | - component: {fileID: 1197787447}
1573 | - component: {fileID: 1197787446}
1574 | m_Layer: 5
1575 | m_Name: PixelizeModeToggle
1576 | m_TagString: Untagged
1577 | m_Icon: {fileID: 0}
1578 | m_NavMeshLayer: 0
1579 | m_StaticEditorFlags: 0
1580 | m_IsActive: 1
1581 | --- !u!224 &1197787445
1582 | RectTransform:
1583 | m_ObjectHideFlags: 0
1584 | m_CorrespondingSourceObject: {fileID: 0}
1585 | m_PrefabInstance: {fileID: 0}
1586 | m_PrefabAsset: {fileID: 0}
1587 | m_GameObject: {fileID: 1197787444}
1588 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1589 | m_LocalPosition: {x: 0, y: 0, z: 0}
1590 | m_LocalScale: {x: 1, y: 1, z: 1}
1591 | m_Children:
1592 | - {fileID: 1410250215}
1593 | - {fileID: 860616461}
1594 | m_Father: {fileID: 1762430820}
1595 | m_RootOrder: 2
1596 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1597 | m_AnchorMin: {x: 0, y: 0}
1598 | m_AnchorMax: {x: 0, y: 0}
1599 | m_AnchoredPosition: {x: 0, y: 0}
1600 | m_SizeDelta: {x: 0, y: 0}
1601 | m_Pivot: {x: 0.5, y: 0.5}
1602 | --- !u!114 &1197787446
1603 | MonoBehaviour:
1604 | m_ObjectHideFlags: 0
1605 | m_CorrespondingSourceObject: {fileID: 0}
1606 | m_PrefabInstance: {fileID: 0}
1607 | m_PrefabAsset: {fileID: 0}
1608 | m_GameObject: {fileID: 1197787444}
1609 | m_Enabled: 1
1610 | m_EditorHideFlags: 0
1611 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
1612 | m_Name:
1613 | m_EditorClassIdentifier:
1614 | m_IgnoreLayout: 0
1615 | m_MinWidth: -1
1616 | m_MinHeight: -1
1617 | m_PreferredWidth: 160
1618 | m_PreferredHeight: 40
1619 | m_FlexibleWidth: -1
1620 | m_FlexibleHeight: -1
1621 | m_LayoutPriority: 1
1622 | --- !u!114 &1197787447
1623 | MonoBehaviour:
1624 | m_ObjectHideFlags: 0
1625 | m_CorrespondingSourceObject: {fileID: 0}
1626 | m_PrefabInstance: {fileID: 0}
1627 | m_PrefabAsset: {fileID: 0}
1628 | m_GameObject: {fileID: 1197787444}
1629 | m_Enabled: 1
1630 | m_EditorHideFlags: 0
1631 | m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
1632 | m_Name:
1633 | m_EditorClassIdentifier:
1634 | m_Navigation:
1635 | m_Mode: 3
1636 | m_WrapAround: 0
1637 | m_SelectOnUp: {fileID: 0}
1638 | m_SelectOnDown: {fileID: 0}
1639 | m_SelectOnLeft: {fileID: 0}
1640 | m_SelectOnRight: {fileID: 0}
1641 | m_Transition: 1
1642 | m_Colors:
1643 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
1644 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1645 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
1646 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1647 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
1648 | m_ColorMultiplier: 1
1649 | m_FadeDuration: 0.1
1650 | m_SpriteState:
1651 | m_HighlightedSprite: {fileID: 0}
1652 | m_PressedSprite: {fileID: 0}
1653 | m_SelectedSprite: {fileID: 0}
1654 | m_DisabledSprite: {fileID: 0}
1655 | m_AnimationTriggers:
1656 | m_NormalTrigger: Normal
1657 | m_HighlightedTrigger: Highlighted
1658 | m_PressedTrigger: Pressed
1659 | m_SelectedTrigger: Highlighted
1660 | m_DisabledTrigger: Disabled
1661 | m_Interactable: 1
1662 | m_TargetGraphic: {fileID: 1410250216}
1663 | toggleTransition: 1
1664 | graphic: {fileID: 735803363}
1665 | m_Group: {fileID: 1762430821}
1666 | onValueChanged:
1667 | m_PersistentCalls:
1668 | m_Calls:
1669 | - m_Target: {fileID: 340450922}
1670 | m_TargetAssemblyTypeName: AVProWithOpenCVForUnityExample.AVProLiveCameraGetFrameAsColor32Example,
1671 | Assembly-CSharp
1672 | m_MethodName: OnPixelizeModeToggle
1673 | m_Mode: 1
1674 | m_Arguments:
1675 | m_ObjectArgument: {fileID: 0}
1676 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
1677 | m_IntArgument: 0
1678 | m_FloatArgument: 0
1679 | m_StringArgument:
1680 | m_BoolArgument: 0
1681 | m_CallState: 2
1682 | m_IsOn: 0
1683 | --- !u!1 &1349547972
1684 | GameObject:
1685 | m_ObjectHideFlags: 0
1686 | m_CorrespondingSourceObject: {fileID: 0}
1687 | m_PrefabInstance: {fileID: 0}
1688 | m_PrefabAsset: {fileID: 0}
1689 | serializedVersion: 6
1690 | m_Component:
1691 | - component: {fileID: 1349547973}
1692 | - component: {fileID: 1349547975}
1693 | - component: {fileID: 1349547974}
1694 | m_Layer: 5
1695 | m_Name: Label
1696 | m_TagString: Untagged
1697 | m_Icon: {fileID: 0}
1698 | m_NavMeshLayer: 0
1699 | m_StaticEditorFlags: 0
1700 | m_IsActive: 1
1701 | --- !u!224 &1349547973
1702 | RectTransform:
1703 | m_ObjectHideFlags: 0
1704 | m_CorrespondingSourceObject: {fileID: 0}
1705 | m_PrefabInstance: {fileID: 0}
1706 | m_PrefabAsset: {fileID: 0}
1707 | m_GameObject: {fileID: 1349547972}
1708 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1709 | m_LocalPosition: {x: 0, y: 0, z: 0}
1710 | m_LocalScale: {x: 1, y: 1, z: 1}
1711 | m_Children: []
1712 | m_Father: {fileID: 597765471}
1713 | m_RootOrder: 1
1714 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1715 | m_AnchorMin: {x: 0, y: 0}
1716 | m_AnchorMax: {x: 1, y: 1}
1717 | m_AnchoredPosition: {x: 20, y: -5.5}
1718 | m_SizeDelta: {x: -50, y: -13}
1719 | m_Pivot: {x: 0.5, y: 0.5}
1720 | --- !u!114 &1349547974
1721 | MonoBehaviour:
1722 | m_ObjectHideFlags: 0
1723 | m_CorrespondingSourceObject: {fileID: 0}
1724 | m_PrefabInstance: {fileID: 0}
1725 | m_PrefabAsset: {fileID: 0}
1726 | m_GameObject: {fileID: 1349547972}
1727 | m_Enabled: 1
1728 | m_EditorHideFlags: 0
1729 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
1730 | m_Name:
1731 | m_EditorClassIdentifier:
1732 | m_Material: {fileID: 0}
1733 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1734 | m_RaycastTarget: 1
1735 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
1736 | m_Maskable: 1
1737 | m_OnCullStateChanged:
1738 | m_PersistentCalls:
1739 | m_Calls: []
1740 | m_FontData:
1741 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
1742 | m_FontSize: 14
1743 | m_FontStyle: 0
1744 | m_BestFit: 0
1745 | m_MinSize: 10
1746 | m_MaxSize: 40
1747 | m_Alignment: 0
1748 | m_AlignByGeometry: 0
1749 | m_RichText: 1
1750 | m_HorizontalOverflow: 0
1751 | m_VerticalOverflow: 0
1752 | m_LineSpacing: 1
1753 | m_Text: Sepia
1754 | --- !u!222 &1349547975
1755 | CanvasRenderer:
1756 | m_ObjectHideFlags: 0
1757 | m_CorrespondingSourceObject: {fileID: 0}
1758 | m_PrefabInstance: {fileID: 0}
1759 | m_PrefabAsset: {fileID: 0}
1760 | m_GameObject: {fileID: 1349547972}
1761 | m_CullTransparentMesh: 1
1762 | --- !u!1 &1410250214
1763 | GameObject:
1764 | m_ObjectHideFlags: 0
1765 | m_CorrespondingSourceObject: {fileID: 0}
1766 | m_PrefabInstance: {fileID: 0}
1767 | m_PrefabAsset: {fileID: 0}
1768 | serializedVersion: 6
1769 | m_Component:
1770 | - component: {fileID: 1410250215}
1771 | - component: {fileID: 1410250217}
1772 | - component: {fileID: 1410250216}
1773 | m_Layer: 5
1774 | m_Name: Background
1775 | m_TagString: Untagged
1776 | m_Icon: {fileID: 0}
1777 | m_NavMeshLayer: 0
1778 | m_StaticEditorFlags: 0
1779 | m_IsActive: 1
1780 | --- !u!224 &1410250215
1781 | RectTransform:
1782 | m_ObjectHideFlags: 0
1783 | m_CorrespondingSourceObject: {fileID: 0}
1784 | m_PrefabInstance: {fileID: 0}
1785 | m_PrefabAsset: {fileID: 0}
1786 | m_GameObject: {fileID: 1410250214}
1787 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1788 | m_LocalPosition: {x: 0, y: 0, z: 0}
1789 | m_LocalScale: {x: 1, y: 1, z: 1}
1790 | m_Children:
1791 | - {fileID: 735803362}
1792 | m_Father: {fileID: 1197787445}
1793 | m_RootOrder: 0
1794 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1795 | m_AnchorMin: {x: 0, y: 1}
1796 | m_AnchorMax: {x: 0, y: 1}
1797 | m_AnchoredPosition: {x: 20, y: -20}
1798 | m_SizeDelta: {x: 40, y: 40}
1799 | m_Pivot: {x: 0.5, y: 0.5}
1800 | --- !u!114 &1410250216
1801 | MonoBehaviour:
1802 | m_ObjectHideFlags: 0
1803 | m_CorrespondingSourceObject: {fileID: 0}
1804 | m_PrefabInstance: {fileID: 0}
1805 | m_PrefabAsset: {fileID: 0}
1806 | m_GameObject: {fileID: 1410250214}
1807 | m_Enabled: 1
1808 | m_EditorHideFlags: 0
1809 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
1810 | m_Name:
1811 | m_EditorClassIdentifier:
1812 | m_Material: {fileID: 0}
1813 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1814 | m_RaycastTarget: 1
1815 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
1816 | m_Maskable: 1
1817 | m_OnCullStateChanged:
1818 | m_PersistentCalls:
1819 | m_Calls: []
1820 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
1821 | m_Type: 1
1822 | m_PreserveAspect: 0
1823 | m_FillCenter: 1
1824 | m_FillMethod: 4
1825 | m_FillAmount: 1
1826 | m_FillClockwise: 1
1827 | m_FillOrigin: 0
1828 | m_UseSpriteMesh: 0
1829 | m_PixelsPerUnitMultiplier: 1
1830 | --- !u!222 &1410250217
1831 | CanvasRenderer:
1832 | m_ObjectHideFlags: 0
1833 | m_CorrespondingSourceObject: {fileID: 0}
1834 | m_PrefabInstance: {fileID: 0}
1835 | m_PrefabAsset: {fileID: 0}
1836 | m_GameObject: {fileID: 1410250214}
1837 | m_CullTransparentMesh: 1
1838 | --- !u!1 &1656361536
1839 | GameObject:
1840 | m_ObjectHideFlags: 0
1841 | m_CorrespondingSourceObject: {fileID: 0}
1842 | m_PrefabInstance: {fileID: 0}
1843 | m_PrefabAsset: {fileID: 0}
1844 | serializedVersion: 6
1845 | m_Component:
1846 | - component: {fileID: 1656361540}
1847 | - component: {fileID: 1656361539}
1848 | - component: {fileID: 1656361538}
1849 | - component: {fileID: 1656361537}
1850 | m_Layer: 0
1851 | m_Name: AVProLiveCamera
1852 | m_TagString: Untagged
1853 | m_Icon: {fileID: 0}
1854 | m_NavMeshLayer: 0
1855 | m_StaticEditorFlags: 0
1856 | m_IsActive: 1
1857 | --- !u!114 &1656361537
1858 | MonoBehaviour:
1859 | m_ObjectHideFlags: 0
1860 | m_CorrespondingSourceObject: {fileID: 0}
1861 | m_PrefabInstance: {fileID: 0}
1862 | m_PrefabAsset: {fileID: 0}
1863 | m_GameObject: {fileID: 1656361536}
1864 | m_Enabled: 1
1865 | m_EditorHideFlags: 0
1866 | m_Script: {fileID: 11500000, guid: ad43af36df273084f8ac3b1fa71ae729, type: 3}
1867 | m_Name:
1868 | m_EditorClassIdentifier:
1869 | _liveCamera: {fileID: 1656361539}
1870 | _liveCameraManager: {fileID: 1656361538}
1871 | _guiSkin: {fileID: 11400000, guid: eb821627fb1a0c044a6fd7a6dabe3147, type: 2}
1872 | --- !u!114 &1656361538
1873 | MonoBehaviour:
1874 | m_ObjectHideFlags: 0
1875 | m_CorrespondingSourceObject: {fileID: 0}
1876 | m_PrefabInstance: {fileID: 0}
1877 | m_PrefabAsset: {fileID: 0}
1878 | m_GameObject: {fileID: 1656361536}
1879 | m_Enabled: 1
1880 | m_EditorHideFlags: 0
1881 | m_Script: {fileID: 11500000, guid: edba0400f2985f145bfd6428f24d2110, type: 3}
1882 | m_Name:
1883 | m_EditorClassIdentifier:
1884 | _supportHotSwapping: 0
1885 | _supportInternalFormatConversion: 0
1886 | _shaderBGRA32: {fileID: 4800000, guid: 55de6cd535b200d4c9e41052d04ec1e5, type: 3}
1887 | _shaderMONO8: {fileID: 4800000, guid: 48acad89159eb1e448777379baab7384, type: 3}
1888 | _shaderYUY2: {fileID: 4800000, guid: d1ab837474c2da44594e57fab5f4d831, type: 3}
1889 | _shaderUYVY: {fileID: 4800000, guid: cae66dddac87aba4d8af6f0f8829133b, type: 3}
1890 | _shaderYVYU: {fileID: 4800000, guid: add9070511111234fb8d9e7048c60b5c, type: 3}
1891 | _shaderHDYC: {fileID: 4800000, guid: d15eca7ae06474249b354472a6bf9265, type: 3}
1892 | _shaderI420: {fileID: 4800000, guid: 3e319fd1d6f9b4a47b871fb185c665e7, type: 3}
1893 | _shaderYV12: {fileID: 4800000, guid: 04afacd8ed181b341910528e6b31102a, type: 3}
1894 | _shaderDeinterlace: {fileID: 4800000, guid: 33f55a5d4bd45ae40abfc13543f7bada, type: 3}
1895 | --- !u!114 &1656361539
1896 | MonoBehaviour:
1897 | m_ObjectHideFlags: 0
1898 | m_CorrespondingSourceObject: {fileID: 0}
1899 | m_PrefabInstance: {fileID: 0}
1900 | m_PrefabAsset: {fileID: 0}
1901 | m_GameObject: {fileID: 1656361536}
1902 | m_Enabled: 1
1903 | m_EditorHideFlags: 0
1904 | m_Script: {fileID: 11500000, guid: 1015dbb0b69fdd446b617191771ffcce, type: 3}
1905 | m_Name:
1906 | m_EditorClassIdentifier:
1907 | _deviceSelection: 0
1908 | _desiredDeviceNames:
1909 | - Logitech Webcam Pro 9000
1910 | - Decklink Video Capture
1911 | _desiredDeviceIndex: 1
1912 | _modeSelection: 0
1913 | _desiredAnyResolution: 1
1914 | _desiredResolutions:
1915 | - {x: 1280, y: 720}
1916 | - {x: 640, y: 480}
1917 | _desiredModeIndex: 1
1918 | _maintainAspectRatio: 0
1919 | _desiredFrameRate: 0
1920 | _desiredFormatAny: 1
1921 | _desiredTransparencyFormat: 0
1922 | _desiredFormat: 4
1923 | _videoInputSelection: 0
1924 | _desiredVideoInputs: 04000000
1925 | _desiredVideoInputIndex: 0
1926 | _preferPreviewPin: 0
1927 | _clockMode: 0
1928 | _deinterlace: 0
1929 | _playOnStart: 1
1930 | _allowTransparency: 1
1931 | _flipX: 0
1932 | _flipY: 0
1933 | _yCbCrRange: 0
1934 | _updateHotSwap: 0
1935 | _updateFrameRates: 0
1936 | _updateSettings: 0
1937 | --- !u!4 &1656361540
1938 | Transform:
1939 | m_ObjectHideFlags: 0
1940 | m_CorrespondingSourceObject: {fileID: 0}
1941 | m_PrefabInstance: {fileID: 0}
1942 | m_PrefabAsset: {fileID: 0}
1943 | m_GameObject: {fileID: 1656361536}
1944 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1945 | m_LocalPosition: {x: 0, y: 0, z: 0}
1946 | m_LocalScale: {x: 1, y: 1, z: 1}
1947 | m_Children: []
1948 | m_Father: {fileID: 0}
1949 | m_RootOrder: 4
1950 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1951 | --- !u!1 &1762430819
1952 | GameObject:
1953 | m_ObjectHideFlags: 0
1954 | m_CorrespondingSourceObject: {fileID: 0}
1955 | m_PrefabInstance: {fileID: 0}
1956 | m_PrefabAsset: {fileID: 0}
1957 | serializedVersion: 6
1958 | m_Component:
1959 | - component: {fileID: 1762430820}
1960 | - component: {fileID: 1762430821}
1961 | - component: {fileID: 1762430822}
1962 | m_Layer: 5
1963 | m_Name: ToggleGroup
1964 | m_TagString: Untagged
1965 | m_Icon: {fileID: 0}
1966 | m_NavMeshLayer: 0
1967 | m_StaticEditorFlags: 0
1968 | m_IsActive: 1
1969 | --- !u!224 &1762430820
1970 | RectTransform:
1971 | m_ObjectHideFlags: 0
1972 | m_CorrespondingSourceObject: {fileID: 0}
1973 | m_PrefabInstance: {fileID: 0}
1974 | m_PrefabAsset: {fileID: 0}
1975 | m_GameObject: {fileID: 1762430819}
1976 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1977 | m_LocalPosition: {x: 0, y: 0, z: 0}
1978 | m_LocalScale: {x: 1, y: 1, z: 1}
1979 | m_Children:
1980 | - {fileID: 573028660}
1981 | - {fileID: 597765471}
1982 | - {fileID: 1197787445}
1983 | m_Father: {fileID: 614697263}
1984 | m_RootOrder: 1
1985 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1986 | m_AnchorMin: {x: 0, y: 0}
1987 | m_AnchorMax: {x: 0, y: 0}
1988 | m_AnchoredPosition: {x: 0, y: 0}
1989 | m_SizeDelta: {x: 0, y: 0}
1990 | m_Pivot: {x: 0.5, y: 0.5}
1991 | --- !u!114 &1762430821
1992 | MonoBehaviour:
1993 | m_ObjectHideFlags: 0
1994 | m_CorrespondingSourceObject: {fileID: 0}
1995 | m_PrefabInstance: {fileID: 0}
1996 | m_PrefabAsset: {fileID: 0}
1997 | m_GameObject: {fileID: 1762430819}
1998 | m_Enabled: 1
1999 | m_EditorHideFlags: 0
2000 | m_Script: {fileID: 11500000, guid: 2fafe2cfe61f6974895a912c3755e8f1, type: 3}
2001 | m_Name:
2002 | m_EditorClassIdentifier:
2003 | m_AllowSwitchOff: 0
2004 | --- !u!114 &1762430822
2005 | MonoBehaviour:
2006 | m_ObjectHideFlags: 0
2007 | m_CorrespondingSourceObject: {fileID: 0}
2008 | m_PrefabInstance: {fileID: 0}
2009 | m_PrefabAsset: {fileID: 0}
2010 | m_GameObject: {fileID: 1762430819}
2011 | m_Enabled: 1
2012 | m_EditorHideFlags: 0
2013 | m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
2014 | m_Name:
2015 | m_EditorClassIdentifier:
2016 | m_Padding:
2017 | m_Left: 0
2018 | m_Right: 0
2019 | m_Top: 0
2020 | m_Bottom: 0
2021 | m_ChildAlignment: 0
2022 | m_Spacing: 10
2023 | m_ChildForceExpandWidth: 0
2024 | m_ChildForceExpandHeight: 0
2025 | m_ChildControlWidth: 1
2026 | m_ChildControlHeight: 1
2027 | m_ChildScaleWidth: 0
2028 | m_ChildScaleHeight: 0
2029 | m_ReverseArrangement: 0
2030 | --- !u!1 &1839393828
2031 | GameObject:
2032 | m_ObjectHideFlags: 0
2033 | m_CorrespondingSourceObject: {fileID: 0}
2034 | m_PrefabInstance: {fileID: 0}
2035 | m_PrefabAsset: {fileID: 0}
2036 | serializedVersion: 6
2037 | m_Component:
2038 | - component: {fileID: 1839393829}
2039 | - component: {fileID: 1839393831}
2040 | - component: {fileID: 1839393830}
2041 | m_Layer: 5
2042 | m_Name: Text
2043 | m_TagString: Untagged
2044 | m_Icon: {fileID: 0}
2045 | m_NavMeshLayer: 0
2046 | m_StaticEditorFlags: 0
2047 | m_IsActive: 1
2048 | --- !u!224 &1839393829
2049 | RectTransform:
2050 | m_ObjectHideFlags: 0
2051 | m_CorrespondingSourceObject: {fileID: 0}
2052 | m_PrefabInstance: {fileID: 0}
2053 | m_PrefabAsset: {fileID: 0}
2054 | m_GameObject: {fileID: 1839393828}
2055 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
2056 | m_LocalPosition: {x: 0, y: 0, z: 0}
2057 | m_LocalScale: {x: 1, y: 1, z: 1}
2058 | m_Children: []
2059 | m_Father: {fileID: 902393486}
2060 | m_RootOrder: 0
2061 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2062 | m_AnchorMin: {x: 0, y: 0}
2063 | m_AnchorMax: {x: 1, y: 1}
2064 | m_AnchoredPosition: {x: 0, y: 0}
2065 | m_SizeDelta: {x: 0, y: 0}
2066 | m_Pivot: {x: 0.5, y: 0.5}
2067 | --- !u!114 &1839393830
2068 | MonoBehaviour:
2069 | m_ObjectHideFlags: 0
2070 | m_CorrespondingSourceObject: {fileID: 0}
2071 | m_PrefabInstance: {fileID: 0}
2072 | m_PrefabAsset: {fileID: 0}
2073 | m_GameObject: {fileID: 1839393828}
2074 | m_Enabled: 1
2075 | m_EditorHideFlags: 0
2076 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
2077 | m_Name:
2078 | m_EditorClassIdentifier:
2079 | m_Material: {fileID: 0}
2080 | m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
2081 | m_RaycastTarget: 1
2082 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
2083 | m_Maskable: 1
2084 | m_OnCullStateChanged:
2085 | m_PersistentCalls:
2086 | m_Calls: []
2087 | m_FontData:
2088 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
2089 | m_FontSize: 14
2090 | m_FontStyle: 0
2091 | m_BestFit: 0
2092 | m_MinSize: 10
2093 | m_MaxSize: 40
2094 | m_Alignment: 4
2095 | m_AlignByGeometry: 0
2096 | m_RichText: 1
2097 | m_HorizontalOverflow: 0
2098 | m_VerticalOverflow: 0
2099 | m_LineSpacing: 1
2100 | m_Text: Back
2101 | --- !u!222 &1839393831
2102 | CanvasRenderer:
2103 | m_ObjectHideFlags: 0
2104 | m_CorrespondingSourceObject: {fileID: 0}
2105 | m_PrefabInstance: {fileID: 0}
2106 | m_PrefabAsset: {fileID: 0}
2107 | m_GameObject: {fileID: 1839393828}
2108 | m_CullTransparentMesh: 1
2109 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProLiveCameraGetFrameAsColor32Example/AVProLiveCameraGetFrameAsColor32Example.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8d03a8d964fc0344b92e785a6f8d7ecb
3 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoAsyncGPUReadbackExample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0c543920ca160fc419655af80de5cb6a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoAsyncGPUReadbackExample/AVProVideoAsyncGPUReadbackExample.cs:
--------------------------------------------------------------------------------
1 | using OpenCVForUnity.CoreModule;
2 | using OpenCVForUnity.ImgprocModule;
3 | using OpenCVForUnity.UnityUtils;
4 | using RenderHeads.Media.AVProVideo;
5 | using System.Linq;
6 | using UnityEngine;
7 | using UnityEngine.Experimental.Rendering;
8 | using UnityEngine.Rendering;
9 | using UnityEngine.SceneManagement;
10 | using UnityEngine.UI;
11 |
12 | namespace AVProWithOpenCVForUnityExample
13 | {
14 | ///
15 | /// AVProVideo AsyncGPUReadback Example
16 | /// An example of converting an AVProVideo image frame to an OpenCV Mat using AsyncGPUReadback.
17 | ///
18 | public class AVProVideoAsyncGPUReadbackExample : MonoBehaviour
19 | {
20 |
21 | ///
22 | /// The media player.
23 | ///
24 | public MediaPlayer mediaPlayer;
25 |
26 | private int _lastFrame;
27 |
28 | private bool _graphicsFormatIsFormatSupported;
29 |
30 | ///
31 | /// The texture.
32 | ///
33 | Texture2D texture;
34 |
35 | ///
36 | /// The rgba mat.
37 | ///
38 | Mat rgbaMat;
39 |
40 | ///
41 | /// The m sepia kernel.
42 | ///
43 | Mat mSepiaKernel;
44 |
45 | ///
46 | /// The m size0.
47 | ///
48 | Size mSize0;
49 |
50 | ///
51 | /// The m intermediate mat.
52 | ///
53 | Mat mIntermediateMat;
54 |
55 | public enum modeType
56 | {
57 | original,
58 | sepia,
59 | pixelize,
60 | }
61 |
62 | ///
63 | /// The mode.
64 | ///
65 | modeType mode;
66 |
67 |
68 | ///
69 | /// The original mode toggle.
70 | ///
71 | public Toggle originalModeToggle;
72 |
73 |
74 | ///
75 | /// The sepia mode toggle.
76 | ///
77 | public Toggle sepiaModeToggle;
78 |
79 |
80 | ///
81 | /// The pixelize mode toggle.
82 | ///
83 | public Toggle pixelizeModeToggle;
84 |
85 |
86 | // Use this for initialization
87 | void Start()
88 | {
89 | if (originalModeToggle.isOn)
90 | {
91 | mode = modeType.original;
92 | }
93 | if (sepiaModeToggle.isOn)
94 | {
95 | mode = modeType.sepia;
96 | }
97 | if (pixelizeModeToggle.isOn)
98 | {
99 | mode = modeType.pixelize;
100 | }
101 |
102 | // sepia
103 | mSepiaKernel = new Mat(4, 4, CvType.CV_32F);
104 | mSepiaKernel.put(0, 0, /* R */0.189f, 0.769f, 0.393f, 0f);
105 | mSepiaKernel.put(1, 0, /* G */0.168f, 0.686f, 0.349f, 0f);
106 | mSepiaKernel.put(2, 0, /* B */0.131f, 0.534f, 0.272f, 0f);
107 | mSepiaKernel.put(3, 0, /* A */0.000f, 0.000f, 0.000f, 1f);
108 |
109 |
110 | // pixelize
111 | mIntermediateMat = new Mat();
112 | mSize0 = new Size();
113 |
114 |
115 | mediaPlayer.Events.AddListener(OnVideoEvent);
116 |
117 | //
118 | ReadbackSupport();
119 | //
120 | }
121 |
122 | //
123 | public void ReadbackSupport()
124 | {
125 | var read_formats = System.Enum.GetValues(typeof(GraphicsFormat)).Cast()
126 | .Where(f => SystemInfo.IsFormatSupported(f, FormatUsage.ReadPixels))
127 | .ToArray();
128 | Debug.Log("AsyncGPUReadbackSupportedGraphicsFormats:\n" + string.Join("\n", read_formats));
129 | }
130 | //
131 |
132 | // Update is called once per frame
133 | void Update()
134 | {
135 |
136 | if (texture != null)
137 | {
138 | IMediaControl control = mediaPlayer.Control;
139 |
140 | int lastFrame = control.GetCurrentTimeFrames();
141 |
142 | // Reset _lastFrame at the timing when the video is reset.
143 | if (lastFrame < _lastFrame)
144 | _lastFrame = 0;
145 |
146 | if (lastFrame != _lastFrame)
147 | {
148 | _lastFrame = lastFrame;
149 |
150 | //Debug.Log("FrameReady " + lastFrame);
151 |
152 | if (_graphicsFormatIsFormatSupported)
153 | {
154 | AsyncGPUReadback.Request(mediaPlayer.TextureProducer.GetTexture(), 0, TextureFormat.RGBA32, (request) => { OnCompleteReadback(request, lastFrame); });
155 | }
156 | }
157 | }
158 |
159 | }
160 |
161 | void OnCompleteReadback(AsyncGPUReadbackRequest request, long frameIndex)
162 | {
163 |
164 | if (request.hasError)
165 | {
166 | Debug.Log("GPU readback error detected. " + frameIndex);
167 |
168 | }
169 | else if (request.done)
170 | {
171 | //Debug.Log("Start GPU readback done. "+frameIndex);
172 |
173 | //Debug.Log("Thread.CurrentThread.ManagedThreadId " + Thread.CurrentThread.ManagedThreadId);
174 |
175 | MatUtils.copyToMat(request.GetData(), rgbaMat);
176 |
177 | //Core.flip(rgbaMat, rgbaMat, 0);
178 |
179 |
180 | if (mode == modeType.original)
181 | {
182 |
183 | }
184 | else if (mode == modeType.sepia)
185 | {
186 |
187 | Core.transform(rgbaMat, rgbaMat, mSepiaKernel);
188 |
189 | }
190 | else if (mode == modeType.pixelize)
191 | {
192 |
193 | Imgproc.resize(rgbaMat, mIntermediateMat, mSize0, 0.1, 0.1, Imgproc.INTER_NEAREST);
194 | Imgproc.resize(mIntermediateMat, rgbaMat, rgbaMat.size(), 0.0, 0.0, Imgproc.INTER_NEAREST);
195 |
196 | }
197 |
198 |
199 | Imgproc.putText(rgbaMat, "AVPro With OpenCV for Unity Example", new Point(50, rgbaMat.rows() / 2), Imgproc.FONT_HERSHEY_SIMPLEX, 2.0, new Scalar(255, 0, 0, 255), 5, Imgproc.LINE_AA, false);
200 | Imgproc.putText(rgbaMat, "W:" + rgbaMat.width() + " H:" + rgbaMat.height() + " SO:" + Screen.orientation, new Point(5, rgbaMat.rows() - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar(255, 255, 255, 255), 2, Imgproc.LINE_AA, false);
201 |
202 | //Convert Mat to Texture2D
203 | Utils.matToTexture2D(rgbaMat, texture);
204 |
205 | //Debug.Log("End GPU readback done. " + frameIndex);
206 |
207 | }
208 | }
209 |
210 | // Callback function to handle events
211 | public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et,
212 | ErrorCode errorCode)
213 | {
214 | switch (et)
215 | {
216 | case MediaPlayerEvent.EventType.ReadyToPlay:
217 | mediaPlayer.Control.Play();
218 | break;
219 | case MediaPlayerEvent.EventType.FirstFrameReady:
220 | Debug.Log("First frame ready");
221 | OnNewMediaReady();
222 | break;
223 | case MediaPlayerEvent.EventType.FinishedPlaying:
224 | mediaPlayer.Control.Rewind();
225 | break;
226 | }
227 | Debug.Log("Event: " + et.ToString());
228 | }
229 |
230 | ///
231 | /// Raises the new media ready event.
232 | ///
233 | private void OnNewMediaReady()
234 | {
235 | IMediaInfo info = mediaPlayer.Info;
236 |
237 | Debug.Log("GetVideoWidth " + info.GetVideoWidth() + " GetVideoHeight() " + info.GetVideoHeight());
238 |
239 | // Create a texture the same resolution as our video
240 | if (texture != null)
241 | {
242 | Texture2D.Destroy(texture);
243 | texture = null;
244 | }
245 |
246 | texture = new Texture2D(info.GetVideoWidth(), info.GetVideoHeight(), TextureFormat.RGBA32, false);
247 |
248 | rgbaMat = new Mat(texture.height, texture.width, CvType.CV_8UC4);
249 |
250 |
251 | gameObject.GetComponent().material.mainTexture = texture;
252 |
253 | gameObject.transform.localScale = new Vector3(texture.width, texture.height, 1);
254 | Debug.Log("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
255 |
256 | float width = texture.width;
257 | float height = texture.height;
258 |
259 | float widthScale = (float)Screen.width / width;
260 | float heightScale = (float)Screen.height / height;
261 | if (widthScale < heightScale)
262 | {
263 | Camera.main.orthographicSize = (width * (float)Screen.height / (float)Screen.width) / 2;
264 | }
265 | else
266 | {
267 | Camera.main.orthographicSize = height / 2;
268 | }
269 |
270 |
271 | _graphicsFormatIsFormatSupported = SystemInfo.IsFormatSupported(mediaPlayer.TextureProducer.GetTexture().graphicsFormat, FormatUsage.ReadPixels);
272 |
273 | if (!_graphicsFormatIsFormatSupported)
274 | {
275 | Imgproc.rectangle(rgbaMat, new OpenCVForUnity.CoreModule.Rect(0, 0, rgbaMat.width(), rgbaMat.height()), new Scalar(0, 0, 0, 255), -1);
276 | Imgproc.putText(rgbaMat, mediaPlayer.TextureProducer.GetTexture().graphicsFormat + " is not supported for AsyncGPUReadback.", new Point(5, rgbaMat.rows() - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar(255, 255, 255, 255), 2, Imgproc.LINE_AA, false);
277 |
278 | Utils.matToTexture2D(rgbaMat, texture);
279 | }
280 | }
281 |
282 | ///
283 | /// Raises the destroy event.
284 | ///
285 | void OnDestroy()
286 | {
287 | AsyncGPUReadback.WaitAllRequests();
288 |
289 | if (texture != null)
290 | {
291 | Texture2D.Destroy(texture);
292 | texture = null;
293 | }
294 |
295 | if (mSepiaKernel != null)
296 | {
297 | mSepiaKernel.Dispose();
298 | mSepiaKernel = null;
299 | }
300 |
301 | if (mIntermediateMat != null)
302 | {
303 | mIntermediateMat.Dispose();
304 | mIntermediateMat = null;
305 | }
306 | }
307 |
308 | ///
309 | /// Raises the back button event.
310 | ///
311 | public void OnBackButton()
312 | {
313 | SceneManager.LoadScene("AVProWithOpenCVForUnityExample");
314 | }
315 |
316 | ///
317 | /// Raises the original mode toggle event.
318 | ///
319 | public void OnOriginalModeToggle()
320 | {
321 |
322 | if (originalModeToggle.isOn)
323 | {
324 | mode = modeType.original;
325 | }
326 | }
327 |
328 | ///
329 | /// Raises the sepia mode toggle event.
330 | ///
331 | public void OnSepiaModeToggle()
332 | {
333 |
334 | if (sepiaModeToggle.isOn)
335 | {
336 | mode = modeType.sepia;
337 | }
338 | }
339 |
340 | ///
341 | /// Raises the pixelize mode toggle event.
342 | ///
343 | public void OnPixelizeModeToggle()
344 | {
345 |
346 | if (pixelizeModeToggle.isOn)
347 | {
348 | mode = modeType.pixelize;
349 | }
350 | }
351 | }
352 | }
353 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoAsyncGPUReadbackExample/AVProVideoAsyncGPUReadbackExample.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a8cbcbf9b572da847968f474eff427fc
3 | timeCreated: 1481630932
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoAsyncGPUReadbackExample/AVProVideoAsyncGPUReadbackExample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3a3cc0eccff92be45a48ab04922797a0
3 | timeCreated: 1481556427
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoExtractFrameExample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5c1ad4319f41e434aa9391912311a971
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoExtractFrameExample/AVProVideoExtractFrameExample.cs:
--------------------------------------------------------------------------------
1 | using OpenCVForUnity.CoreModule;
2 | using OpenCVForUnity.ImgprocModule;
3 | using OpenCVForUnity.UnityUtils;
4 | using RenderHeads.Media.AVProVideo;
5 | using UnityEngine;
6 | using UnityEngine.SceneManagement;
7 | using UnityEngine.UI;
8 |
9 | namespace AVProWithOpenCVForUnityExample
10 | {
11 | ///
12 | /// AVProVideo ExtractFrame Example
13 | /// An example of converting an AVProVideo image frame to an OpenCV Mat using ExtractFrame.
14 | ///
15 | public class AVProVideoExtractFrameExample : MonoBehaviour
16 | {
17 |
18 | private const int TARGET_FRAME_NUMBER = 100;
19 | private float _timeSeconds = 0f;
20 | public bool _accurateSeek = false;
21 | public int _timeoutMs = 250;
22 |
23 | ///
24 | /// The media player.
25 | ///
26 | public MediaPlayer mediaPlayer;
27 |
28 | ///
29 | /// The texture.
30 | ///
31 | Texture2D texture;
32 |
33 | ///
34 | /// The rgba mat.
35 | ///
36 | Mat rgbaMat;
37 |
38 | ///
39 | /// The m sepia kernel.
40 | ///
41 | Mat mSepiaKernel;
42 |
43 | ///
44 | /// The m size0.
45 | ///
46 | Size mSize0;
47 |
48 | ///
49 | /// The m intermediate mat.
50 | ///
51 | Mat mIntermediateMat;
52 |
53 | public enum modeType
54 | {
55 | original,
56 | sepia,
57 | pixelize,
58 | }
59 |
60 | ///
61 | /// The mode.
62 | ///
63 | modeType mode;
64 |
65 |
66 | ///
67 | /// The original mode toggle.
68 | ///
69 | public Toggle originalModeToggle;
70 |
71 |
72 | ///
73 | /// The sepia mode toggle.
74 | ///
75 | public Toggle sepiaModeToggle;
76 |
77 |
78 | ///
79 | /// The pixelize mode toggle.
80 | ///
81 | public Toggle pixelizeModeToggle;
82 |
83 |
84 | // Use this for initialization
85 | void Start()
86 | {
87 | if (originalModeToggle.isOn)
88 | {
89 | mode = modeType.original;
90 | }
91 | if (sepiaModeToggle.isOn)
92 | {
93 | mode = modeType.sepia;
94 | }
95 | if (pixelizeModeToggle.isOn)
96 | {
97 | mode = modeType.pixelize;
98 | }
99 |
100 | // sepia
101 | mSepiaKernel = new Mat(4, 4, CvType.CV_32F);
102 | mSepiaKernel.put(0, 0, /* R */0.189f, 0.769f, 0.393f, 0f);
103 | mSepiaKernel.put(1, 0, /* G */0.168f, 0.686f, 0.349f, 0f);
104 | mSepiaKernel.put(2, 0, /* B */0.131f, 0.534f, 0.272f, 0f);
105 | mSepiaKernel.put(3, 0, /* A */0.000f, 0.000f, 0.000f, 1f);
106 |
107 |
108 | // pixelize
109 | mIntermediateMat = new Mat();
110 | mSize0 = new Size();
111 |
112 |
113 | mediaPlayer.Events.AddListener(OnVideoEvent);
114 | }
115 |
116 | // Update is called once per frame
117 | void Update()
118 | {
119 |
120 | if (texture != null)
121 | {
122 |
123 | //Convert AVPro's Texture to Texture2D
124 | mediaPlayer.ExtractFrame(texture, _timeSeconds, _accurateSeek, _timeoutMs);
125 |
126 | //Convert Texture2D to Mat
127 | Utils.texture2DToMat(texture, rgbaMat);
128 |
129 |
130 | if (mode == modeType.original)
131 | {
132 |
133 | }
134 | else if (mode == modeType.sepia)
135 | {
136 |
137 | Core.transform(rgbaMat, rgbaMat, mSepiaKernel);
138 |
139 | }
140 | else if (mode == modeType.pixelize)
141 | {
142 |
143 | Imgproc.resize(rgbaMat, mIntermediateMat, mSize0, 0.1, 0.1, Imgproc.INTER_NEAREST);
144 | Imgproc.resize(mIntermediateMat, rgbaMat, rgbaMat.size(), 0.0, 0.0, Imgproc.INTER_NEAREST);
145 |
146 | }
147 |
148 |
149 | Imgproc.putText(rgbaMat, "AVPro With OpenCV for Unity Example", new Point(50, rgbaMat.rows() / 2), Imgproc.FONT_HERSHEY_SIMPLEX, 2.0, new Scalar(255, 0, 0, 255), 5, Imgproc.LINE_AA, false);
150 | Imgproc.putText(rgbaMat, "ExtractFrame: " + TARGET_FRAME_NUMBER + "( " + _timeSeconds + "sec )", new Point(50, rgbaMat.rows() / 2 + 60), Imgproc.FONT_HERSHEY_SIMPLEX, 2.0, new Scalar(0, 0, 255, 255), 5, Imgproc.LINE_AA, false);
151 | Imgproc.putText(rgbaMat, "W:" + rgbaMat.width() + " H:" + rgbaMat.height() + " SO:" + Screen.orientation, new Point(5, rgbaMat.rows() - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar(255, 255, 255, 255), 2, Imgproc.LINE_AA, false);
152 |
153 | //Convert Mat to Texture2D
154 | Utils.matToTexture2D(rgbaMat, texture);
155 |
156 | }
157 |
158 | }
159 |
160 | // Callback function to handle events
161 | public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et,
162 | ErrorCode errorCode)
163 | {
164 | switch (et)
165 | {
166 | case MediaPlayerEvent.EventType.ReadyToPlay:
167 | mediaPlayer.Control.Play();
168 | mediaPlayer.Control.Pause();
169 | break;
170 | case MediaPlayerEvent.EventType.FirstFrameReady:
171 | Debug.Log("First frame ready");
172 | OnNewMediaReady();
173 | break;
174 | case MediaPlayerEvent.EventType.FinishedPlaying:
175 | mediaPlayer.Control.Rewind();
176 | break;
177 | }
178 | Debug.Log("Event: " + et.ToString());
179 | }
180 |
181 | ///
182 | /// Raises the new media ready event.
183 | ///
184 | private void OnNewMediaReady()
185 | {
186 | IMediaInfo info = mediaPlayer.Info;
187 |
188 | Debug.Log("GetVideoWidth " + info.GetVideoWidth() + " GetVideoHeight() " + info.GetVideoHeight());
189 |
190 | // Create a texture the same resolution as our video
191 | if (texture != null)
192 | {
193 | Texture2D.Destroy(texture);
194 | texture = null;
195 | }
196 |
197 | texture = new Texture2D(info.GetVideoWidth(), info.GetVideoHeight(), TextureFormat.RGBA32, false);
198 |
199 | rgbaMat = new Mat(texture.height, texture.width, CvType.CV_8UC4);
200 |
201 |
202 | gameObject.GetComponent().material.mainTexture = texture;
203 |
204 | gameObject.transform.localScale = new Vector3(texture.width, texture.height, 1);
205 | Debug.Log("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
206 |
207 | float width = texture.width;
208 | float height = texture.height;
209 |
210 | float widthScale = (float)Screen.width / width;
211 | float heightScale = (float)Screen.height / height;
212 | if (widthScale < heightScale)
213 | {
214 | Camera.main.orthographicSize = (width * (float)Screen.height / (float)Screen.width) / 2;
215 | }
216 | else
217 | {
218 | Camera.main.orthographicSize = height / 2;
219 | }
220 |
221 |
222 | _timeSeconds = 1f / info.GetVideoFrameRate() * TARGET_FRAME_NUMBER;
223 | }
224 |
225 | ///
226 | /// Raises the destroy event.
227 | ///
228 | void OnDestroy()
229 | {
230 | if (texture != null)
231 | {
232 | Texture2D.Destroy(texture);
233 | texture = null;
234 | }
235 |
236 | if (mSepiaKernel != null)
237 | {
238 | mSepiaKernel.Dispose();
239 | mSepiaKernel = null;
240 | }
241 |
242 | if (mIntermediateMat != null)
243 | {
244 | mIntermediateMat.Dispose();
245 | mIntermediateMat = null;
246 | }
247 | }
248 |
249 | ///
250 | /// Raises the back button event.
251 | ///
252 | public void OnBackButton()
253 | {
254 | SceneManager.LoadScene("AVProWithOpenCVForUnityExample");
255 | }
256 |
257 | ///
258 | /// Raises the original mode toggle event.
259 | ///
260 | public void OnOriginalModeToggle()
261 | {
262 |
263 | if (originalModeToggle.isOn)
264 | {
265 | mode = modeType.original;
266 | }
267 | }
268 |
269 | ///
270 | /// Raises the sepia mode toggle event.
271 | ///
272 | public void OnSepiaModeToggle()
273 | {
274 |
275 | if (sepiaModeToggle.isOn)
276 | {
277 | mode = modeType.sepia;
278 | }
279 | }
280 |
281 | ///
282 | /// Raises the pixelize mode toggle event.
283 | ///
284 | public void OnPixelizeModeToggle()
285 | {
286 |
287 | if (pixelizeModeToggle.isOn)
288 | {
289 | mode = modeType.pixelize;
290 | }
291 | }
292 | }
293 | }
294 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoExtractFrameExample/AVProVideoExtractFrameExample.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 02bc8c8566218a64e8169c524409eddf
3 | timeCreated: 1481632611
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoExtractFrameExample/AVProVideoExtractFrameExample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e02af0c567b75d74b895d8a7be46d345
3 | timeCreated: 1481632581
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoGetReadableTextureExample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0d2a3439faad07f46b3c8549a224c602
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoGetReadableTextureExample/AVProVideoGetReadableTextureExample.cs:
--------------------------------------------------------------------------------
1 | using OpenCVForUnity.CoreModule;
2 | using OpenCVForUnity.ImgprocModule;
3 | using OpenCVForUnity.UnityUtils;
4 | using RenderHeads.Media.AVProVideo;
5 | using UnityEngine;
6 | using UnityEngine.SceneManagement;
7 | using UnityEngine.UI;
8 |
9 | namespace AVProWithOpenCVForUnityExample
10 | {
11 | ///
12 | /// AVProVideo GetReadableTexture Example
13 | /// An example of converting an AVProVideo image frame to an OpenCV Mat using GetReadableTexture.
14 | ///
15 | public class AVProVideoGetReadableTextureExample : MonoBehaviour
16 | {
17 |
18 | ///
19 | /// The media player.
20 | ///
21 | public MediaPlayer mediaPlayer;
22 |
23 | private int _lastFrame;
24 |
25 | ///
26 | /// The texture.
27 | ///
28 | Texture2D texture;
29 |
30 | ///
31 | /// The rgba mat.
32 | ///
33 | Mat rgbaMat;
34 |
35 | ///
36 | /// The m sepia kernel.
37 | ///
38 | Mat mSepiaKernel;
39 |
40 | ///
41 | /// The m size0.
42 | ///
43 | Size mSize0;
44 |
45 | ///
46 | /// The m intermediate mat.
47 | ///
48 | Mat mIntermediateMat;
49 |
50 | public enum modeType
51 | {
52 | original,
53 | sepia,
54 | pixelize,
55 | }
56 |
57 | ///
58 | /// The mode.
59 | ///
60 | modeType mode;
61 |
62 |
63 | ///
64 | /// The original mode toggle.
65 | ///
66 | public Toggle originalModeToggle;
67 |
68 |
69 | ///
70 | /// The sepia mode toggle.
71 | ///
72 | public Toggle sepiaModeToggle;
73 |
74 |
75 | ///
76 | /// The pixelize mode toggle.
77 | ///
78 | public Toggle pixelizeModeToggle;
79 |
80 |
81 | // Use this for initialization
82 | void Start()
83 | {
84 | if (originalModeToggle.isOn)
85 | {
86 | mode = modeType.original;
87 | }
88 | if (sepiaModeToggle.isOn)
89 | {
90 | mode = modeType.sepia;
91 | }
92 | if (pixelizeModeToggle.isOn)
93 | {
94 | mode = modeType.pixelize;
95 | }
96 |
97 | // sepia
98 | mSepiaKernel = new Mat(4, 4, CvType.CV_32F);
99 | mSepiaKernel.put(0, 0, /* R */0.189f, 0.769f, 0.393f, 0f);
100 | mSepiaKernel.put(1, 0, /* G */0.168f, 0.686f, 0.349f, 0f);
101 | mSepiaKernel.put(2, 0, /* B */0.131f, 0.534f, 0.272f, 0f);
102 | mSepiaKernel.put(3, 0, /* A */0.000f, 0.000f, 0.000f, 1f);
103 |
104 |
105 | // pixelize
106 | mIntermediateMat = new Mat();
107 | mSize0 = new Size();
108 |
109 |
110 | mediaPlayer.Events.AddListener(OnVideoEvent);
111 | }
112 |
113 | // Update is called once per frame
114 | void Update()
115 | {
116 |
117 | if (texture != null)
118 | {
119 | IMediaControl control = mediaPlayer.Control;
120 |
121 | int lastFrame = control.GetCurrentTimeFrames();
122 |
123 | // Reset _lastFrame at the timing when the video is reset.
124 | if (lastFrame < _lastFrame)
125 | _lastFrame = 0;
126 |
127 | if (lastFrame != _lastFrame)
128 | {
129 | _lastFrame = lastFrame;
130 |
131 | //Debug.Log("FrameReady " + lastFrame);
132 |
133 |
134 | //Convert AVPro's Texture to Texture2D
135 | Helper.GetReadableTexture(mediaPlayer.TextureProducer.GetTexture(), mediaPlayer.TextureProducer.RequiresVerticalFlip(), Helper.GetOrientation(mediaPlayer.Info.GetTextureTransform()), texture);
136 |
137 | //Convert Texture2D to Mat
138 | Utils.texture2DToMat(texture, rgbaMat);
139 |
140 |
141 | if (mode == modeType.original)
142 | {
143 |
144 | }
145 | else if (mode == modeType.sepia)
146 | {
147 |
148 | Core.transform(rgbaMat, rgbaMat, mSepiaKernel);
149 |
150 | }
151 | else if (mode == modeType.pixelize)
152 | {
153 |
154 | Imgproc.resize(rgbaMat, mIntermediateMat, mSize0, 0.1, 0.1, Imgproc.INTER_NEAREST);
155 | Imgproc.resize(mIntermediateMat, rgbaMat, rgbaMat.size(), 0.0, 0.0, Imgproc.INTER_NEAREST);
156 |
157 | }
158 |
159 |
160 | Imgproc.putText(rgbaMat, "AVPro With OpenCV for Unity Example", new Point(50, rgbaMat.rows() / 2), Imgproc.FONT_HERSHEY_SIMPLEX, 2.0, new Scalar(255, 0, 0, 255), 5, Imgproc.LINE_AA, false);
161 | Imgproc.putText(rgbaMat, "W:" + rgbaMat.width() + " H:" + rgbaMat.height() + " SO:" + Screen.orientation, new Point(5, rgbaMat.rows() - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar(255, 255, 255, 255), 2, Imgproc.LINE_AA, false);
162 |
163 | //Convert Mat to Texture2D
164 | Utils.matToTexture2D(rgbaMat, texture);
165 | }
166 | }
167 |
168 | }
169 |
170 | // Callback function to handle events
171 | public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et,
172 | ErrorCode errorCode)
173 | {
174 | switch (et)
175 | {
176 | case MediaPlayerEvent.EventType.ReadyToPlay:
177 | mediaPlayer.Control.Play();
178 | break;
179 | case MediaPlayerEvent.EventType.FirstFrameReady:
180 | Debug.Log("First frame ready");
181 | OnNewMediaReady();
182 | break;
183 | case MediaPlayerEvent.EventType.FinishedPlaying:
184 | mediaPlayer.Control.Rewind();
185 | break;
186 | }
187 | Debug.Log("Event: " + et.ToString());
188 | }
189 |
190 | ///
191 | /// Raises the new media ready event.
192 | ///
193 | private void OnNewMediaReady()
194 | {
195 | IMediaInfo info = mediaPlayer.Info;
196 |
197 | Debug.Log("GetVideoWidth " + info.GetVideoWidth() + " GetVideoHeight() " + info.GetVideoHeight());
198 |
199 | // Create a texture the same resolution as our video
200 | if (texture != null)
201 | {
202 | Texture2D.Destroy(texture);
203 | texture = null;
204 | }
205 |
206 | texture = new Texture2D(info.GetVideoWidth(), info.GetVideoHeight(), TextureFormat.RGBA32, false);
207 |
208 | rgbaMat = new Mat(texture.height, texture.width, CvType.CV_8UC4);
209 |
210 |
211 | gameObject.GetComponent().material.mainTexture = texture;
212 |
213 | gameObject.transform.localScale = new Vector3(texture.width, texture.height, 1);
214 | Debug.Log("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
215 |
216 | float width = texture.width;
217 | float height = texture.height;
218 |
219 | float widthScale = (float)Screen.width / width;
220 | float heightScale = (float)Screen.height / height;
221 | if (widthScale < heightScale)
222 | {
223 | Camera.main.orthographicSize = (width * (float)Screen.height / (float)Screen.width) / 2;
224 | }
225 | else
226 | {
227 | Camera.main.orthographicSize = height / 2;
228 | }
229 |
230 | }
231 |
232 | ///
233 | /// Raises the destroy event.
234 | ///
235 | void OnDestroy()
236 | {
237 | if (texture != null)
238 | {
239 | Texture2D.Destroy(texture);
240 | texture = null;
241 | }
242 |
243 | if (mSepiaKernel != null)
244 | {
245 | mSepiaKernel.Dispose();
246 | mSepiaKernel = null;
247 | }
248 |
249 | if (mIntermediateMat != null)
250 | {
251 | mIntermediateMat.Dispose();
252 | mIntermediateMat = null;
253 | }
254 | }
255 |
256 | ///
257 | /// Raises the back button event.
258 | ///
259 | public void OnBackButton()
260 | {
261 | SceneManager.LoadScene("AVProWithOpenCVForUnityExample");
262 | }
263 |
264 | ///
265 | /// Raises the original mode toggle event.
266 | ///
267 | public void OnOriginalModeToggle()
268 | {
269 |
270 | if (originalModeToggle.isOn)
271 | {
272 | mode = modeType.original;
273 | }
274 | }
275 |
276 | ///
277 | /// Raises the sepia mode toggle event.
278 | ///
279 | public void OnSepiaModeToggle()
280 | {
281 |
282 | if (sepiaModeToggle.isOn)
283 | {
284 | mode = modeType.sepia;
285 | }
286 | }
287 |
288 | ///
289 | /// Raises the pixelize mode toggle event.
290 | ///
291 | public void OnPixelizeModeToggle()
292 | {
293 |
294 | if (pixelizeModeToggle.isOn)
295 | {
296 | mode = modeType.pixelize;
297 | }
298 | }
299 | }
300 | }
301 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoGetReadableTextureExample/AVProVideoGetReadableTextureExample.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 40d87b35774f1204fb9041f0d36420dd
3 | timeCreated: 1481630932
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProVideoGetReadableTextureExample/AVProVideoGetReadableTextureExample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b54a791b6ec66024987c731b9ec67a3c
3 | timeCreated: 1481556427
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProWithOpenCVForUnityExample.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using UnityEngine;
3 | using UnityEngine.SceneManagement;
4 | using UnityEngine.UI;
5 |
6 | namespace AVProWithOpenCVForUnityExample
7 | {
8 | public class AVProWithOpenCVForUnityExample : MonoBehaviour
9 | {
10 |
11 | [Header("UI")]
12 | public Text exampleTitle;
13 | public Text versionInfo;
14 | public ScrollRect scrollRect;
15 | private static float verticalNormalizedPosition = 1f;
16 |
17 | void Awake()
18 | {
19 | //QualitySettings.vSyncCount = 0;
20 | //Application.targetFrameRate = 60;
21 | }
22 |
23 | IEnumerator Start()
24 | {
25 |
26 | exampleTitle.text = "AVProWithOpenCVForUnity Example " + Application.version;
27 |
28 | versionInfo.text = OpenCVForUnity.CoreModule.Core.NATIVE_LIBRARY_NAME + " " + OpenCVForUnity.UnityUtils.Utils.getVersion() + " (" + OpenCVForUnity.CoreModule.Core.VERSION + ")";
29 | versionInfo.text += " / UnityEditor " + Application.unityVersion;
30 | versionInfo.text += " / ";
31 | #if UNITY_EDITOR
32 | versionInfo.text += "Editor";
33 | #elif UNITY_STANDALONE_WIN
34 | versionInfo.text += "Windows";
35 | #elif UNITY_STANDALONE_OSX
36 | versionInfo.text += "Mac OSX";
37 | #elif UNITY_STANDALONE_LINUX
38 | versionInfo.text += "Linux";
39 | #elif UNITY_ANDROID
40 | versionInfo.text += "Android";
41 | #elif UNITY_IOS
42 | versionInfo.text += "iOS";
43 | #elif UNITY_WSA
44 | versionInfo.text += "WSA";
45 | #elif UNITY_WEBGL
46 | versionInfo.text += "WebGL";
47 | #endif
48 | versionInfo.text += " ";
49 | #if ENABLE_MONO
50 | versionInfo.text += "Mono";
51 | #elif ENABLE_IL2CPP
52 | versionInfo.text += "IL2CPP";
53 | #elif ENABLE_DOTNET
54 | versionInfo.text += ".NET";
55 | #endif
56 |
57 | scrollRect.verticalNormalizedPosition = verticalNormalizedPosition;
58 |
59 | yield break;
60 | }
61 |
62 | public void OnScrollRectValueChanged()
63 | {
64 | verticalNormalizedPosition = scrollRect.verticalNormalizedPosition;
65 | }
66 |
67 | public void OnShowLicenseButton()
68 | {
69 | SceneManager.LoadScene("ShowLicense");
70 | }
71 |
72 | public void OnAVProVideoGetReadableTextureExampleButton()
73 | {
74 | SceneManager.LoadScene("AVProVideoGetReadableTextureExample");
75 | }
76 |
77 | public void OnAVProVideoAsyncGPUReadbackExampleButton()
78 | {
79 | SceneManager.LoadScene("AVProVideoAsyncGPUReadbackExample");
80 | }
81 |
82 | public void OnAVProVideoExtractFrameExampleButton()
83 | {
84 | SceneManager.LoadScene("AVProVideoExtractFrameExample");
85 | }
86 |
87 | public void OnAVProLiveCameraGetFrameAsColor32ExampleButton()
88 | {
89 | SceneManager.LoadScene("AVProLiveCameraGetFrameAsColor32Example");
90 | }
91 |
92 | public void OnAVProLiveCameraAsyncGPUReadbackExampleButton()
93 | {
94 | SceneManager.LoadScene("AVProLiveCameraAsyncGPUReadbackExample");
95 | }
96 | }
97 | }
98 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProWithOpenCVForUnityExample.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99e5eed4cb37257408d0f75a493b305c
3 | timeCreated: 1481631019
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/AVProWithOpenCVForUnityExample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 56f9daf6cbf8ef547aaf6f86a8a17eb8
3 | timeCreated: 1481631019
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/LoadingIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EnoxSoftware/AVProWithOpenCVForUnityExample/f4b62296901af71b9897cd2940e6657c54ed3964/Assets/AVProWithOpenCVForUnityExample/LoadingIcon.png
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/LoadingIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 73061be1c70214c48a2d84d91c6e2e1c
3 | timeCreated: 1479448965
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 1
11 | linearTexture: 0
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: .25
21 | normalMapFilter: 0
22 | isReadable: 0
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 8
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -1
30 | maxTextureSize: 512
31 | textureSettings:
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapMode: -1
36 | nPOTScale: 1
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | spriteMode: 0
41 | spriteExtrude: 1
42 | spriteMeshType: 1
43 | alignment: 0
44 | spritePivot: {x: .5, y: .5}
45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
46 | spritePixelsToUnits: 100
47 | alphaIsTransparency: 0
48 | textureType: -1
49 | buildTargetSettings: []
50 | spriteSheet:
51 | sprites: []
52 | spritePackingTag:
53 | userData:
54 | assetBundleName:
55 | assetBundleVariant:
56 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 03ddd4e615f3fae44a8b4f6dfb4308b5
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/Materials/ExampleMaterial.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: ExampleMaterial
10 | m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 5
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _MainTex:
22 | m_Texture: {fileID: 2800000, guid: 73061be1c70214c48a2d84d91c6e2e1c, type: 3}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | m_Floats: []
26 | m_Colors:
27 | - _Color: {r: 1, g: 1, b: 1, a: 1}
28 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/Materials/ExampleMaterial.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3afa5cebfe59c1d49918e22598785af7
3 | NativeFormatImporter:
4 | userData:
5 | assetBundleName:
6 | assetBundleVariant:
7 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2526fc52f302e4a48954c2d46b1cd593
3 | folderAsset: yes
4 | timeCreated: 1481630425
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/Scripts/Utils.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d3b818f28800a7a408c688131a45a833
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/Scripts/Utils/FpsMonitor.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEngine;
3 |
4 | namespace AVProWithOpenCVForUnityExample
5 | {
6 | // v1.0.1
7 | public class FpsMonitor : MonoBehaviour
8 | {
9 | int tick = 0;
10 | float elapsed = 0;
11 | float fps = 0;
12 |
13 | public enum Alignment
14 | {
15 | LeftTop,
16 | RightTop,
17 | LeftBottom,
18 | RightBottom,
19 | }
20 |
21 | public Alignment alignment = Alignment.RightTop;
22 |
23 | const float GUI_WIDTH = 75f;
24 | const float GUI_HEIGHT = 30f;
25 | const float MARGIN_X = 10f;
26 | const float MARGIN_Y = 10f;
27 | const float INNER_X = 8f;
28 | const float INNER_Y = 5f;
29 | const float GUI_CONSOLE_HEIGHT = 50f;
30 |
31 | public Vector2 offset = new Vector2(MARGIN_X, MARGIN_Y);
32 | public bool boxVisible = true;
33 | public float boxWidth = GUI_WIDTH;
34 | public float boxHeight = GUI_HEIGHT;
35 | public Vector2 padding = new Vector2(INNER_X, INNER_Y);
36 | public float consoleHeight = GUI_CONSOLE_HEIGHT;
37 |
38 | GUIStyle console_labelStyle;
39 |
40 | float x, y;
41 | Rect outer;
42 | Rect inner;
43 |
44 | float console_x, console_y;
45 | Rect console_outer;
46 | Rect console_inner;
47 |
48 | int oldScrWidth;
49 | int oldScrHeight;
50 |
51 | Dictionary outputDict = new Dictionary();
52 |
53 | protected string _consoleText = null;
54 | public virtual string consoleText
55 | {
56 | get { return _consoleText; }
57 | set
58 | {
59 | _consoleText = value;
60 | toast_time = -1;
61 | }
62 | }
63 |
64 | int toast_time = -1;
65 |
66 | // Use this for initialization
67 | void Start()
68 | {
69 | console_labelStyle = new GUIStyle();
70 | console_labelStyle.fontSize = 32;
71 | console_labelStyle.fontStyle = FontStyle.Normal;
72 | console_labelStyle.wordWrap = true;
73 | console_labelStyle.normal.textColor = Color.white;
74 |
75 | oldScrWidth = Screen.width;
76 | oldScrHeight = Screen.height;
77 | LocateGUI();
78 | }
79 |
80 | // Update is called once per frame
81 | void Update()
82 | {
83 | tick++;
84 | elapsed += Time.deltaTime;
85 | if (elapsed >= 1f)
86 | {
87 | fps = tick / elapsed;
88 | tick = 0;
89 | elapsed = 0;
90 | }
91 |
92 | if (toast_time > 0)
93 | {
94 | toast_time = toast_time - 1;
95 | }
96 | }
97 |
98 | void OnGUI()
99 | {
100 | if (oldScrWidth != Screen.width || oldScrHeight != Screen.height)
101 | {
102 | LocateGUI();
103 | }
104 | oldScrWidth = Screen.width;
105 | oldScrHeight = Screen.height;
106 |
107 | if (boxVisible)
108 | {
109 | GUI.Box(outer, "");
110 | }
111 |
112 | GUILayout.BeginArea(inner);
113 | {
114 | GUILayout.BeginVertical();
115 | GUILayout.Label("fps : " + fps.ToString("F1"));
116 | foreach (KeyValuePair pair in outputDict)
117 | {
118 | GUILayout.Label(pair.Key + " : " + pair.Value);
119 | }
120 | GUILayout.EndVertical();
121 | }
122 | GUILayout.EndArea();
123 |
124 | if (!string.IsNullOrEmpty(consoleText))
125 | {
126 | if (toast_time != 0) {
127 | if (boxVisible)
128 | {
129 | GUI.Box(console_outer, "");
130 | }
131 |
132 | GUILayout.BeginArea(console_inner);
133 | {
134 | GUILayout.BeginVertical();
135 | GUILayout.Label(consoleText, console_labelStyle);
136 | GUILayout.EndVertical();
137 | }
138 | GUILayout.EndArea();
139 | }
140 | }
141 | }
142 |
143 | public void Add(string key, string value)
144 | {
145 | if (outputDict.ContainsKey(key))
146 | {
147 | outputDict[key] = value;
148 | }
149 | else
150 | {
151 | outputDict.Add(key, value);
152 | }
153 | }
154 |
155 | public void Remove(string key)
156 | {
157 | outputDict.Remove(key);
158 | }
159 |
160 | public void Clear()
161 | {
162 | outputDict.Clear();
163 | }
164 |
165 | public void LocateGUI()
166 | {
167 | x = GetAlignedX(alignment, boxWidth);
168 | y = GetAlignedY(alignment, boxHeight);
169 | outer = new Rect(x, y, boxWidth, boxHeight);
170 | inner = new Rect(x + padding.x, y + padding.y, boxWidth, boxHeight);
171 |
172 | console_x = GetAlignedX(Alignment.LeftBottom, Screen.width);
173 | console_y = GetAlignedY(Alignment.LeftBottom, consoleHeight);
174 | console_outer = new Rect(console_x, console_y, Screen.width - offset.x * 2, consoleHeight);
175 | console_inner = new Rect(console_x + padding.x, console_y + padding.y, Screen.width - offset.x * 2 - padding.x, consoleHeight);
176 | }
177 |
178 | public void Toast(string message, int time = 120)
179 | {
180 | _consoleText = message;
181 | toast_time = (time < 60) ? 60 : time;
182 | }
183 |
184 | float GetAlignedX(Alignment anchor, float w)
185 | {
186 | switch (anchor)
187 | {
188 | default:
189 | case Alignment.LeftTop:
190 | case Alignment.LeftBottom:
191 | return offset.x;
192 |
193 | case Alignment.RightTop:
194 | case Alignment.RightBottom:
195 | return Screen.width - w - offset.x;
196 | }
197 | }
198 |
199 | float GetAlignedY(Alignment anchor, float h)
200 | {
201 | switch (anchor)
202 | {
203 | default:
204 | case Alignment.LeftTop:
205 | case Alignment.RightTop:
206 | return offset.y;
207 |
208 | case Alignment.LeftBottom:
209 | case Alignment.RightBottom:
210 | return Screen.height - h - offset.y;
211 | }
212 | }
213 | }
214 | }
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/Scripts/Utils/FpsMonitor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b3afd8b9824360045957f5329d104d6d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/ShowLicense.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.SceneManagement;
3 |
4 | namespace AVProWithOpenCVForUnityExample
5 | {
6 | public class ShowLicense : MonoBehaviour
7 | {
8 |
9 | // Use this for initialization
10 | void Start()
11 | {
12 |
13 | }
14 |
15 | // Update is called once per frame
16 | void Update()
17 | {
18 |
19 | }
20 |
21 | public void OnBackButton()
22 | {
23 | SceneManager.LoadScene("AVProWithOpenCVForUnityExample");
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/ShowLicense.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e8acd81474de8324fa0d60f7399ebdd0
3 | timeCreated: 1481631418
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/ShowLicense.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | OcclusionCullingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_OcclusionBakeSettings:
8 | smallestOccluder: 5
9 | smallestHole: 0.25
10 | backfaceThreshold: 100
11 | m_SceneGUID: 00000000000000000000000000000000
12 | m_OcclusionCullingData: {fileID: 0}
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_ObjectHideFlags: 0
16 | serializedVersion: 9
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
24 | m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
25 | m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 3
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 0
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 0}
41 | m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
42 | m_UseRadianceAmbientProbe: 0
43 | --- !u!157 &4
44 | LightmapSettings:
45 | m_ObjectHideFlags: 0
46 | serializedVersion: 12
47 | m_GIWorkflowMode: 1
48 | m_GISettings:
49 | serializedVersion: 2
50 | m_BounceScale: 1
51 | m_IndirectOutputScale: 1
52 | m_AlbedoBoost: 1
53 | m_EnvironmentLightingMode: 0
54 | m_EnableBakedLightmaps: 1
55 | m_EnableRealtimeLightmaps: 0
56 | m_LightmapEditorSettings:
57 | serializedVersion: 12
58 | m_Resolution: 1
59 | m_BakeResolution: 50
60 | m_AtlasSize: 1024
61 | m_AO: 0
62 | m_AOMaxDistance: 1
63 | m_CompAOExponent: 0
64 | m_CompAOExponentDirect: 0
65 | m_ExtractAmbientOcclusion: 0
66 | m_Padding: 2
67 | m_LightmapParameters: {fileID: 0}
68 | m_LightmapsBakeMode: 1
69 | m_TextureCompression: 0
70 | m_FinalGather: 0
71 | m_FinalGatherFiltering: 1
72 | m_FinalGatherRayCount: 1024
73 | m_ReflectionCompression: 2
74 | m_MixedBakeMode: 1
75 | m_BakeBackend: 0
76 | m_PVRSampling: 1
77 | m_PVRDirectSampleCount: 32
78 | m_PVRSampleCount: 512
79 | m_PVRBounces: 2
80 | m_PVREnvironmentSampleCount: 512
81 | m_PVREnvironmentReferencePointCount: 2048
82 | m_PVRFilteringMode: 0
83 | m_PVRDenoiserTypeDirect: 0
84 | m_PVRDenoiserTypeIndirect: 0
85 | m_PVRDenoiserTypeAO: 0
86 | m_PVRFilterTypeDirect: 0
87 | m_PVRFilterTypeIndirect: 0
88 | m_PVRFilterTypeAO: 0
89 | m_PVREnvironmentMIS: 0
90 | m_PVRCulling: 1
91 | m_PVRFilteringGaussRadiusDirect: 1
92 | m_PVRFilteringGaussRadiusIndirect: 5
93 | m_PVRFilteringGaussRadiusAO: 2
94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
96 | m_PVRFilteringAtrousPositionSigmaAO: 1
97 | m_ExportTrainingData: 0
98 | m_TrainingDataDestination: TrainingData
99 | m_LightProbeSampleCountMultiplier: 4
100 | m_LightingDataAsset: {fileID: 0}
101 | m_LightingSettings: {fileID: 4890085278179872738, guid: 0904909b966321d4a9da72eb778acfeb,
102 | type: 2}
103 | --- !u!196 &5
104 | NavMeshSettings:
105 | serializedVersion: 2
106 | m_ObjectHideFlags: 0
107 | m_BuildSettings:
108 | serializedVersion: 2
109 | agentTypeID: 0
110 | agentRadius: 0.5
111 | agentHeight: 2
112 | agentSlope: 45
113 | agentClimb: 0.4
114 | ledgeDropHeight: 0
115 | maxJumpAcrossDistance: 0
116 | minRegionArea: 2
117 | manualCellSize: 0
118 | cellSize: 0.16666666
119 | manualTileSize: 0
120 | tileSize: 256
121 | accuratePlacement: 0
122 | maxJobWorkers: 0
123 | preserveTilesOutsideBounds: 0
124 | debug:
125 | m_Flags: 0
126 | m_NavMeshData: {fileID: 0}
127 | --- !u!1 &38156656
128 | GameObject:
129 | m_ObjectHideFlags: 0
130 | m_CorrespondingSourceObject: {fileID: 0}
131 | m_PrefabInstance: {fileID: 0}
132 | m_PrefabAsset: {fileID: 0}
133 | serializedVersion: 6
134 | m_Component:
135 | - component: {fileID: 38156657}
136 | - component: {fileID: 38156661}
137 | - component: {fileID: 38156660}
138 | - component: {fileID: 38156659}
139 | - component: {fileID: 38156658}
140 | m_Layer: 5
141 | m_Name: ScrollView
142 | m_TagString: Untagged
143 | m_Icon: {fileID: 0}
144 | m_NavMeshLayer: 0
145 | m_StaticEditorFlags: 0
146 | m_IsActive: 1
147 | --- !u!224 &38156657
148 | RectTransform:
149 | m_ObjectHideFlags: 0
150 | m_CorrespondingSourceObject: {fileID: 0}
151 | m_PrefabInstance: {fileID: 0}
152 | m_PrefabAsset: {fileID: 0}
153 | m_GameObject: {fileID: 38156656}
154 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
155 | m_LocalPosition: {x: 0, y: 0, z: 0}
156 | m_LocalScale: {x: 1, y: 1, z: 1}
157 | m_Children:
158 | - {fileID: 1086899404}
159 | m_Father: {fileID: 1646839690}
160 | m_RootOrder: 0
161 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
162 | m_AnchorMin: {x: 0, y: 0}
163 | m_AnchorMax: {x: 1, y: 1}
164 | m_AnchoredPosition: {x: -10, y: 0}
165 | m_SizeDelta: {x: -20, y: 0}
166 | m_Pivot: {x: 0.5, y: 1}
167 | --- !u!114 &38156658
168 | MonoBehaviour:
169 | m_ObjectHideFlags: 0
170 | m_CorrespondingSourceObject: {fileID: 0}
171 | m_PrefabInstance: {fileID: 0}
172 | m_PrefabAsset: {fileID: 0}
173 | m_GameObject: {fileID: 38156656}
174 | m_Enabled: 1
175 | m_EditorHideFlags: 0
176 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
177 | m_Name:
178 | m_EditorClassIdentifier:
179 | m_Material: {fileID: 0}
180 | m_Color: {r: 1, g: 1, b: 1, a: 1}
181 | m_RaycastTarget: 1
182 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
183 | m_Maskable: 1
184 | m_OnCullStateChanged:
185 | m_PersistentCalls:
186 | m_Calls: []
187 | m_Sprite: {fileID: 0}
188 | m_Type: 0
189 | m_PreserveAspect: 0
190 | m_FillCenter: 1
191 | m_FillMethod: 4
192 | m_FillAmount: 1
193 | m_FillClockwise: 1
194 | m_FillOrigin: 0
195 | m_UseSpriteMesh: 0
196 | m_PixelsPerUnitMultiplier: 1
197 | --- !u!222 &38156659
198 | CanvasRenderer:
199 | m_ObjectHideFlags: 0
200 | m_CorrespondingSourceObject: {fileID: 0}
201 | m_PrefabInstance: {fileID: 0}
202 | m_PrefabAsset: {fileID: 0}
203 | m_GameObject: {fileID: 38156656}
204 | m_CullTransparentMesh: 1
205 | --- !u!114 &38156660
206 | MonoBehaviour:
207 | m_ObjectHideFlags: 0
208 | m_CorrespondingSourceObject: {fileID: 0}
209 | m_PrefabInstance: {fileID: 0}
210 | m_PrefabAsset: {fileID: 0}
211 | m_GameObject: {fileID: 38156656}
212 | m_Enabled: 1
213 | m_EditorHideFlags: 0
214 | m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
215 | m_Name:
216 | m_EditorClassIdentifier:
217 | m_ShowMaskGraphic: 0
218 | --- !u!114 &38156661
219 | MonoBehaviour:
220 | m_ObjectHideFlags: 0
221 | m_CorrespondingSourceObject: {fileID: 0}
222 | m_PrefabInstance: {fileID: 0}
223 | m_PrefabAsset: {fileID: 0}
224 | m_GameObject: {fileID: 38156656}
225 | m_Enabled: 1
226 | m_EditorHideFlags: 0
227 | m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
228 | m_Name:
229 | m_EditorClassIdentifier:
230 | m_Content: {fileID: 1086899404}
231 | m_Horizontal: 0
232 | m_Vertical: 1
233 | m_MovementType: 1
234 | m_Elasticity: 0.1
235 | m_Inertia: 1
236 | m_DecelerationRate: 0.135
237 | m_ScrollSensitivity: 1
238 | m_Viewport: {fileID: 0}
239 | m_HorizontalScrollbar: {fileID: 0}
240 | m_VerticalScrollbar: {fileID: 155392644}
241 | m_HorizontalScrollbarVisibility: 0
242 | m_VerticalScrollbarVisibility: 0
243 | m_HorizontalScrollbarSpacing: 0
244 | m_VerticalScrollbarSpacing: 0
245 | m_OnValueChanged:
246 | m_PersistentCalls:
247 | m_Calls: []
248 | --- !u!1 &155392642
249 | GameObject:
250 | m_ObjectHideFlags: 0
251 | m_CorrespondingSourceObject: {fileID: 0}
252 | m_PrefabInstance: {fileID: 0}
253 | m_PrefabAsset: {fileID: 0}
254 | serializedVersion: 6
255 | m_Component:
256 | - component: {fileID: 155392643}
257 | - component: {fileID: 155392646}
258 | - component: {fileID: 155392645}
259 | - component: {fileID: 155392644}
260 | m_Layer: 5
261 | m_Name: Scrollbar
262 | m_TagString: Untagged
263 | m_Icon: {fileID: 0}
264 | m_NavMeshLayer: 0
265 | m_StaticEditorFlags: 0
266 | m_IsActive: 1
267 | --- !u!224 &155392643
268 | RectTransform:
269 | m_ObjectHideFlags: 0
270 | m_CorrespondingSourceObject: {fileID: 0}
271 | m_PrefabInstance: {fileID: 0}
272 | m_PrefabAsset: {fileID: 0}
273 | m_GameObject: {fileID: 155392642}
274 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
275 | m_LocalPosition: {x: 0, y: 0, z: 0}
276 | m_LocalScale: {x: 1, y: 1, z: 1}
277 | m_Children:
278 | - {fileID: 823457167}
279 | m_Father: {fileID: 1646839690}
280 | m_RootOrder: 1
281 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
282 | m_AnchorMin: {x: 1, y: 0}
283 | m_AnchorMax: {x: 1, y: 1}
284 | m_AnchoredPosition: {x: -5, y: 0}
285 | m_SizeDelta: {x: 20, y: 0}
286 | m_Pivot: {x: 0.5, y: 0.5}
287 | --- !u!114 &155392644
288 | MonoBehaviour:
289 | m_ObjectHideFlags: 0
290 | m_CorrespondingSourceObject: {fileID: 0}
291 | m_PrefabInstance: {fileID: 0}
292 | m_PrefabAsset: {fileID: 0}
293 | m_GameObject: {fileID: 155392642}
294 | m_Enabled: 1
295 | m_EditorHideFlags: 0
296 | m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
297 | m_Name:
298 | m_EditorClassIdentifier:
299 | m_Navigation:
300 | m_Mode: 3
301 | m_WrapAround: 0
302 | m_SelectOnUp: {fileID: 0}
303 | m_SelectOnDown: {fileID: 0}
304 | m_SelectOnLeft: {fileID: 0}
305 | m_SelectOnRight: {fileID: 0}
306 | m_Transition: 1
307 | m_Colors:
308 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
309 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
310 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
311 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
312 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
313 | m_ColorMultiplier: 1
314 | m_FadeDuration: 0.1
315 | m_SpriteState:
316 | m_HighlightedSprite: {fileID: 0}
317 | m_PressedSprite: {fileID: 0}
318 | m_SelectedSprite: {fileID: 0}
319 | m_DisabledSprite: {fileID: 0}
320 | m_AnimationTriggers:
321 | m_NormalTrigger: Normal
322 | m_HighlightedTrigger: Highlighted
323 | m_PressedTrigger: Pressed
324 | m_SelectedTrigger: Highlighted
325 | m_DisabledTrigger: Disabled
326 | m_Interactable: 1
327 | m_TargetGraphic: {fileID: 1011219729}
328 | m_HandleRect: {fileID: 1011219728}
329 | m_Direction: 2
330 | m_Value: 1
331 | m_Size: 0.10701655
332 | m_NumberOfSteps: 0
333 | m_OnValueChanged:
334 | m_PersistentCalls:
335 | m_Calls: []
336 | --- !u!114 &155392645
337 | MonoBehaviour:
338 | m_ObjectHideFlags: 0
339 | m_CorrespondingSourceObject: {fileID: 0}
340 | m_PrefabInstance: {fileID: 0}
341 | m_PrefabAsset: {fileID: 0}
342 | m_GameObject: {fileID: 155392642}
343 | m_Enabled: 1
344 | m_EditorHideFlags: 0
345 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
346 | m_Name:
347 | m_EditorClassIdentifier:
348 | m_Material: {fileID: 0}
349 | m_Color: {r: 1, g: 1, b: 1, a: 1}
350 | m_RaycastTarget: 1
351 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
352 | m_Maskable: 1
353 | m_OnCullStateChanged:
354 | m_PersistentCalls:
355 | m_Calls: []
356 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
357 | m_Type: 1
358 | m_PreserveAspect: 0
359 | m_FillCenter: 1
360 | m_FillMethod: 4
361 | m_FillAmount: 1
362 | m_FillClockwise: 1
363 | m_FillOrigin: 0
364 | m_UseSpriteMesh: 0
365 | m_PixelsPerUnitMultiplier: 1
366 | --- !u!222 &155392646
367 | CanvasRenderer:
368 | m_ObjectHideFlags: 0
369 | m_CorrespondingSourceObject: {fileID: 0}
370 | m_PrefabInstance: {fileID: 0}
371 | m_PrefabAsset: {fileID: 0}
372 | m_GameObject: {fileID: 155392642}
373 | m_CullTransparentMesh: 1
374 | --- !u!1 &316492814
375 | GameObject:
376 | m_ObjectHideFlags: 0
377 | m_CorrespondingSourceObject: {fileID: 0}
378 | m_PrefabInstance: {fileID: 0}
379 | m_PrefabAsset: {fileID: 0}
380 | serializedVersion: 6
381 | m_Component:
382 | - component: {fileID: 316492818}
383 | - component: {fileID: 316492817}
384 | - component: {fileID: 316492816}
385 | - component: {fileID: 316492815}
386 | m_Layer: 0
387 | m_Name: EventSystem
388 | m_TagString: Untagged
389 | m_Icon: {fileID: 0}
390 | m_NavMeshLayer: 0
391 | m_StaticEditorFlags: 0
392 | m_IsActive: 1
393 | --- !u!114 &316492815
394 | MonoBehaviour:
395 | m_ObjectHideFlags: 0
396 | m_CorrespondingSourceObject: {fileID: 0}
397 | m_PrefabInstance: {fileID: 0}
398 | m_PrefabAsset: {fileID: 0}
399 | m_GameObject: {fileID: 316492814}
400 | m_Enabled: 1
401 | m_EditorHideFlags: 0
402 | m_Script: {fileID: 11500000, guid: 2d49b7c1bcd2e07499844da127be038d, type: 3}
403 | m_Name:
404 | m_EditorClassIdentifier:
405 | m_ForceModuleActive: 0
406 | --- !u!114 &316492816
407 | MonoBehaviour:
408 | m_ObjectHideFlags: 0
409 | m_CorrespondingSourceObject: {fileID: 0}
410 | m_PrefabInstance: {fileID: 0}
411 | m_PrefabAsset: {fileID: 0}
412 | m_GameObject: {fileID: 316492814}
413 | m_Enabled: 1
414 | m_EditorHideFlags: 0
415 | m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
416 | m_Name:
417 | m_EditorClassIdentifier:
418 | m_HorizontalAxis: Horizontal
419 | m_VerticalAxis: Vertical
420 | m_SubmitButton: Submit
421 | m_CancelButton: Cancel
422 | m_InputActionsPerSecond: 10
423 | m_RepeatDelay: 0.5
424 | m_ForceModuleActive: 0
425 | --- !u!114 &316492817
426 | MonoBehaviour:
427 | m_ObjectHideFlags: 0
428 | m_CorrespondingSourceObject: {fileID: 0}
429 | m_PrefabInstance: {fileID: 0}
430 | m_PrefabAsset: {fileID: 0}
431 | m_GameObject: {fileID: 316492814}
432 | m_Enabled: 1
433 | m_EditorHideFlags: 0
434 | m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
435 | m_Name:
436 | m_EditorClassIdentifier:
437 | m_FirstSelected: {fileID: 0}
438 | m_sendNavigationEvents: 1
439 | m_DragThreshold: 5
440 | --- !u!4 &316492818
441 | Transform:
442 | m_ObjectHideFlags: 0
443 | m_CorrespondingSourceObject: {fileID: 0}
444 | m_PrefabInstance: {fileID: 0}
445 | m_PrefabAsset: {fileID: 0}
446 | m_GameObject: {fileID: 316492814}
447 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
448 | m_LocalPosition: {x: 0, y: 0, z: 0}
449 | m_LocalScale: {x: 1, y: 1, z: 1}
450 | m_Children: []
451 | m_Father: {fileID: 0}
452 | m_RootOrder: 2
453 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
454 | --- !u!1 &432530561
455 | GameObject:
456 | m_ObjectHideFlags: 0
457 | m_CorrespondingSourceObject: {fileID: 0}
458 | m_PrefabInstance: {fileID: 0}
459 | m_PrefabAsset: {fileID: 0}
460 | serializedVersion: 6
461 | m_Component:
462 | - component: {fileID: 432530562}
463 | - component: {fileID: 432530565}
464 | - component: {fileID: 432530564}
465 | - component: {fileID: 432530563}
466 | m_Layer: 5
467 | m_Name: BackButton
468 | m_TagString: Untagged
469 | m_Icon: {fileID: 0}
470 | m_NavMeshLayer: 0
471 | m_StaticEditorFlags: 0
472 | m_IsActive: 1
473 | --- !u!224 &432530562
474 | RectTransform:
475 | m_ObjectHideFlags: 0
476 | m_CorrespondingSourceObject: {fileID: 0}
477 | m_PrefabInstance: {fileID: 0}
478 | m_PrefabAsset: {fileID: 0}
479 | m_GameObject: {fileID: 432530561}
480 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
481 | m_LocalPosition: {x: 0, y: 0, z: 0}
482 | m_LocalScale: {x: 1, y: 1, z: 1}
483 | m_Children:
484 | - {fileID: 531596783}
485 | m_Father: {fileID: 1502237571}
486 | m_RootOrder: 0
487 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
488 | m_AnchorMin: {x: 0, y: 1}
489 | m_AnchorMax: {x: 0, y: 1}
490 | m_AnchoredPosition: {x: 10, y: -10}
491 | m_SizeDelta: {x: 160, y: 40}
492 | m_Pivot: {x: 0, y: 1}
493 | --- !u!114 &432530563
494 | MonoBehaviour:
495 | m_ObjectHideFlags: 0
496 | m_CorrespondingSourceObject: {fileID: 0}
497 | m_PrefabInstance: {fileID: 0}
498 | m_PrefabAsset: {fileID: 0}
499 | m_GameObject: {fileID: 432530561}
500 | m_Enabled: 1
501 | m_EditorHideFlags: 0
502 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
503 | m_Name:
504 | m_EditorClassIdentifier:
505 | m_Navigation:
506 | m_Mode: 3
507 | m_WrapAround: 0
508 | m_SelectOnUp: {fileID: 0}
509 | m_SelectOnDown: {fileID: 0}
510 | m_SelectOnLeft: {fileID: 0}
511 | m_SelectOnRight: {fileID: 0}
512 | m_Transition: 1
513 | m_Colors:
514 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
515 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
516 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
517 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
518 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
519 | m_ColorMultiplier: 1
520 | m_FadeDuration: 0.1
521 | m_SpriteState:
522 | m_HighlightedSprite: {fileID: 0}
523 | m_PressedSprite: {fileID: 0}
524 | m_SelectedSprite: {fileID: 0}
525 | m_DisabledSprite: {fileID: 0}
526 | m_AnimationTriggers:
527 | m_NormalTrigger: Normal
528 | m_HighlightedTrigger: Highlighted
529 | m_PressedTrigger: Pressed
530 | m_SelectedTrigger: Highlighted
531 | m_DisabledTrigger: Disabled
532 | m_Interactable: 1
533 | m_TargetGraphic: {fileID: 432530564}
534 | m_OnClick:
535 | m_PersistentCalls:
536 | m_Calls:
537 | - m_Target: {fileID: 1787239750}
538 | m_TargetAssemblyTypeName:
539 | m_MethodName: OnBackButton
540 | m_Mode: 1
541 | m_Arguments:
542 | m_ObjectArgument: {fileID: 0}
543 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
544 | m_IntArgument: 0
545 | m_FloatArgument: 0
546 | m_StringArgument:
547 | m_BoolArgument: 0
548 | m_CallState: 2
549 | --- !u!114 &432530564
550 | MonoBehaviour:
551 | m_ObjectHideFlags: 0
552 | m_CorrespondingSourceObject: {fileID: 0}
553 | m_PrefabInstance: {fileID: 0}
554 | m_PrefabAsset: {fileID: 0}
555 | m_GameObject: {fileID: 432530561}
556 | m_Enabled: 1
557 | m_EditorHideFlags: 0
558 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
559 | m_Name:
560 | m_EditorClassIdentifier:
561 | m_Material: {fileID: 0}
562 | m_Color: {r: 1, g: 1, b: 1, a: 1}
563 | m_RaycastTarget: 1
564 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
565 | m_Maskable: 1
566 | m_OnCullStateChanged:
567 | m_PersistentCalls:
568 | m_Calls: []
569 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
570 | m_Type: 1
571 | m_PreserveAspect: 0
572 | m_FillCenter: 1
573 | m_FillMethod: 4
574 | m_FillAmount: 1
575 | m_FillClockwise: 1
576 | m_FillOrigin: 0
577 | m_UseSpriteMesh: 0
578 | m_PixelsPerUnitMultiplier: 1
579 | --- !u!222 &432530565
580 | CanvasRenderer:
581 | m_ObjectHideFlags: 0
582 | m_CorrespondingSourceObject: {fileID: 0}
583 | m_PrefabInstance: {fileID: 0}
584 | m_PrefabAsset: {fileID: 0}
585 | m_GameObject: {fileID: 432530561}
586 | m_CullTransparentMesh: 1
587 | --- !u!1 &531596782
588 | GameObject:
589 | m_ObjectHideFlags: 0
590 | m_CorrespondingSourceObject: {fileID: 0}
591 | m_PrefabInstance: {fileID: 0}
592 | m_PrefabAsset: {fileID: 0}
593 | serializedVersion: 6
594 | m_Component:
595 | - component: {fileID: 531596783}
596 | - component: {fileID: 531596785}
597 | - component: {fileID: 531596784}
598 | m_Layer: 5
599 | m_Name: Text
600 | m_TagString: Untagged
601 | m_Icon: {fileID: 0}
602 | m_NavMeshLayer: 0
603 | m_StaticEditorFlags: 0
604 | m_IsActive: 1
605 | --- !u!224 &531596783
606 | RectTransform:
607 | m_ObjectHideFlags: 0
608 | m_CorrespondingSourceObject: {fileID: 0}
609 | m_PrefabInstance: {fileID: 0}
610 | m_PrefabAsset: {fileID: 0}
611 | m_GameObject: {fileID: 531596782}
612 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
613 | m_LocalPosition: {x: 0, y: 0, z: 0}
614 | m_LocalScale: {x: 1, y: 1, z: 1}
615 | m_Children: []
616 | m_Father: {fileID: 432530562}
617 | m_RootOrder: 0
618 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
619 | m_AnchorMin: {x: 0, y: 0}
620 | m_AnchorMax: {x: 1, y: 1}
621 | m_AnchoredPosition: {x: 0, y: 0}
622 | m_SizeDelta: {x: 0, y: 0}
623 | m_Pivot: {x: 0.5, y: 0.5}
624 | --- !u!114 &531596784
625 | MonoBehaviour:
626 | m_ObjectHideFlags: 0
627 | m_CorrespondingSourceObject: {fileID: 0}
628 | m_PrefabInstance: {fileID: 0}
629 | m_PrefabAsset: {fileID: 0}
630 | m_GameObject: {fileID: 531596782}
631 | m_Enabled: 1
632 | m_EditorHideFlags: 0
633 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
634 | m_Name:
635 | m_EditorClassIdentifier:
636 | m_Material: {fileID: 0}
637 | m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
638 | m_RaycastTarget: 1
639 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
640 | m_Maskable: 1
641 | m_OnCullStateChanged:
642 | m_PersistentCalls:
643 | m_Calls: []
644 | m_FontData:
645 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
646 | m_FontSize: 14
647 | m_FontStyle: 0
648 | m_BestFit: 0
649 | m_MinSize: 10
650 | m_MaxSize: 40
651 | m_Alignment: 4
652 | m_AlignByGeometry: 0
653 | m_RichText: 1
654 | m_HorizontalOverflow: 0
655 | m_VerticalOverflow: 0
656 | m_LineSpacing: 1
657 | m_Text: Back
658 | --- !u!222 &531596785
659 | CanvasRenderer:
660 | m_ObjectHideFlags: 0
661 | m_CorrespondingSourceObject: {fileID: 0}
662 | m_PrefabInstance: {fileID: 0}
663 | m_PrefabAsset: {fileID: 0}
664 | m_GameObject: {fileID: 531596782}
665 | m_CullTransparentMesh: 1
666 | --- !u!1 &823457166
667 | GameObject:
668 | m_ObjectHideFlags: 0
669 | m_CorrespondingSourceObject: {fileID: 0}
670 | m_PrefabInstance: {fileID: 0}
671 | m_PrefabAsset: {fileID: 0}
672 | serializedVersion: 6
673 | m_Component:
674 | - component: {fileID: 823457167}
675 | m_Layer: 5
676 | m_Name: Sliding Area
677 | m_TagString: Untagged
678 | m_Icon: {fileID: 0}
679 | m_NavMeshLayer: 0
680 | m_StaticEditorFlags: 0
681 | m_IsActive: 1
682 | --- !u!224 &823457167
683 | RectTransform:
684 | m_ObjectHideFlags: 0
685 | m_CorrespondingSourceObject: {fileID: 0}
686 | m_PrefabInstance: {fileID: 0}
687 | m_PrefabAsset: {fileID: 0}
688 | m_GameObject: {fileID: 823457166}
689 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
690 | m_LocalPosition: {x: 0, y: 0, z: 0}
691 | m_LocalScale: {x: 1, y: 1, z: 1}
692 | m_Children:
693 | - {fileID: 1011219728}
694 | m_Father: {fileID: 155392643}
695 | m_RootOrder: 0
696 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
697 | m_AnchorMin: {x: 0, y: 0}
698 | m_AnchorMax: {x: 1, y: 1}
699 | m_AnchoredPosition: {x: 0, y: 0}
700 | m_SizeDelta: {x: -20, y: -20}
701 | m_Pivot: {x: 0.5, y: 0.5}
702 | --- !u!1 &1011219727
703 | GameObject:
704 | m_ObjectHideFlags: 0
705 | m_CorrespondingSourceObject: {fileID: 0}
706 | m_PrefabInstance: {fileID: 0}
707 | m_PrefabAsset: {fileID: 0}
708 | serializedVersion: 6
709 | m_Component:
710 | - component: {fileID: 1011219728}
711 | - component: {fileID: 1011219730}
712 | - component: {fileID: 1011219729}
713 | m_Layer: 5
714 | m_Name: Handle
715 | m_TagString: Untagged
716 | m_Icon: {fileID: 0}
717 | m_NavMeshLayer: 0
718 | m_StaticEditorFlags: 0
719 | m_IsActive: 1
720 | --- !u!224 &1011219728
721 | RectTransform:
722 | m_ObjectHideFlags: 0
723 | m_CorrespondingSourceObject: {fileID: 0}
724 | m_PrefabInstance: {fileID: 0}
725 | m_PrefabAsset: {fileID: 0}
726 | m_GameObject: {fileID: 1011219727}
727 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
728 | m_LocalPosition: {x: 0, y: 0, z: 0}
729 | m_LocalScale: {x: 1, y: 1, z: 1}
730 | m_Children: []
731 | m_Father: {fileID: 823457167}
732 | m_RootOrder: 0
733 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
734 | m_AnchorMin: {x: 0, y: 0}
735 | m_AnchorMax: {x: 0, y: 0}
736 | m_AnchoredPosition: {x: 0, y: 0}
737 | m_SizeDelta: {x: 20, y: 20}
738 | m_Pivot: {x: 0.5, y: 0.5}
739 | --- !u!114 &1011219729
740 | MonoBehaviour:
741 | m_ObjectHideFlags: 0
742 | m_CorrespondingSourceObject: {fileID: 0}
743 | m_PrefabInstance: {fileID: 0}
744 | m_PrefabAsset: {fileID: 0}
745 | m_GameObject: {fileID: 1011219727}
746 | m_Enabled: 1
747 | m_EditorHideFlags: 0
748 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
749 | m_Name:
750 | m_EditorClassIdentifier:
751 | m_Material: {fileID: 0}
752 | m_Color: {r: 1, g: 1, b: 1, a: 1}
753 | m_RaycastTarget: 1
754 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
755 | m_Maskable: 1
756 | m_OnCullStateChanged:
757 | m_PersistentCalls:
758 | m_Calls: []
759 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
760 | m_Type: 1
761 | m_PreserveAspect: 0
762 | m_FillCenter: 1
763 | m_FillMethod: 4
764 | m_FillAmount: 1
765 | m_FillClockwise: 1
766 | m_FillOrigin: 0
767 | m_UseSpriteMesh: 0
768 | m_PixelsPerUnitMultiplier: 1
769 | --- !u!222 &1011219730
770 | CanvasRenderer:
771 | m_ObjectHideFlags: 0
772 | m_CorrespondingSourceObject: {fileID: 0}
773 | m_PrefabInstance: {fileID: 0}
774 | m_PrefabAsset: {fileID: 0}
775 | m_GameObject: {fileID: 1011219727}
776 | m_CullTransparentMesh: 1
777 | --- !u!1 &1086899403
778 | GameObject:
779 | m_ObjectHideFlags: 0
780 | m_CorrespondingSourceObject: {fileID: 0}
781 | m_PrefabInstance: {fileID: 0}
782 | m_PrefabAsset: {fileID: 0}
783 | serializedVersion: 6
784 | m_Component:
785 | - component: {fileID: 1086899404}
786 | - component: {fileID: 1086899406}
787 | - component: {fileID: 1086899405}
788 | - component: {fileID: 1086899407}
789 | m_Layer: 5
790 | m_Name: Text
791 | m_TagString: Untagged
792 | m_Icon: {fileID: 0}
793 | m_NavMeshLayer: 0
794 | m_StaticEditorFlags: 0
795 | m_IsActive: 1
796 | --- !u!224 &1086899404
797 | RectTransform:
798 | m_ObjectHideFlags: 0
799 | m_CorrespondingSourceObject: {fileID: 0}
800 | m_PrefabInstance: {fileID: 0}
801 | m_PrefabAsset: {fileID: 0}
802 | m_GameObject: {fileID: 1086899403}
803 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
804 | m_LocalPosition: {x: 0, y: 0, z: 0}
805 | m_LocalScale: {x: 1, y: 1, z: 1}
806 | m_Children: []
807 | m_Father: {fileID: 38156657}
808 | m_RootOrder: 0
809 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
810 | m_AnchorMin: {x: 0, y: 0}
811 | m_AnchorMax: {x: 1, y: 1}
812 | m_AnchoredPosition: {x: 0, y: 0}
813 | m_SizeDelta: {x: 0, y: 0}
814 | m_Pivot: {x: 0.5, y: 1}
815 | --- !u!114 &1086899405
816 | MonoBehaviour:
817 | m_ObjectHideFlags: 0
818 | m_CorrespondingSourceObject: {fileID: 0}
819 | m_PrefabInstance: {fileID: 0}
820 | m_PrefabAsset: {fileID: 0}
821 | m_GameObject: {fileID: 1086899403}
822 | m_Enabled: 1
823 | m_EditorHideFlags: 0
824 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
825 | m_Name:
826 | m_EditorClassIdentifier:
827 | m_Material: {fileID: 0}
828 | m_Color: {r: 1, g: 1, b: 1, a: 1}
829 | m_RaycastTarget: 1
830 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
831 | m_Maskable: 1
832 | m_OnCullStateChanged:
833 | m_PersistentCalls:
834 | m_Calls: []
835 | m_FontData:
836 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
837 | m_FontSize: 20
838 | m_FontStyle: 0
839 | m_BestFit: 0
840 | m_MinSize: 10
841 | m_MaxSize: 40
842 | m_Alignment: 0
843 | m_AlignByGeometry: 0
844 | m_RichText: 1
845 | m_HorizontalOverflow: 0
846 | m_VerticalOverflow: 0
847 | m_LineSpacing: 1
848 | m_Text: "The following components are governed by the licenses indicated below:\n\n\n-
849 | Big Buck Bunny\r\nCopyright (C) 2008 Blender Foundation | peach.blender.org\r\nSome
850 | Rights Reserved. Creative Commons Attribution 3.0 license.\r\nhttp://www.bigbuckbunny.org/\n\n\n\n-
851 | OpenCV : Apache 2.0\n\nhttps://github.com/opencv/opencv/blob/4.x/COPYRIGHT\n\n
852 | Apache License\n Version 2.0, January
853 | 2004\n http://www.apache.org/licenses/\n\n
854 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n
855 | \"License\" shall mean the terms and conditions for use, reproduction,\n
856 | and distribution as defined by Sections 1 through 9 of this document.\n\n
857 | \"Licensor\" shall mean the copyright owner or entity authorized by\n the
858 | copyright owner that is granting the License.\n\n \"Legal Entity\" shall
859 | mean the union of the acting entity and all\n other entities that control,
860 | are controlled by, or are under common\n control with that entity. For the
861 | purposes of this definition,\n \"control\" means (i) the power, direct or
862 | indirect, to cause the\n direction or management of such entity, whether
863 | by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or
864 | more of the\n outstanding shares, or (iii) beneficial ownership of such
865 | entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n
866 | exercising permissions granted by this License.\n\n \"Source\" form shall
867 | mean the preferred form for making modifications,\n including but not limited
868 | to software source code, documentation\n source, and configuration files.\n\n
869 | \"Object\" form shall mean any form resulting from mechanical\n transformation
870 | or translation of a Source form, including but\n not limited to compiled
871 | object code, generated documentation,\n and conversions to other media types.\n\n
872 | \"Work\" shall mean the work of authorship, whether in Source or\n Object
873 | form, made available under the License, as indicated by a\n copyright notice
874 | that is included in or attached to the work\n (an example is provided in
875 | the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether
876 | in Source or Object\n form, that is based on (or derived from) the Work and
877 | for which the\n editorial revisions, annotations, elaborations, or other
878 | modifications\n represent, as a whole, an original work of authorship. For
879 | the purposes\n of this License, Derivative Works shall not include works
880 | that remain\n separable from, or merely link (or bind by name) to the interfaces
881 | of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall
882 | mean any work of authorship, including\n the original version of the Work
883 | and any modifications or additions\n to that Work or Derivative Works thereof,
884 | that is intentionally\n submitted to Licensor for inclusion in the Work
885 | by the copyright owner\n or by an individual or Legal Entity authorized
886 | to submit on behalf of\n the copyright owner. For the purposes of this definition,
887 | \"submitted\"\n means any form of electronic, verbal, or written communication
888 | sent\n to the Licensor or its representatives, including but not limited
889 | to\n communication on electronic mailing lists, source code control systems,\n
890 | and issue tracking systems that are managed by, or on behalf of, the\n Licensor
891 | for the purpose of discussing and improving the Work, but\n excluding communication
892 | that is conspicuously marked or otherwise\n designated in writing by the
893 | copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean
894 | Licensor and any individual or Legal Entity\n on behalf of whom a Contribution
895 | has been received by Licensor and\n subsequently incorporated within the
896 | Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions
897 | of\n this License, each Contributor hereby grants to You a perpetual,\n
898 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright
899 | license to reproduce, prepare Derivative Works of,\n publicly display, publicly
900 | perform, sublicense, and distribute the\n Work and such Derivative Works
901 | in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms
902 | and conditions of\n this License, each Contributor hereby grants to You
903 | a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n
904 | (except as stated in this section) patent license to make, have made,\n
905 | use, offer to sell, sell, import, and otherwise transfer the Work,\n where
906 | such license applies only to those patent claims licensable\n by such Contributor
907 | that are necessarily infringed by their\n Contribution(s) alone or by combination
908 | of their Contribution(s)\n with the Work to which such Contribution(s) was
909 | submitted. If You\n institute patent litigation against any entity (including
910 | a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n
911 | or a Contribution incorporated within the Work constitutes direct\n or contributory
912 | patent infringement, then any patent licenses\n granted to You under this
913 | License for that Work shall terminate\n as of the date such litigation is
914 | filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n
915 | Work or Derivative Works thereof in any medium, with or without\n modifications,
916 | and in Source or Object form, provided that You\n meet the following conditions:\n\n
917 | (a) You must give any other recipients of the Work or\n Derivative Works
918 | a copy of this License; and\n\n (b) You must cause any modified files to
919 | carry prominent notices\n stating that You changed the files; and\n\n
920 | (c) You must retain, in the Source form of any Derivative Works\n that
921 | You distribute, all copyright, patent, trademark, and\n attribution
922 | notices from the Source form of the Work,\n excluding those notices
923 | that do not pertain to any part of\n the Derivative Works; and\n\n
924 | (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution,
925 | then any Derivative Works that You distribute must\n include a readable
926 | copy of the attribution notices contained\n within such NOTICE file,
927 | excluding those notices that do not\n pertain to any part of the Derivative
928 | Works, in at least one\n of the following places: within a NOTICE text
929 | file distributed\n as part of the Derivative Works; within the Source
930 | form or\n documentation, if provided along with the Derivative Works;
931 | or,\n within a display generated by the Derivative Works, if and\n
932 | wherever such third-party notices normally appear. The contents\n of
933 | the NOTICE file are for informational purposes only and\n do not modify
934 | the License. You may add Your own attribution\n notices within Derivative
935 | Works that You distribute, alongside\n or as an addendum to the NOTICE
936 | text from the Work, provided\n that such additional attribution notices
937 | cannot be construed\n as modifying the License.\n\n You may add
938 | Your own copyright statement to Your modifications and\n may provide additional
939 | or different license terms and conditions\n for use, reproduction, or distribution
940 | of Your modifications, or\n for any such Derivative Works as a whole, provided
941 | Your use,\n reproduction, and distribution of the Work otherwise complies
942 | with\n the conditions stated in this License.\n\n 5. Submission of Contributions.
943 | Unless You explicitly state otherwise,\n any Contribution intentionally submitted
944 | for inclusion in the Work\n by You to the Licensor shall be under the terms
945 | and conditions of\n this License, without any additional terms or conditions.\n
946 | Notwithstanding the above, nothing herein shall supersede or modify\n the
947 | terms of any separate license agreement you may have executed\n with Licensor
948 | regarding such Contributions.\n\n 6. Trademarks. This License does not grant
949 | permission to use the trade\n names, trademarks, service marks, or product
950 | names of the Licensor,\n except as required for reasonable and customary
951 | use in describing the\n origin of the Work and reproducing the content of
952 | the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable
953 | law or\n agreed to in writing, Licensor provides the Work (and each\n
954 | Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT
955 | WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including,
956 | without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT,
957 | MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible
958 | for determining the\n appropriateness of using or redistributing the Work
959 | and assume any\n risks associated with Your exercise of permissions under
960 | this License.\n\n 8. Limitation of Liability. In no event and under no legal
961 | theory,\n whether in tort (including negligence), contract, or otherwise,\n
962 | unless required by applicable law (such as deliberate and grossly\n negligent
963 | acts) or agreed to in writing, shall any Contributor be\n liable to You
964 | for damages, including any direct, indirect, special,\n incidental, or consequential
965 | damages of any character arising as a\n result of this License or out of
966 | the use or inability to use the\n Work (including but not limited to damages
967 | for loss of goodwill,\n work stoppage, computer failure or malfunction,
968 | or any and all\n other commercial damages or losses), even if such Contributor\n
969 | has been advised of the possibility of such damages.\n\n 9. Accepting Warranty
970 | or Additional Liability. While redistributing\n the Work or Derivative Works
971 | thereof, You may choose to offer,\n and charge a fee for, acceptance of
972 | support, warranty, indemnity,\n or other liability obligations and/or rights
973 | consistent with this\n License. However, in accepting such obligations,
974 | You may act only\n on Your own behalf and on Your sole responsibility, not
975 | on behalf\n of any other Contributor, and only if You agree to indemnify,\n
976 | defend, and hold each Contributor harmless for any liability\n incurred
977 | by, or claims asserted against, such Contributor by reason\n of your accepting
978 | any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n
979 | APPENDIX: How to apply the Apache License to your work.\n\n To apply the
980 | Apache License to your work, attach the following\n boilerplate notice,
981 | with the fields enclosed by brackets \"[]\"\n replaced with your own identifying
982 | information. (Don't include\n the brackets!) The text should be enclosed
983 | in the appropriate\n comment syntax for the file format. We also recommend
984 | that a\n file or class name and description of purpose be included on the\n
985 | same \"printed page\" as the copyright notice for easier\n identification
986 | within third-party archives.\n\n Copyright [yyyy] [name of copyright owner]\n\n
987 | Licensed under the Apache License, Version 2.0 (the \"License\");\n you may
988 | not use this file except in compliance with the License.\n You may obtain a
989 | copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n
990 | Unless required by applicable law or agreed to in writing, software\n distributed
991 | under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES
992 | OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for
993 | the specific language governing permissions and\n limitations under the License.\n"
994 | --- !u!222 &1086899406
995 | CanvasRenderer:
996 | m_ObjectHideFlags: 0
997 | m_CorrespondingSourceObject: {fileID: 0}
998 | m_PrefabInstance: {fileID: 0}
999 | m_PrefabAsset: {fileID: 0}
1000 | m_GameObject: {fileID: 1086899403}
1001 | m_CullTransparentMesh: 1
1002 | --- !u!114 &1086899407
1003 | MonoBehaviour:
1004 | m_ObjectHideFlags: 0
1005 | m_CorrespondingSourceObject: {fileID: 0}
1006 | m_PrefabInstance: {fileID: 0}
1007 | m_PrefabAsset: {fileID: 0}
1008 | m_GameObject: {fileID: 1086899403}
1009 | m_Enabled: 1
1010 | m_EditorHideFlags: 0
1011 | m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
1012 | m_Name:
1013 | m_EditorClassIdentifier:
1014 | m_HorizontalFit: 0
1015 | m_VerticalFit: 2
1016 | --- !u!1 &1502237567
1017 | GameObject:
1018 | m_ObjectHideFlags: 0
1019 | m_CorrespondingSourceObject: {fileID: 0}
1020 | m_PrefabInstance: {fileID: 0}
1021 | m_PrefabAsset: {fileID: 0}
1022 | serializedVersion: 6
1023 | m_Component:
1024 | - component: {fileID: 1502237571}
1025 | - component: {fileID: 1502237570}
1026 | - component: {fileID: 1502237569}
1027 | - component: {fileID: 1502237568}
1028 | m_Layer: 5
1029 | m_Name: Canvas
1030 | m_TagString: Untagged
1031 | m_Icon: {fileID: 0}
1032 | m_NavMeshLayer: 0
1033 | m_StaticEditorFlags: 0
1034 | m_IsActive: 1
1035 | --- !u!114 &1502237568
1036 | MonoBehaviour:
1037 | m_ObjectHideFlags: 0
1038 | m_CorrespondingSourceObject: {fileID: 0}
1039 | m_PrefabInstance: {fileID: 0}
1040 | m_PrefabAsset: {fileID: 0}
1041 | m_GameObject: {fileID: 1502237567}
1042 | m_Enabled: 1
1043 | m_EditorHideFlags: 0
1044 | m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
1045 | m_Name:
1046 | m_EditorClassIdentifier:
1047 | m_IgnoreReversedGraphics: 1
1048 | m_BlockingObjects: 0
1049 | m_BlockingMask:
1050 | serializedVersion: 2
1051 | m_Bits: 4294967295
1052 | --- !u!114 &1502237569
1053 | MonoBehaviour:
1054 | m_ObjectHideFlags: 0
1055 | m_CorrespondingSourceObject: {fileID: 0}
1056 | m_PrefabInstance: {fileID: 0}
1057 | m_PrefabAsset: {fileID: 0}
1058 | m_GameObject: {fileID: 1502237567}
1059 | m_Enabled: 1
1060 | m_EditorHideFlags: 0
1061 | m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
1062 | m_Name:
1063 | m_EditorClassIdentifier:
1064 | m_UiScaleMode: 1
1065 | m_ReferencePixelsPerUnit: 100
1066 | m_ScaleFactor: 1
1067 | m_ReferenceResolution: {x: 800, y: 600}
1068 | m_ScreenMatchMode: 0
1069 | m_MatchWidthOrHeight: 0
1070 | m_PhysicalUnit: 3
1071 | m_FallbackScreenDPI: 96
1072 | m_DefaultSpriteDPI: 96
1073 | m_DynamicPixelsPerUnit: 1
1074 | m_PresetInfoIsWorld: 0
1075 | --- !u!223 &1502237570
1076 | Canvas:
1077 | m_ObjectHideFlags: 0
1078 | m_CorrespondingSourceObject: {fileID: 0}
1079 | m_PrefabInstance: {fileID: 0}
1080 | m_PrefabAsset: {fileID: 0}
1081 | m_GameObject: {fileID: 1502237567}
1082 | m_Enabled: 1
1083 | serializedVersion: 3
1084 | m_RenderMode: 0
1085 | m_Camera: {fileID: 0}
1086 | m_PlaneDistance: 100
1087 | m_PixelPerfect: 0
1088 | m_ReceivesEvents: 1
1089 | m_OverrideSorting: 0
1090 | m_OverridePixelPerfect: 0
1091 | m_SortingBucketNormalizedSize: 0
1092 | m_AdditionalShaderChannelsFlag: 25
1093 | m_SortingLayerID: 0
1094 | m_SortingOrder: 0
1095 | m_TargetDisplay: 0
1096 | --- !u!224 &1502237571
1097 | RectTransform:
1098 | m_ObjectHideFlags: 0
1099 | m_CorrespondingSourceObject: {fileID: 0}
1100 | m_PrefabInstance: {fileID: 0}
1101 | m_PrefabAsset: {fileID: 0}
1102 | m_GameObject: {fileID: 1502237567}
1103 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1104 | m_LocalPosition: {x: 0, y: 0, z: 0}
1105 | m_LocalScale: {x: 0, y: 0, z: 0}
1106 | m_Children:
1107 | - {fileID: 432530562}
1108 | - {fileID: 1646839690}
1109 | m_Father: {fileID: 0}
1110 | m_RootOrder: 1
1111 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1112 | m_AnchorMin: {x: 0, y: 0}
1113 | m_AnchorMax: {x: 0, y: 0}
1114 | m_AnchoredPosition: {x: 0, y: 0}
1115 | m_SizeDelta: {x: 0, y: 0}
1116 | m_Pivot: {x: 0, y: 0}
1117 | --- !u!1 &1646839689
1118 | GameObject:
1119 | m_ObjectHideFlags: 0
1120 | m_CorrespondingSourceObject: {fileID: 0}
1121 | m_PrefabInstance: {fileID: 0}
1122 | m_PrefabAsset: {fileID: 0}
1123 | serializedVersion: 6
1124 | m_Component:
1125 | - component: {fileID: 1646839690}
1126 | m_Layer: 5
1127 | m_Name: LisenceText
1128 | m_TagString: Untagged
1129 | m_Icon: {fileID: 0}
1130 | m_NavMeshLayer: 0
1131 | m_StaticEditorFlags: 0
1132 | m_IsActive: 1
1133 | --- !u!224 &1646839690
1134 | RectTransform:
1135 | m_ObjectHideFlags: 0
1136 | m_CorrespondingSourceObject: {fileID: 0}
1137 | m_PrefabInstance: {fileID: 0}
1138 | m_PrefabAsset: {fileID: 0}
1139 | m_GameObject: {fileID: 1646839689}
1140 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1141 | m_LocalPosition: {x: 0, y: 0, z: 0}
1142 | m_LocalScale: {x: 1, y: 1, z: 1}
1143 | m_Children:
1144 | - {fileID: 38156657}
1145 | - {fileID: 155392643}
1146 | m_Father: {fileID: 1502237571}
1147 | m_RootOrder: 1
1148 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1149 | m_AnchorMin: {x: 0, y: 0}
1150 | m_AnchorMax: {x: 1, y: 1}
1151 | m_AnchoredPosition: {x: 0, y: -25}
1152 | m_SizeDelta: {x: -40, y: -90}
1153 | m_Pivot: {x: 0.5, y: 0.5}
1154 | --- !u!1 &1787239744
1155 | GameObject:
1156 | m_ObjectHideFlags: 0
1157 | m_CorrespondingSourceObject: {fileID: 0}
1158 | m_PrefabInstance: {fileID: 0}
1159 | m_PrefabAsset: {fileID: 0}
1160 | serializedVersion: 6
1161 | m_Component:
1162 | - component: {fileID: 1787239749}
1163 | - component: {fileID: 1787239748}
1164 | - component: {fileID: 1787239746}
1165 | - component: {fileID: 1787239745}
1166 | - component: {fileID: 1787239750}
1167 | m_Layer: 0
1168 | m_Name: Main Camera
1169 | m_TagString: MainCamera
1170 | m_Icon: {fileID: 0}
1171 | m_NavMeshLayer: 0
1172 | m_StaticEditorFlags: 0
1173 | m_IsActive: 1
1174 | --- !u!81 &1787239745
1175 | AudioListener:
1176 | m_ObjectHideFlags: 0
1177 | m_CorrespondingSourceObject: {fileID: 0}
1178 | m_PrefabInstance: {fileID: 0}
1179 | m_PrefabAsset: {fileID: 0}
1180 | m_GameObject: {fileID: 1787239744}
1181 | m_Enabled: 1
1182 | --- !u!124 &1787239746
1183 | Behaviour:
1184 | m_ObjectHideFlags: 0
1185 | m_CorrespondingSourceObject: {fileID: 0}
1186 | m_PrefabInstance: {fileID: 0}
1187 | m_PrefabAsset: {fileID: 0}
1188 | m_GameObject: {fileID: 1787239744}
1189 | m_Enabled: 1
1190 | --- !u!20 &1787239748
1191 | Camera:
1192 | m_ObjectHideFlags: 0
1193 | m_CorrespondingSourceObject: {fileID: 0}
1194 | m_PrefabInstance: {fileID: 0}
1195 | m_PrefabAsset: {fileID: 0}
1196 | m_GameObject: {fileID: 1787239744}
1197 | m_Enabled: 1
1198 | serializedVersion: 2
1199 | m_ClearFlags: 1
1200 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844}
1201 | m_projectionMatrixMode: 1
1202 | m_GateFitMode: 2
1203 | m_FOVAxisMode: 0
1204 | m_SensorSize: {x: 36, y: 24}
1205 | m_LensShift: {x: 0, y: 0}
1206 | m_FocalLength: 50
1207 | m_NormalizedViewPortRect:
1208 | serializedVersion: 2
1209 | x: 0
1210 | y: 0
1211 | width: 1
1212 | height: 1
1213 | near clip plane: 0.3
1214 | far clip plane: 1000
1215 | field of view: 60
1216 | orthographic: 0
1217 | orthographic size: 5
1218 | m_Depth: -1
1219 | m_CullingMask:
1220 | serializedVersion: 2
1221 | m_Bits: 4294967295
1222 | m_RenderingPath: -1
1223 | m_TargetTexture: {fileID: 0}
1224 | m_TargetDisplay: 0
1225 | m_TargetEye: 3
1226 | m_HDR: 0
1227 | m_AllowMSAA: 1
1228 | m_AllowDynamicResolution: 0
1229 | m_ForceIntoRT: 0
1230 | m_OcclusionCulling: 1
1231 | m_StereoConvergence: 10
1232 | m_StereoSeparation: 0.022
1233 | --- !u!4 &1787239749
1234 | Transform:
1235 | m_ObjectHideFlags: 0
1236 | m_CorrespondingSourceObject: {fileID: 0}
1237 | m_PrefabInstance: {fileID: 0}
1238 | m_PrefabAsset: {fileID: 0}
1239 | m_GameObject: {fileID: 1787239744}
1240 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1241 | m_LocalPosition: {x: 0, y: 1, z: -10}
1242 | m_LocalScale: {x: 1, y: 1, z: 1}
1243 | m_Children: []
1244 | m_Father: {fileID: 0}
1245 | m_RootOrder: 0
1246 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1247 | --- !u!114 &1787239750
1248 | MonoBehaviour:
1249 | m_ObjectHideFlags: 0
1250 | m_CorrespondingSourceObject: {fileID: 0}
1251 | m_PrefabInstance: {fileID: 0}
1252 | m_PrefabAsset: {fileID: 0}
1253 | m_GameObject: {fileID: 1787239744}
1254 | m_Enabled: 1
1255 | m_EditorHideFlags: 0
1256 | m_Script: {fileID: 11500000, guid: e8acd81474de8324fa0d60f7399ebdd0, type: 3}
1257 | m_Name:
1258 | m_EditorClassIdentifier:
1259 |
--------------------------------------------------------------------------------
/Assets/AVProWithOpenCVForUnityExample/ShowLicense.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b5f0064b996841c41b8eb48d43ec4cce
3 | timeCreated: 1481631418
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/StreamingAssets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 1
2 | guid: fd1a96e49a9d44bbdabee3e9edb3d529
3 |
--------------------------------------------------------------------------------
/Assets/StreamingAssets/AVProWithOpenCVForUnityExample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b1e363552644181419caa3e5db1c202e
3 | folderAsset: yes
4 | DefaultImporter:
5 | userData:
6 |
--------------------------------------------------------------------------------
/Assets/StreamingAssets/AVProWithOpenCVForUnityExample/BigBuckBunny_720p30.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EnoxSoftware/AVProWithOpenCVForUnityExample/f4b62296901af71b9897cd2940e6657c54ed3964/Assets/StreamingAssets/AVProWithOpenCVForUnityExample/BigBuckBunny_720p30.mp4
--------------------------------------------------------------------------------
/Assets/StreamingAssets/AVProWithOpenCVForUnityExample/BigBuckBunny_720p30.mp4.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: eeac93a986e026742ab84f895e5df439
3 | MovieImporter:
4 | serializedVersion: 1
5 | quality: .5
6 | linearTexture: 0
7 | userData:
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | AVPro With OpenCV for Unity Example
2 | ====================
3 |
4 | Overview
5 | -----
6 | This example shows how to convert AVProVideo and AVProLiveCamera texture to OpenCV Mat using AsyncGPUReadback.
7 | - AVProVideoGetReadableTextureExample
8 | - AVProVideoAsyncGPUReadbackExample
9 | - AVProVideoExtractFrameExample
10 | - AVProLiveCameraGetFrameAsColor32Example
11 | - AVProLiveCameraAsyncGPUReadbackExample
12 |
13 | Environment
14 | -----
15 | - Unity 2020.3.48f1+
16 | [OpenCVForUnity](https://assetstore.unity.com/packages/tools/integration/opencv-for-unity-21088?aid=1011l4ehR) 2.5.9+
17 | [UnityPlugin-AVProVideo](https://assetstore.unity.com/packages/tools/video/avpro-video-v3-core-desktop-edition-278895?aid=1011l4ehR) 2.9.3+ (Latest-Trial)
18 | [UnityPlugin-AVProLiveCamera](https://assetstore.unity.com/packages/tools/video/avpro-live-camera-3683?aid=1011l4ehR) 2.9.3+ (Latest-Trial)
19 |
20 |
21 | Setup
22 | -----
23 | 1. Download the latest release unitypackage. [AVProWithOpenCVForUnityExample.unitypackage](https://github.com/EnoxSoftware/AVProWithOpenCVForUnityExample/releases)
24 | 1. Create New Project. (AVProWithOpenCVForUnityExample)
25 | 1. Import OpenCVForUnity from AssetStore
26 | 1. Import UnityPlugin-AVProVideo-Latest-Trial.unitypackage
27 | 1. Import UnityPlugin-AVProLiveCamera-Latest-Trial.unitypackage
28 | 1. Import AVProWithOpenCVForUnityExample.unitypackage
29 | 1. Add the "Assets/AVProWithOpenCVForUnityExample/*.unity" files to the "Scenes In Build" list in the "Build Settings" window.
30 | 1. Build and Deploy.
31 |
32 | Screen Shot
33 | -----
34 | 
35 |
--------------------------------------------------------------------------------
/ScreenShot.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EnoxSoftware/AVProWithOpenCVForUnityExample/f4b62296901af71b9897cd2940e6657c54ed3964/ScreenShot.PNG
--------------------------------------------------------------------------------