diff --git a/CHANGELOG.md b/CHANGELOG.md index f23a095..8053578 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,13 @@ All notable changes to com.unity.renderstreaming package will be documented in t The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## [3.0.1] - 2021-03-04 +## [3.1.0-exp.1] - 2021-05-28 + +### Added + +- Android platform support + +## [3.0.1-preview] - 2021-03-04 ### Fixed @@ -14,7 +20,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - `Camerastreamer` uses a `TargetTexture` on the `Camera` component if the `RenderTexture` is attached on the `Camera`. -## [3.0.0] - 2021-03-02 +## [3.0.0-preview] - 2021-03-02 Version 3.0.0 has a big change in the package design. This mainly addresses moving scripts from the sample folder to Package Manager. @@ -30,13 +36,13 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi - Moved scripts from the sample folder to Package Manager. - Upgrading WebRTC package to `2.3.3-preview`. -## [2.2.2] - 2020-12-15 +## [2.2.2-preview] - 2020-12-15 ### Changed - Updated unitypackage files of the package samples -## [2.2.1] - 2020-11-19 +## [2.2.1-preview] - 2020-11-19 ### Added @@ -52,14 +58,14 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi - Fixed `NullPointerException` occurred when `UIController` instance is not attached `SimpleCameraController` component - Fixed behavior of the editor menu -## [2.2.0] - 2020-11-09 +## [2.2.0-preview] - 2020-11-09 ### Changed - Upgrading WebRTC to `2.2.1-preview` -## [2.1.1] - 2020-09-11 +## [2.1.1-preview] - 2020-09-11 ### Changed @@ -67,7 +73,7 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi - Changed not to customize SDP to make stabilize bitrate of video streaming - Erase Japanese documentation due to migrating to internal translation system -## [2.1.0] - 2020-08-28 +## [2.1.0-preview] - 2020-08-28 ### Added @@ -81,7 +87,7 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi - Fixed the issue when pressing multiple buttons on a keyboard -## [2.0.2] - 2020-05-14 +## [2.0.2-preview] - 2020-05-14 ### Changed @@ -92,13 +98,13 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi - Fix documents -## [2.0.1] - 2020-05-01 +## [2.0.1-preview] - 2020-05-01 ### Fixed - Fixed versioning issue -## [2.0.0] - 2020-04-30 +## [2.0.0-preview] - 2020-04-30 ### Changed @@ -106,19 +112,19 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi - Upgrading WebRTC to `2.0.0-preview` - Update URP/HDRP sample -## [1.2.2] - 2020-03-06 +## [1.2.2-preview] - 2020-03-06 ### Fixed - Fix build error when build standalone -## [1.2.1] - 2020-02-28 +## [1.2.1-preview] - 2020-02-28 ### Changed - Upgrading WebRTC to `1.1.1-preview` -## [1.2.0] - 2020-02-25 +## [1.2.0-preview] - 2020-02-25 ### Added @@ -137,19 +143,19 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi - Display the mouse pointer in the correct position - Try downloading webserver from a known version if the current version doesn't exist -## [1.1.2] - 2019-09-20 +## [1.1.2-preview] - 2019-09-20 Fixed - Fix image links for Japanese documentation on Unity website -## [1.1.1] - 2019-09-14 +## [1.1.1-preview] - 2019-09-14 ### Fixed - Fix image links for documentation on Unity website -## [1.1.0] - 2019-09-13 +## [1.1.0-preview] - 2019-09-13 ### Added @@ -161,7 +167,7 @@ Fixed - Upgrading HDRP to `5.16.1-preview` - Adding keyboard event to reset camera position -## [1.0.0] - 2019-08-22 +## [1.0.0-preview] - 2019-08-22 ### Added @@ -176,7 +182,7 @@ Fixed - Blit Render Texture using customRender instead of `Rendering.RenderPipeline.BeginCameraRendering` -## [0.2.0] - 2019-07-30 +## [0.2.0-preview] - 2019-07-30 ### Changed @@ -186,7 +192,7 @@ Fixed - Added a unitypackage file containing an HDRP sample, and a menu editor to install it -## [0.1.0] - 2019-07-22 +## [0.1.0-preview] - 2019-07-22 - Initial Release diff --git a/Documentation~/TableOfContents.md b/Documentation~/TableOfContents.md index 87e7719..4489a72 100644 --- a/Documentation~/TableOfContents.md +++ b/Documentation~/TableOfContents.md @@ -1,6 +1,7 @@ * [Unity Render Streaming](index.md) * [Overview](overview.md) * [Tutorial](tutorial.md) +* [Project Template](template.md) * [Web Application](webapp.md) * [Browser Input Process](browser_input.md) * [Configure Self-Signed Credentials for https](https.md) diff --git a/Documentation~/faq.md b/Documentation~/faq.md index 93a1841..a48b7dc 100644 --- a/Documentation~/faq.md +++ b/Documentation~/faq.md @@ -22,7 +22,7 @@ If you use the hardware encoder, Make sure you're using a graphics card that sup Make sure the port isn't being used by another service. -### uGUI can't be operated through a browser. +### Unity UI can't be operated through a browser. It is only possible to operate when the focus is on the running application. On [This page](browser_input.md#using-unity-ui), you can see more info. diff --git a/Documentation~/images/download_template_package.png b/Documentation~/images/download_template_package.png new file mode 100644 index 0000000..97589ad Binary files /dev/null and b/Documentation~/images/download_template_package.png differ diff --git a/Documentation~/images/furioos_signaling.png b/Documentation~/images/furioos_signaling.png new file mode 100644 index 0000000..5958b61 Binary files /dev/null and b/Documentation~/images/furioos_signaling.png differ diff --git a/Documentation~/images/furioos_stream_type.png b/Documentation~/images/furioos_stream_type.png new file mode 100644 index 0000000..14ad3d3 Binary files /dev/null and b/Documentation~/images/furioos_stream_type.png differ diff --git a/Documentation~/images/furioos_zip_folder.png b/Documentation~/images/furioos_zip_folder.png new file mode 100644 index 0000000..3035042 Binary files /dev/null and b/Documentation~/images/furioos_zip_folder.png differ diff --git a/Documentation~/images/launch_webserver_public_mode_on_windows.png b/Documentation~/images/launch_webserver_public_mode_on_windows.png new file mode 100644 index 0000000..2e021f1 Binary files /dev/null and b/Documentation~/images/launch_webserver_public_mode_on_windows.png differ diff --git a/Documentation~/images/sample_buildsettings.png b/Documentation~/images/sample_buildsettings.png new file mode 100644 index 0000000..e2ac04f Binary files /dev/null and b/Documentation~/images/sample_buildsettings.png differ diff --git a/Documentation~/images/sample_menu.png b/Documentation~/images/sample_menu.png new file mode 100644 index 0000000..b854e1e Binary files /dev/null and b/Documentation~/images/sample_menu.png differ diff --git a/Documentation~/images/sample_menu_scene.png b/Documentation~/images/sample_menu_scene.png new file mode 100644 index 0000000..a581a6b Binary files /dev/null and b/Documentation~/images/sample_menu_scene.png differ diff --git a/Documentation~/index.md b/Documentation~/index.md index acda92e..0f08938 100644 --- a/Documentation~/index.md +++ b/Documentation~/index.md @@ -30,6 +30,15 @@ It is possible to send input messages to Unity from the browser, and sending inp This version of Render Streaming is compatible with the following versions of the Unity Editor - **Unity 2019.4** +- **Unity 2020.3** + +### Platform + +- **Windows** +- **Linux** +- **macOS** (**Apple Slicon** is not supported yet) +- **iOS** +- **Android** (**ARMv7** is not supported) ### Web Browsers support @@ -54,15 +63,11 @@ Please check [this page](samples.md). ## Project template -Project templates are on the [GitHub repository](https://github.com/Unity-Technologies/UnityRenderStreaming). +Please check [this page](template.md). ## Furioos compatibility -> [!NOTE] -> This is an experimental feature. +**Unity Render Streaming** is also supported natively by **Furioos** platform https://www.furioos.com/ . +That means that you can easily build a Unity application, upload it on **Furioos** and enjoy all the features of **Unity Render Streaming** without worrying about the deployment and scalability issues of your project. -**Unity Render Streaming** is also supported natively by Furioos platform https://www.furioos.com/ . -That means that you can easily build a RenderStreaming application, upload it on Furioos and enjoy all the features of RenderStreaming without worrying about the deployment and scalability issues of your project. -To do so, the requirement is to select "FurioosSignaling" in the "Signaling server type" parameter of the RenderStreaming script. -This allow your application to connect to Furioos services when running on the managed virtual machines. -Then just build a standalone Windows version of your application, zip it and upload it on your account at https://portal.furioos.com/ . \ No newline at end of file +Please see [Furioos Tutorial](tutorial.md#deploy-to-furioos) section to find out how it works. \ No newline at end of file diff --git a/Documentation~/samples.md b/Documentation~/samples.md index eb90abc..bddd835 100644 --- a/Documentation~/samples.md +++ b/Documentation~/samples.md @@ -1,15 +1,35 @@ -# Import Samples +# Samples + +The package contains the following samples. + +| Scene | Details | +| ----- | ------- | +| [Receiver](sample-receiver.md) | Displaying a video streaming from another Unity | +| [Broadcast](sample-broadcast.md) | Streaming video and audio to multi Unity applications | +| [Bidirectional](sample-bidirectional.md) | bi-directional(send/receive) each other's video | +| [RenderPipeline](sample-renderpipeline.md) | Streaming video using HDRP or URP | +| [AR Foundation](sample-arfoundation.md) | Controling a camera using AR Foundation. | +| [Gyroscope](sample-gyroscope.md) | Controling a camera using Gyroscope. | +| [Web Browser Input](sample-browserinput.md) | Streaming the video from Unity to the web browser | + + +## Import samples in project You can import Samples from the bottom of the `com.unity.renderstreaming` package in the PackageManager Window. ![Sample List](images/renderstreaming_samples.png) +## Sample menu + +`Menu` scene is helpful for checking multiple sample scenes. You can find the scene `Example/Menu/Menu.scene`. + +![Sample menu](images/sample_menu.png) + +Open `Menu` scene and press `Play` button, as you can see the menu for sample scenes. + +![Sample menu](images/sample_menu_scene.png) + +## Install samples into mobile devices -# About Samples +It is easy to try all samples on mobile devices if only you put sample scenes into `Scenes in Build` in Build Settings Window. `Menu` scene should be loaded as a first one so you need to rearrange scenes. -* [Receiver](sample-receiver.md) -* [Broadcast](sample-broadcast.md) -* [Bidirectional](sample-bidirectional.md) -* [RenderPipeline](sample-renderpipeline.md) -* [AR Foundation](sample-arfoundation.md) -* [Gyroscope](sample-gyroscope.md) -* [Web Browser Input](sample-browserinput.md) \ No newline at end of file +![Build Settings](images/sample_buildsettings.png) \ No newline at end of file diff --git a/Documentation~/signalingprotocol.md b/Documentation~/signalingprotocol.md index 9de2c18..ad7f02c 100644 --- a/Documentation~/signalingprotocol.md +++ b/Documentation~/signalingprotocol.md @@ -2,17 +2,17 @@ **The Unity Render Streaming** package provides two different signaling protocols as examples. -- HttpSignaling -- WebSocketSignaling +- `HttpSignaling` +- `WebSocketSignaling` In the example, the schema given to `URL Signaling` is used to determine which protocol to use. ![Render Streaming backend](images/websocket_signaling_inspector.png) -If it starts with `http`, HttpSignaling is used. If it starts with `ws`, WebSocketSignaling is used. +If it starts with `http`, `HttpSignaling` is used. If it starts with `ws`, `WebSocketSignaling` is used. ## HttpSignaling -Signaling is handled by Http Request. +Signaling is handled by HTTP Request. The signalling server is polled at specified intervals to obtain the Offer and Candidate of the difference from the last time. ## WebSocketSignaling @@ -20,56 +20,4 @@ Signaling is handled by WebSocket. When the signaling server receives the Offer or Candidate, the server distributes it to the connected clients. > [!WARNING] > WebSocket does not work in iOS Safari on servers that use self-signed certificates. -> If you want to verify the behavior of WebSocket signaling in iOS Safari, use a certificate issued by a trusted certification authority. Or try signaling with Http. - -## Proprietary Signaling Class -Both of the signaling classes implement `ISignaling`. -If you want to create your own signaling class, you can inherit `ISignaling` to use it directly from the UnityRenderStreaming class. -The following is a description of each method. - -``` -void Start(); -``` -- A method to call when starting signaling. -- In the sample, we are establishing a session with the server for each protocol. - -``` -void Stop(); -``` -A method to call when you want to stop signaling. -In the sample, we are terminating the session with the server for each protocol. - -``` -public delegate void OnOfferHandler(ISignaling signaling, DescData e); -event OnOfferHandler OnOffer; -``` -- This is a delegate that registers the process to be performed when a new Offer is received by signaling. - -``` -public delegate void OnAnswerHandler(ISignaling signaling, DescData e); -event OnAnswerHandler OnAnswer; -``` -- This is a delegate that registers the process to be performed when a new Answer is received by signaling. -- In the current version, it is not used in Unity because it does not receive Answers. - -``` -public delegate void OnIceCandidateHandler(ISignaling signaling, CandidateData e); -event OnIceCandidateHandler OnIceCandidate; -``` -- This is a delegate that registers the process to be performed when it receives a new Candidate by signaling. - -``` -void SendOffer(); -``` -- A method to call when sending an Offer in signaling. -- In the current version, it is not implemented in the sample because it is not possible to send Offer from Unity. - -``` -void SendAnswer(string connectionId, RTCSessionDescription answer); -``` -- A method to call when sending an Answer in signaling. - -``` -void SendCandidate(string connectionId, RTCIceCandidate candidate); -``` -- A method to call when sending a Candidate in signaling. +> If you want to verify the behavior of WebSocket signaling in iOS Safari, use a certificate issued by a trusted certification authority. Or try signaling with HTTP. \ No newline at end of file diff --git a/Documentation~/template.md b/Documentation~/template.md new file mode 100644 index 0000000..6a9a8e9 --- /dev/null +++ b/Documentation~/template.md @@ -0,0 +1,63 @@ +# Unity Render Streaming Template + +This document describes the way to start using the template package of Unity Render Streaming. + +### Download the Package + +Download the template package from [Github Release](https://github.com/Unity-Technologies/com.unity.webrtc/releases). Please download the package below. + +- `com.unity.template.renderstreaming-x.x.x-preview.tgz` + +![Download template package](images/download_template_package.png) + +> [!NOTE] +> This process made for temporary use. It is not needed if these packages are registered to PackageManager in the future. + +### Install the package + +Put the package in a dedicated folder in order to use them as a project template. +The project template can be selected as a template when creating a new Unity project. + +![Template unityhub](images/template_in_unityhub.png) + +When using the template package, put the tgz file in the following folders. +Move `com.unity.template.renderstreaming-x.x.x-preview.tgz` to this folder + +``` + /Data/Resources/PackageManager/ProjectTemplates +``` + +After moving the packages, open the Unity Hub and create a new project. Confirm that `Render Streaming` has been added as a template. + +### Launch the Web application + +To launch web application, Select an item **Edit / Render Streaming / Download web app** from the menu bar. + +![Menu download webapp](images/download_webapp.png) + +Be shown the command prompt when execute the file. Confirm that the following log displays in the command prompt. The web server's address should be displayed. Details on web server command options can be found on the [Web server](webserver.md) page. + +![Launch Web Server command](images/launch_webserver_public_mode_on_windows.png) + +The web server's source code is located in the `WebApp` folder. Additionally, [Node.js](https://nodejs.org) must be installed in order to run the source code. Download the installer from the website. + +### Unity Settings + +Open the `Assets/Scenes/samplescene.unity` sample scene. + +![HDRP scene](images/hdrpscene.png) + +Select `RenderStreaming` in the Hierarchy. Check the `Render Streaming` components in the Inspector. + +![Render Streaming inspector](images/renderstreaming_inspector.png) + +Set the address of the web server you just activated under the `URL Signaling` parameter. For details on the various settings in the Inspector. + +### Accessing the Web Page + +Launch one of the [supported browsers](../index.md) from the list. +Access the Web server's address. The following web page will be displayed. + +![Browser HDRP scene](images/browser_hdrpscene.png) + +If this doesn't happen, it's possible that the browser version is too old. Be sure to install the latest version. \ No newline at end of file diff --git a/Documentation~/turnserver.md b/Documentation~/turnserver.md index d1d904c..1e46e1c 100644 --- a/Documentation~/turnserver.md +++ b/Documentation~/turnserver.md @@ -94,7 +94,7 @@ Use the [webrtc sample](https://webrtc.github.io/samples/src/content/peerconnect | TURN username | username | | TURN password | password | - +![TURN connection testing](images/turn-connection-testing.png) Click `Gather candidates` to show a list of potential communication paths. Verify that a log is also printed on the TURN server side. diff --git a/Documentation~/tutorial.md b/Documentation~/tutorial.md index 1a62602..929c3c0 100644 --- a/Documentation~/tutorial.md +++ b/Documentation~/tutorial.md @@ -40,7 +40,7 @@ Check Package Manager window, Click `+` button and select `Add package from git Input the string below to the input field. ``` -com.unity.renderstreaming@3.0.1-preview +com.unity.renderstreaming@3.1.0-exp.1 ``` The list of version string is [here](https://github.com/Unity-Technologies/com.unity.renderstreaming/tags). In most cases, the latest version is recommended to use. @@ -61,10 +61,25 @@ When the select download folder window appears, click on `Select Folder` to down ![Select Download folder](images/select_download_folder.png) -After the download is finished and a new explorer window is opened, click on `webserver.exe` to start -Unity RenderStreaming web server. +After the download is finished and a `powershell` or `cmd` window is opened, and run `webserver.exe` with `-w` option. Please refer to [this page](webapp.md) for commandline options. -![Web Server](images/webserver.png) +``` +.\webserver.exe -w +``` + +You can see logs on the commandline like below. + +![Launch web server](images/launch_webserver_public_mode_on_windows.png) + +If you use it on macOS or Linux, please run the command below to give the execute permission. + +``` +# for Linux +chmod a+x ./webserver + +# for macOS +chmod a+x ./webserver_mac +``` ## Install samples @@ -90,10 +105,30 @@ You can see the Unity scene on the browser, and control a camera in the Unity sc ![Video player sample on the browser](images/browser_videoplayer.png) +## Deploy to Furioos + +As you may already know, **Unity Render Streaming** has a Furioos-compatible signaling option. This means that you can build a dedicated version of your application, host it on **Furioos**, and share it with thousands of customers who will enjoy all the features of **Unity Render Streaming**. But you will **not** have to deal with any of the difficulties of setting up a private server, a machine in the cloud or manage the scalability of your solution. + +To do so, the requirement is to select "FurioosSignaling" in the "Signaling server type" parameter of the [RenderStreaming](components.md#render-streaming) component. +This allow your application to connect to Furioos services when running on the managed virtual machines. + +![Selecting FurioosSignaling](images/furioos_signaling.png) + +Then just build a **standalone Windows version** of your application, and zip it! Don't try to build iOS, Android, linux or whatever version of your app, **Furioos only support Windows applications**. Also, be sure to zip the whole exported folder with all files and sub-folders, not just the ".exe" file. + +![Selecting FurioosSignaling](images/furioos_zip_folder.png) + +Finally just upload it on your account at https://portal.furioos.com/ . +If you need futher help to upload your application on **Furioos**, please follow [this tutorial](https://support.furioos.com/article/adding-an-application-on-furioos/). + +You can check the stream type on https://portal.furioos.com/ by clicking to the "more options" button in the toolbar. + +![Selecting FurioosSignaling](images/furioos_stream_type.png) + ## After tutorial -About general questions, please see [FAQ](faq.md) page. About the operation of inspectors, please see [Components settings](components.md) page. +About general questions, please see [FAQ](faq.md) page. And you are available for discussions about Unity Render Streaming on [Unity Forum](https://forum.unity.com/forums/unity-render-streaming.413). +About the operation of inspectors, please see [Components settings](components.md) page. About options of web application, please see [The web application](webapp.md) page. - You can see more details for samples on the [Samples](samples.md) page. \ No newline at end of file diff --git a/Editor/WebAppDownloader.cs b/Editor/WebAppDownloader.cs index 33399e9..c6fa31a 100644 --- a/Editor/WebAppDownloader.cs +++ b/Editor/WebAppDownloader.cs @@ -7,7 +7,7 @@ namespace Unity.RenderStreaming.Editor public static class WebAppDownloader { const string URLRoot = "https://github.com/Unity-Technologies/UnityRenderStreaming"; - const string LatestKnownVersion = "3.0.1-preview"; + const string LatestKnownVersion = "3.1.0-exp.1"; // TODO::fix release process of webserver runtime. const string FileNameWebAppForMac = "webserver_mac"; diff --git a/Runtime/Scripts/ExecuteSignalingEvents.cs b/Runtime/Scripts/ExecuteSignalingEvents.cs index fd416b0..13b3d40 100644 --- a/Runtime/Scripts/ExecuteSignalingEvents.cs +++ b/Runtime/Scripts/ExecuteSignalingEvents.cs @@ -15,8 +15,6 @@ public static T ValidateEventData(BaseEventData data) where T : class private static readonly ExecuteEvents.EventFunction s_CreatedConnectionHandler = Execute; - private static readonly ExecuteEvents.EventFunction - s_FoundConnectionHandler = Execute; private static readonly ExecuteEvents.EventFunction s_DeletedConnectionHandler = Execute; private static readonly ExecuteEvents.EventFunction @@ -36,10 +34,6 @@ private static void Execute(ICreatedConnectionHandler handler, BaseEventData eve { handler.OnCreatedConnection(ValidateEventData(eventData)); } - private static void Execute(IFoundConnectionHandler handler, BaseEventData eventData) - { - handler.OnFoundConnection(ValidateEventData(eventData)); - } private static void Execute(IDeletedConnectionHandler handler, BaseEventData eventData) { handler.OnDeletedConnection(ValidateEventData(eventData)); @@ -74,11 +68,6 @@ public static ExecuteEvents.EventFunction createdConn get { return s_CreatedConnectionHandler; } } - public static ExecuteEvents.EventFunction foundConnectionHandler - { - get { return s_FoundConnectionHandler; } - } - public static ExecuteEvents.EventFunction deletedConnectionHandler { get { return s_DeletedConnectionHandler; } diff --git a/Runtime/Scripts/IRenderStreamingHandler.cs b/Runtime/Scripts/IRenderStreamingHandler.cs index f0ba521..37e8964 100644 --- a/Runtime/Scripts/IRenderStreamingHandler.cs +++ b/Runtime/Scripts/IRenderStreamingHandler.cs @@ -6,52 +6,47 @@ namespace Unity.RenderStreaming public interface IRenderStreamingDelegate { /// - /// + /// /// event Action onStart; /// - /// + /// /// event Action onCreatedConnection; /// - /// - /// - event Action onFoundConnection; - - /// - /// + /// /// event Action onDeletedConnection; /// - /// + /// /// event Action onGotOffer; /// - /// + /// /// event Action onGotAnswer; /// - /// + /// /// event Action onConnect; /// - /// + /// /// event Action onDisconnect; /// - /// + /// /// event Action onAddReceiver; /// - /// + /// /// event Action onAddChannel; } @@ -59,33 +54,40 @@ public interface IRenderStreamingDelegate public interface IRenderStreamingHandler { /// - /// + /// /// /// void CreateConnection(string connectionId); /// - /// + /// /// /// void DeleteConnection(string connectionId); /// - /// + /// /// /// /// bool ExistConnection(string connectionId); /// - /// + /// /// /// /// bool IsConnected(string connectionId); /// - /// + /// + /// + /// + /// + bool IsStable(string connection); + + /// + /// /// /// /// @@ -93,26 +95,44 @@ public interface IRenderStreamingHandler RTCDataChannel CreateChannel(string connectionId, string name); /// - /// + /// /// /// void SendOffer(string connectionId); /// - /// + /// /// /// void SendAnswer(string connectionId); /// - /// + /// /// /// /// RTCRtpTransceiver AddTrack(string connectionId, MediaStreamTrack track); /// - /// + /// + /// + /// + /// + /// + /// + RTCRtpTransceiver AddTransceiver(string connectionId, MediaStreamTrack track, RTCRtpTransceiverDirection direction); + + /// + /// + /// + /// + /// + /// + /// + RTCRtpTransceiver AddTransceiver(string connectionId, TrackKind kind, RTCRtpTransceiverDirection direction); + + /// + /// /// /// /// diff --git a/Runtime/Scripts/ISignalingEventHandler.cs b/Runtime/Scripts/ISignalingEventHandler.cs index 89237d8..ed7259b 100644 --- a/Runtime/Scripts/ISignalingEventHandler.cs +++ b/Runtime/Scripts/ISignalingEventHandler.cs @@ -7,11 +7,6 @@ public interface ICreatedConnectionHandler : IEventSystemHandler void OnCreatedConnection(SignalingEventData eventData); } - public interface IFoundConnectionHandler : IEventSystemHandler - { - void OnFoundConnection(SignalingEventData eventData); - } - public interface IDeletedConnectionHandler : IEventSystemHandler { void OnDeletedConnection(SignalingEventData eventData); diff --git a/Runtime/Scripts/InputSystem/InputRemoting.cs b/Runtime/Scripts/InputSystem/InputRemoting.cs index c83c957..68ed663 100644 --- a/Runtime/Scripts/InputSystem/InputRemoting.cs +++ b/Runtime/Scripts/InputSystem/InputRemoting.cs @@ -518,6 +518,7 @@ public struct Data public string name; public string layout; public int deviceId; + public string variants; public InputDeviceDescription description; } @@ -530,6 +531,7 @@ public static Message Create(InputDevice device) name = device.name, layout = device.layout, deviceId = device.deviceId, + variants = device.variants, description = device.description }; @@ -568,7 +570,7 @@ public static void Process(InputRemoting Receiver, Message msg) try { ////REVIEW: this gives remote devices names the same way that local devices receive them; should we make remote status visible in the name? - device = Receiver.m_LocalManager.AddDevice(data.layout); + device = Receiver.m_LocalManager.AddDevice(data.layout, data.name, data.variants); // todo(kazuki)::Avoid to use reflection // device.m_ParticipantId = msg.participantId; diff --git a/Runtime/Scripts/InputSystem/Receiver.cs b/Runtime/Scripts/InputSystem/Receiver.cs index 0a2cd73..a909666 100644 --- a/Runtime/Scripts/InputSystem/Receiver.cs +++ b/Runtime/Scripts/InputSystem/Receiver.cs @@ -14,7 +14,7 @@ namespace Unity.RenderStreaming /// /// /// - class Receiver : InputManager + class Receiver : InputManager, IDisposable { public override event Action onMessage; public new event Action onDeviceChange; @@ -34,6 +34,11 @@ public Receiver(RTCDataChannel channel) } ~Receiver() + { + this.Dispose(); + } + + public void Dispose() { RemoveAllDevices(); } diff --git a/Runtime/Scripts/InputSystem/Sender.cs b/Runtime/Scripts/InputSystem/Sender.cs index 2355700..0a7e658 100644 --- a/Runtime/Scripts/InputSystem/Sender.cs +++ b/Runtime/Scripts/InputSystem/Sender.cs @@ -12,7 +12,7 @@ // namespace Unity.WebRTC.InputSystem namespace Unity.RenderStreaming { - class Sender : InputManager + class Sender : InputManager, IDisposable { public override event Action onEvent; public override event Action onDeviceChange; @@ -26,6 +26,11 @@ public Sender() } ~Sender() + { + this.Dispose(); + } + + public void Dispose() { InputSystem.onEvent -= OnEvent; InputSystem.onDeviceChange -= OnDeviceChange; diff --git a/Runtime/Scripts/InputSystemChannelReceiver.cs b/Runtime/Scripts/InputSystemChannelReceiver.cs index eeb2ae4..acea174 100644 --- a/Runtime/Scripts/InputSystemChannelReceiver.cs +++ b/Runtime/Scripts/InputSystemChannelReceiver.cs @@ -4,6 +4,9 @@ namespace Unity.RenderStreaming { + /// + /// + /// public class InputSystemChannelReceiver : InputChannelReceiverBase { /// @@ -13,7 +16,7 @@ public class InputSystemChannelReceiver : InputChannelReceiverBase private Receiver receiver; private InputRemoting receiverInput; - private IDisposable receiverDisposer; + private IDisposable subscriberDisposer; /// /// @@ -23,26 +26,33 @@ public override void SetChannel(string connectionId, RTCDataChannel channel) { if (channel == null) { - receiverInput?.StopSending(); - receiverDisposer?.Dispose(); - receiver.RemoveAllDevices(); - receiver = null; + Dispose(); } else { receiver = new Receiver(channel); receiver.onDeviceChange += onDeviceChange; receiverInput = new InputRemoting(receiver); - receiverDisposer = receiverInput.Subscribe(receiverInput); + subscriberDisposer = receiverInput.Subscribe(receiverInput); receiverInput.StartSending(); } base.SetChannel(connectionId, channel); } - public void OnDestroy() + /// + /// + /// + protected virtual void OnDestroy() + { + Dispose(); + } + + protected void Dispose() { receiverInput?.StopSending(); - receiverDisposer?.Dispose(); + subscriberDisposer?.Dispose(); + receiver?.Dispose(); + receiver = null; } } } diff --git a/Runtime/Scripts/InputSystemChannelSender.cs b/Runtime/Scripts/InputSystemChannelSender.cs index b73cb61..5f33447 100644 --- a/Runtime/Scripts/InputSystemChannelSender.cs +++ b/Runtime/Scripts/InputSystemChannelSender.cs @@ -3,11 +3,14 @@ namespace Unity.RenderStreaming { + /// + /// + /// public class InputSystemChannelSender : DataChannelBase { private Sender sender; private InputRemoting senderInput; - private IDisposable senderDisposer; + private IDisposable suscriberDisposer; /// /// @@ -17,25 +20,19 @@ public override void SetChannel(string connectionId, RTCDataChannel channel) { if (channel == null) { - senderInput?.StopSending(); - senderDisposer?.Dispose(); - sender = null; - return; + Dispose(); + } + else + { + sender = new Sender(); + senderInput = new InputRemoting(sender); + suscriberDisposer = senderInput.Subscribe(new Observer(channel)); + channel.OnOpen += OnOpen; + channel.OnClose += OnClose; } - sender = new Sender(); - senderInput = new InputRemoting(sender); - senderDisposer = senderInput.Subscribe(new Observer(channel)); - channel.OnOpen += OnOpen; - channel.OnClose += OnClose; base.SetChannel(connectionId, channel); } - public void OnDestroy() - { - senderInput?.StopSending(); - senderDisposer?.Dispose(); - } - void OnOpen() { senderInput.StartSending(); @@ -45,5 +42,17 @@ void OnClose() senderInput.StopSending(); } + protected virtual void OnDestroy() + { + this.Dispose(); + } + + protected void Dispose() + { + senderInput?.StopSending(); + suscriberDisposer?.Dispose(); + sender?.Dispose(); + sender = null; + } } } diff --git a/Runtime/Scripts/PeerConnection.cs b/Runtime/Scripts/PeerConnection.cs new file mode 100644 index 0000000..505efeb --- /dev/null +++ b/Runtime/Scripts/PeerConnection.cs @@ -0,0 +1,51 @@ +using System; +using Unity.WebRTC; + +namespace Unity.RenderStreaming +{ + internal class PeerConnection : IDisposable + { + public readonly RTCPeerConnection peer; + public readonly bool polite; + + public bool makingOffer; + public bool waitingAnswer; + public bool ignoreOffer; + public bool srdAnswerPending; + public bool makingAnswer; + + public PeerConnection(RTCPeerConnection peer, bool polite) + { + this.peer = peer; + this.polite = polite; + } + + ~PeerConnection() + { + Dispose(); + } + + public override string ToString() + { + var str = polite ? "polite" : "impolite"; + return $"[{str}-{base.ToString()}]"; + } + + public void Dispose() + { + if (peer == null) + { + return; + } + + peer.OnTrack = null; + peer.OnDataChannel = null; + peer.OnIceCandidate = null; + peer.OnNegotiationNeeded = null; + peer.OnConnectionStateChange = null; + peer.OnIceConnectionChange = null; + peer.OnIceGatheringStateChange = null; + peer.Dispose(); + } + } +} diff --git a/Runtime/Scripts/PeerConnection.cs.meta b/Runtime/Scripts/PeerConnection.cs.meta new file mode 100644 index 0000000..9fa4ee2 --- /dev/null +++ b/Runtime/Scripts/PeerConnection.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fbcbecf9d04e490bae7326f66971399d +timeCreated: 1620856244 \ No newline at end of file diff --git a/Runtime/Scripts/ReceiveVideoViewer.cs b/Runtime/Scripts/ReceiveVideoViewer.cs index 6b63914..0fe79f7 100644 --- a/Runtime/Scripts/ReceiveVideoViewer.cs +++ b/Runtime/Scripts/ReceiveVideoViewer.cs @@ -19,6 +19,11 @@ public class ReceiveVideoViewer : StreamReceiverBase /// public OnUpdateReceiveTextureHandler OnUpdateReceiveTexture; + /// + /// + /// + public override TrackKind Kind { get { return TrackKind.Video; } } + /// /// /// diff --git a/Runtime/Scripts/RenderStreaming.cs b/Runtime/Scripts/RenderStreaming.cs index 9451d83..1df8d2b 100644 --- a/Runtime/Scripts/RenderStreaming.cs +++ b/Runtime/Scripts/RenderStreaming.cs @@ -63,7 +63,7 @@ void Awake() } /// - /// + /// /// /// /// @@ -78,9 +78,18 @@ public void Run( { RTCConfiguration _conf = conf.GetValueOrDefault(new RTCConfiguration { iceServers = iceServers }); - bool _hardwareEncoder = - hardwareEncoder.GetValueOrDefault(hardwareEncoderSupport); - var encoderType = _hardwareEncoder ? EncoderType.Hardware : EncoderType.Software; + if (hardwareEncoder != null) + hardwareEncoderSupport = hardwareEncoder.Value; + var encoderType = hardwareEncoderSupport ? EncoderType.Hardware : EncoderType.Software; + + if (signaling != null) + { + signalingType = signaling.GetType().FullName; + + //todo:: This property is not needed by FurioosSignaling. + urlSignaling = signaling.Url; + interval = signaling.Interval; + } ISignaling _signaling = signaling ?? CreateSignaling( signalingType, urlSignaling, interval, SynchronizationContext.Current); RenderStreamingDependencies dependencies = new RenderStreamingDependencies @@ -88,7 +97,8 @@ public void Run( config = _conf, encoderType = encoderType, signaling = _signaling, - startCoroutine = StartCoroutine + startCoroutine = StartCoroutine, + resentOfferInterval = interval, }; m_instance = new RenderStreamingInternal(ref dependencies); m_provider = new SignalingEventProvider(m_instance); @@ -113,8 +123,6 @@ public void Stop() public void OnDestroy() { Stop(); - //EnhancedTouchSupport.Disable(); - //RemoteInputReceiver.Dispose(); } } } diff --git a/Runtime/Scripts/RenderStreamingInternal.cs b/Runtime/Scripts/RenderStreamingInternal.cs index 50c6d47..d1729ac 100644 --- a/Runtime/Scripts/RenderStreamingInternal.cs +++ b/Runtime/Scripts/RenderStreamingInternal.cs @@ -5,6 +5,7 @@ using UnityEngine; using Unity.RenderStreaming.Signaling; using Unity.WebRTC; +using UnityEngine.Assertions; namespace Unity.RenderStreaming { @@ -17,18 +18,26 @@ internal struct RenderStreamingDependencies /// /// public ISignaling signaling; + /// /// /// public EncoderType encoderType; + /// /// /// public RTCConfiguration config; + /// /// /// public Func startCoroutine; + + /// + /// unit is second; + /// + public float resentOfferInterval; } /// @@ -47,11 +56,6 @@ internal class RenderStreamingInternal : IDisposable, /// public event Action onCreatedConnection; - /// - /// - /// - public event Action onFoundConnection; - /// /// /// @@ -91,8 +95,11 @@ internal class RenderStreamingInternal : IDisposable, private readonly ISignaling _signaling; private RTCConfiguration _config; private readonly Func _startCoroutine; - private readonly Dictionary _mapConnectionIdAndPeer = - new Dictionary(); + private readonly Dictionary _mapConnectionIdAndPeer = + new Dictionary(); + private bool _runningResendCoroutine; + private float _resendInterval = 1.0f; + static List s_list = new List(); /// @@ -101,9 +108,9 @@ internal class RenderStreamingInternal : IDisposable, /// public RenderStreamingInternal(ref RenderStreamingDependencies dependencies) { - if(dependencies.signaling == null) + if (dependencies.signaling == null) throw new ArgumentException("Signaling instance is null."); - if(dependencies.startCoroutine == null) + if (dependencies.startCoroutine == null) throw new ArgumentException("Coroutine action instance is null."); if (s_list.Count == 0) @@ -113,6 +120,7 @@ public RenderStreamingInternal(ref RenderStreamingDependencies dependencies) _config = dependencies.config; _startCoroutine = dependencies.startCoroutine; + _resendInterval = dependencies.resentOfferInterval; _signaling = dependencies.signaling; _signaling.OnStart += OnStart; _signaling.OnCreateConnection += OnCreateConnection; @@ -143,6 +151,9 @@ public void Dispose() { return; } + + _runningResendCoroutine = false; + _signaling.Stop(); _signaling.OnStart -= OnStart; _signaling.OnCreateConnection -= OnCreateConnection; @@ -156,6 +167,7 @@ public void Dispose() { WebRTC.WebRTC.Dispose(); } + this._disposed = true; GC.SuppressFinalize(this); } @@ -188,7 +200,20 @@ public bool IsConnected(string connectionId) if (!_mapConnectionIdAndPeer.TryGetValue(connectionId, out var peer)) return false; - return peer.ConnectionState == RTCPeerConnectionState.Connected; + return peer.peer.ConnectionState == RTCPeerConnectionState.Connected; + } + + public bool IsStable(string connectionId) + { + if (!_mapConnectionIdAndPeer.TryGetValue(connectionId, out var peer)) + return false; + + if (peer.makingOffer || peer.waitingAnswer) + { + return false; + } + + return peer.peer.SignalingState == RTCSignalingState.Stable; } /// @@ -198,9 +223,43 @@ public bool IsConnected(string connectionId) /// public RTCRtpTransceiver AddTrack(string connectionId, MediaStreamTrack track) { - // todo:: replace RTCPeerConnection.AddTransceiver(MediaStreamTrack track, RTCRtpTransceiverInit init) - RTCRtpSender sender = _mapConnectionIdAndPeer[connectionId].AddTrack(track); - return _mapConnectionIdAndPeer[connectionId].GetTransceivers().First(t => t.Sender == sender); + var peer = _mapConnectionIdAndPeer[connectionId]; + RTCRtpSender sender = peer.peer.AddTrack(track); + var transceiver = peer.peer.GetTransceivers().First(t => t.Sender == sender); + + // note:: This line is needed to stream video to other peers with hardware codec. + // The exchanging SDP is failed if remove the line because the hardware decoder currently is not supported. + // Please remove the line after supporting the hardware decoder. + transceiver.Direction = RTCRtpTransceiverDirection.SendOnly; + return transceiver; + } + + /// + /// + /// + /// + /// + /// + /// + public RTCRtpTransceiver AddTransceiver(string connectionId, MediaStreamTrack track, RTCRtpTransceiverDirection direction) + { + var transceiver = _mapConnectionIdAndPeer[connectionId].peer.AddTransceiver(track); + transceiver.Direction = direction; + return transceiver; + } + + /// + /// + /// + /// + /// + /// + /// + public RTCRtpTransceiver AddTransceiver(string connectionId, TrackKind kind, RTCRtpTransceiverDirection direction) + { + var transceiver = _mapConnectionIdAndPeer[connectionId].peer.AddTransceiver(kind); + transceiver.Direction = direction; + return transceiver; } /// @@ -211,7 +270,7 @@ public RTCRtpTransceiver AddTrack(string connectionId, MediaStreamTrack track) public void RemoveTrack(string connectionId, MediaStreamTrack track) { var sender = GetSenders(connectionId).First(s => s.Track == track); - _mapConnectionIdAndPeer[connectionId].RemoveTrack(sender); + _mapConnectionIdAndPeer[connectionId].peer.RemoveTrack(sender); } /// @@ -223,7 +282,7 @@ public void RemoveTrack(string connectionId, MediaStreamTrack track) public RTCDataChannel CreateChannel(string connectionId, string name) { RTCDataChannelInit conf = new RTCDataChannelInit(); - return _mapConnectionIdAndPeer[connectionId].CreateDataChannel(name, conf); + return _mapConnectionIdAndPeer[connectionId].peer.CreateDataChannel(name, conf); } /// @@ -234,7 +293,7 @@ public RTCDataChannel CreateChannel(string connectionId, string name) /// public IEnumerable GetSenders(string connectionId) { - return _mapConnectionIdAndPeer[connectionId].GetSenders(); + return _mapConnectionIdAndPeer[connectionId].peer.GetSenders(); } /// @@ -245,7 +304,7 @@ public IEnumerable GetSenders(string connectionId) /// public IEnumerable GetReceivers(string connectionId) { - return _mapConnectionIdAndPeer[connectionId].GetReceivers(); + return _mapConnectionIdAndPeer[connectionId].peer.GetReceivers(); } /// @@ -254,7 +313,20 @@ public IEnumerable GetReceivers(string connectionId) /// public void SendOffer(string connectionId) { - _startCoroutine(SendOfferCoroutine(connectionId, _mapConnectionIdAndPeer[connectionId])); + var pc = _mapConnectionIdAndPeer[connectionId]; + if (!IsStable(connectionId)) + { + if (!pc.waitingAnswer) + { + throw new InvalidOperationException( + $"{pc} sendoffer needs in stable state, current state is {pc.peer.SignalingState}"); + } + + _signaling.SendOffer(connectionId, pc.peer.LocalDescription); + return; + } + + _startCoroutine(SendOfferCoroutine(connectionId, pc)); } /// @@ -266,19 +338,33 @@ public void SendAnswer(string connectionId) _startCoroutine(SendAnswerCoroutine(connectionId, _mapConnectionIdAndPeer[connectionId])); } + IEnumerator ResendOfferCoroutine() + { + while (_runningResendCoroutine) + { + foreach (var pair in _mapConnectionIdAndPeer.Where(x => x.Value.waitingAnswer)) + { + _signaling.SendOffer(pair.Key, pair.Value.peer.LocalDescription); + } + + yield return new WaitForSeconds(_resendInterval); + } + } + void OnStart(ISignaling signaling) { + if (!_runningResendCoroutine) + { + _runningResendCoroutine = true; + _startCoroutine(ResendOfferCoroutine()); + } onStart?.Invoke(); } - void OnCreateConnection(ISignaling signaling, string connectionId, bool peerExists) + void OnCreateConnection(ISignaling signaling, string connectionId, bool polite) { - CreatePeerConnection(connectionId, peerExists); - - if(peerExists) - onFoundConnection?.Invoke(connectionId); - else - onCreatedConnection?.Invoke(connectionId); + CreatePeerConnection(connectionId, polite); + onCreatedConnection?.Invoke(connectionId); } void OnDestroyConnection(ISignaling signaling, string connectionId) @@ -287,14 +373,16 @@ void OnDestroyConnection(ISignaling signaling, string connectionId) onDeletedConnection?.Invoke(connectionId); } - RTCPeerConnection CreatePeerConnection(string connectionId, bool isOffer) + PeerConnection CreatePeerConnection(string connectionId, bool polite) { if (_mapConnectionIdAndPeer.TryGetValue(connectionId, out var peer)) { - peer.Close(); + peer.peer.Close(); } + var pc = new RTCPeerConnection(); - _mapConnectionIdAndPeer[connectionId] = pc; + peer = new PeerConnection(pc, polite); + _mapConnectionIdAndPeer[connectionId] = peer; pc.SetConfiguration(ref _config); pc.OnDataChannel = channel => { OnDataChannel(connectionId, channel); }; @@ -308,13 +396,18 @@ RTCPeerConnection CreatePeerConnection(string connectionId, bool isOffer) { onAddReceiver?.Invoke(connectionId, trackEvent.Receiver); }; - pc.OnNegotiationNeeded = () => OnNegotiationNeeded(connectionId, isOffer); - return pc; + pc.OnNegotiationNeeded = () => _startCoroutine(OnNegotiationNeeded(connectionId)); + return peer; } void DeletePeerConnection(string connectionId) { - _mapConnectionIdAndPeer[connectionId].Dispose(); + if (!_mapConnectionIdAndPeer.TryGetValue(connectionId, out var peer)) + { + return; + } + + peer.Dispose(); _mapConnectionIdAndPeer.Remove(connectionId); } @@ -336,66 +429,78 @@ void OnIceConnectionChange(string connectionId, RTCIceConnectionState state) } } - void OnNegotiationNeeded(string connectionId, bool isOffer) + IEnumerator OnNegotiationNeeded(string connectionId) { - if (!isOffer) - { - return; - } + yield return new WaitWhile(() => !IsStable(connectionId)); SendOffer(connectionId); } - IEnumerator SendOfferCoroutine(string connectionId, RTCPeerConnection pc) + IEnumerator SendOfferCoroutine(string connectionId, PeerConnection pc) { - RTCOfferOptions option = new RTCOfferOptions { offerToReceiveAudio = true, offerToReceiveVideo = true }; - var offerOp = pc.CreateOffer(ref option); - yield return offerOp; + // waiting other setLocalDescription process + yield return new WaitWhile(() => !IsStable(connectionId)); - if (offerOp.IsError) - { - Debug.LogError($"Network Error: {offerOp.Error.message}"); - yield break; - } + Assert.AreEqual(pc.peer.SignalingState, RTCSignalingState.Stable, + $"{pc} negotiationneeded always fires in stable state"); + Assert.AreEqual(pc.makingOffer, false, $"{pc} negotiationneeded not already in progress"); - if (pc.SignalingState != RTCSignalingState.Stable) - { - Debug.LogError($"peerConnection's signaling state is not stable. {pc.SignalingState}"); - yield break; - } + pc.makingOffer = true; + var opLocalDesc = pc.peer.SetLocalDescription(); + yield return opLocalDesc; - var desc = offerOp.Desc; - var setLocalSdp = pc.SetLocalDescription(ref desc); - yield return setLocalSdp; - if (setLocalSdp.IsError) + if (opLocalDesc.IsError) { - Debug.LogError($"Network Error: {setLocalSdp.Error.message}"); + Debug.LogError($"{pc} {opLocalDesc.Error.message}"); + pc.makingOffer = false; yield break; } - _signaling.SendOffer(connectionId, desc); + + Assert.AreEqual(pc.peer.SignalingState, RTCSignalingState.HaveLocalOffer, + $"{pc} negotiationneeded not racing with onmessage"); + Assert.AreEqual(pc.peer.LocalDescription.type, RTCSdpType.Offer, $"{pc} negotiationneeded SLD worked"); + pc.makingOffer = false; + pc.waitingAnswer = true; + + _signaling.SendOffer(connectionId, pc.peer.LocalDescription); } void OnAnswer(ISignaling signaling, DescData e) { if (!_mapConnectionIdAndPeer.TryGetValue(e.connectionId, out var pc)) { - Debug.Log($"connectionId:{e.connectionId}, peerConnection not exist"); + Debug.LogWarning($"connectionId:{e.connectionId}, peerConnection not exist"); return; } + _startCoroutine(GotAnswerCoroutine(e.connectionId, pc, e.sdp)); } - IEnumerator GotAnswerCoroutine(string connectionId, RTCPeerConnection pc, string sdp) + IEnumerator GotAnswerCoroutine(string connectionId, PeerConnection pc, string sdp) { - var desc = new RTCSessionDescription(); - desc.type = RTCSdpType.Answer; - desc.sdp = sdp; - var opRemoteSdp = pc.SetRemoteDescription(ref desc); - yield return opRemoteSdp; + var description = new RTCSessionDescription(); + description.type = RTCSdpType.Answer; + description.sdp = sdp; - if (opRemoteSdp.IsError) + // waiting other setLocalDescription process + yield return new WaitWhile(() => pc.makingOffer || pc.makingAnswer); + + pc.waitingAnswer = false; + pc.srdAnswerPending = true; + + var opRemoteDesc = pc.peer.SetRemoteDescription(ref description); + yield return opRemoteDesc; + + if (opRemoteDesc.IsError) { - Debug.LogError($"Network Error: {opRemoteSdp.Error.message}"); + Debug.LogError($"{pc} {opRemoteDesc.Error.message}"); + pc.srdAnswerPending = false; + yield break; } + + Assert.AreEqual(pc.peer.RemoteDescription.type, RTCSdpType.Answer, $"{pc} Answer was set"); + Assert.AreEqual(pc.peer.SignalingState, RTCSignalingState.Stable, $"{pc} answered"); + pc.srdAnswerPending = false; + onGotAnswer?.Invoke(connectionId, sdp); } @@ -408,11 +513,13 @@ void OnIceCandidate(ISignaling signaling, CandidateData e) RTCIceCandidateInit option = new RTCIceCandidateInit { - candidate = e.candidate, - sdpMLineIndex = e.sdpMLineIndex, - sdpMid = e.sdpMid + candidate = e.candidate, sdpMLineIndex = e.sdpMLineIndex, sdpMid = e.sdpMid }; - pc.AddIceCandidate(new RTCIceCandidate(option)); + + if (!pc.peer.AddIceCandidate(new RTCIceCandidate(option)) && !pc.ignoreOffer) + { + Debug.LogWarning($"{pc} this candidate can't accept current signaling state {pc.peer.SignalingState}."); + } } void OnOffer(ISignaling signaling, DescData e) @@ -420,50 +527,67 @@ void OnOffer(ISignaling signaling, DescData e) var connectionId = e.connectionId; if (!_mapConnectionIdAndPeer.TryGetValue(connectionId, out var pc)) { - pc = CreatePeerConnection(connectionId, false); + pc = CreatePeerConnection(connectionId, e.polite); } + _startCoroutine(GotOfferCoroutine(connectionId, pc, e.sdp)); } - IEnumerator GotOfferCoroutine(string connectionId, RTCPeerConnection pc, string sdp) + IEnumerator GotOfferCoroutine(string connectionId, PeerConnection pc, string sdp) { - RTCSessionDescription _desc; - _desc.type = RTCSdpType.Offer; - _desc.sdp = sdp; + RTCSessionDescription description; + description.type = RTCSdpType.Offer; + description.sdp = sdp; + + var isStable = + pc.peer.SignalingState == RTCSignalingState.Stable || + (pc.peer.SignalingState == RTCSignalingState.HaveLocalOffer && pc.srdAnswerPending); + pc.ignoreOffer = !pc.polite && (pc.makingOffer || !isStable); + if (pc.ignoreOffer || pc.makingAnswer) + { + Debug.LogWarning($"{pc} glare - ignoreOffer {nameof(pc.peer.SignalingState)}:{pc.peer.SignalingState}"); + yield break; + } - var opRemoteDesc = pc.SetRemoteDescription(ref _desc); + // waiting other setRemoteDescription process + yield return new WaitWhile(() => pc.srdAnswerPending); + pc.waitingAnswer = false; + + var opRemoteDesc = pc.peer.SetRemoteDescription(ref description); yield return opRemoteDesc; if (opRemoteDesc.IsError) { - Debug.LogError($"Network Error: {opRemoteDesc.Error.message}"); + Debug.LogError($"{pc} {opRemoteDesc.Error.message}"); yield break; } + + Assert.AreEqual(pc.peer.RemoteDescription.type, RTCSdpType.Offer, $"{pc} SRD worked"); + Assert.AreEqual(pc.peer.SignalingState, RTCSignalingState.HaveRemoteOffer, $"{pc} Remote offer"); + onGotOffer?.Invoke(connectionId, sdp); } - IEnumerator SendAnswerCoroutine(string connectionId, RTCPeerConnection pc) + IEnumerator SendAnswerCoroutine(string connectionId, PeerConnection pc) { - RTCAnswerOptions options = default; - var op = pc.CreateAnswer(ref options); - yield return op; + pc.makingAnswer = true; - if (op.IsError) - { - Debug.LogError($"Network Error: {op.Error.message}"); - yield break; - } - - var desc = op.Desc; - var opLocalDesc = pc.SetLocalDescription(ref desc); + var opLocalDesc = pc.peer.SetLocalDescription(); yield return opLocalDesc; if (opLocalDesc.IsError) { - Debug.LogError($"Network Error: {opLocalDesc.Error.message}"); + Debug.LogError($"{pc} {opLocalDesc.Error.message}"); + pc.makingAnswer = false; yield break; } - _signaling.SendAnswer(connectionId, desc); + + Assert.AreEqual(pc.peer.LocalDescription.type, RTCSdpType.Answer, $"{pc} onmessage SLD worked"); + Assert.AreEqual(pc.peer.SignalingState, RTCSignalingState.Stable, + $"{pc} onmessage not racing with negotiationneeded"); + pc.makingAnswer = false; + + _signaling.SendAnswer(connectionId, pc.peer.LocalDescription); } } } diff --git a/Runtime/Scripts/Signaling/FurioosSignaling.cs b/Runtime/Scripts/Signaling/FurioosSignaling.cs index 2c9fecf..a592b4e 100644 --- a/Runtime/Scripts/Signaling/FurioosSignaling.cs +++ b/Runtime/Scripts/Signaling/FurioosSignaling.cs @@ -34,6 +34,10 @@ public class FurioosSignaling : ISignaling public delegate void OnSignedInHandler(ISignaling sender); + public string Url { get { return string.Empty; } } + + public float Interval { get { return m_timeout; } } + public FurioosSignaling(string url, float timeout, SynchronizationContext mainThreadContext) { m_timeout = timeout; @@ -58,8 +62,19 @@ public void Start() public void Stop() { - m_running = false; - m_webSocket?.Close(); + if (m_running) + { + m_running = false; + if (m_signalingThread.ThreadState == ThreadState.WaitSleepJoin) + { + m_signalingThread.Abort(); + } + else + { + m_signalingThread.Join(1000); + } + m_signalingThread = null; + } } //todo(kazuki):: remove warning CS0067 @@ -69,7 +84,6 @@ public void Stop() public event OnConnectHandler OnCreateConnection; public event OnDisconnectHandler OnDestroyConnection; public event OnOfferHandler OnOffer; - // this event is never used in this class public event OnAnswerHandler OnAnswer; public event OnIceCandidateHandler OnIceCandidate; #pragma warning restore 0067 @@ -171,7 +185,7 @@ private void WSProcessMessage(object sender, MessageEventArgs e) if (msg.status == "SUCCESS") { Debug.Log("Signaling: Slot signed in."); - this.WSSend("{\"type\":\"furioos\",\"task\":\"enableStreaming\",\"streamTypes\":\"WebRTC\",\"controlType\":\"RenderStreaming\"}"); + this.WSSend("{\"type\":\"furioos\",\"task\":\"enableStreaming\",\"streamType\":\"RenderStreaming\",\"streamProtocols\":[\"WebRTC\"],\"controlsTypes\":[\"RenderStreaming\"]}"); OnSignedIn?.Invoke(this); } @@ -199,6 +213,7 @@ private void WSProcessMessage(object sender, MessageEventArgs e) DescData offer = new DescData(); offer.connectionId = routedMessage.from; offer.sdp = msg.sdp; + offer.polite = false; m_mainThreadContext.Post(d => OnOffer?.Invoke(this, offer), null); } @@ -246,7 +261,7 @@ private void WSError(object sender, ErrorEventArgs e) private void WSClosed(object sender, CloseEventArgs e) { - Debug.LogError($"Signaling: WS connection closed, code: {e.Code}"); + Debug.Log($"Signaling: WS connection closed, code: {e.Code}"); m_wsCloseEvent.Set(); m_webSocket = null; diff --git a/Runtime/Scripts/Signaling/HttpSignaling.cs b/Runtime/Scripts/Signaling/HttpSignaling.cs index 0d814fa..b3daeb8 100644 --- a/Runtime/Scripts/Signaling/HttpSignaling.cs +++ b/Runtime/Scripts/Signaling/HttpSignaling.cs @@ -1,5 +1,8 @@ using System; +using System.Collections; +using System.Collections.Generic; using System.IO; +using System.Linq; using System.Net; using System.Threading; using Unity.WebRTC; @@ -20,6 +23,9 @@ public class HttpSignaling : ISignaling private long m_lastTimeGetAnswerRequest; private long m_lastTimeGetCandidateRequest; + private HashSet m_connection; + public string Url { get { return m_url; } } + public float Interval { get { return m_timeout; } } public HttpSignaling(string url, float timeout, SynchronizationContext mainThreadContext) { @@ -32,10 +38,13 @@ public HttpSignaling(string url, float timeout, SynchronizationContext mainThrea ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true; } + + m_connection = new HashSet(); } ~HttpSignaling() { + m_connection?.Clear(); if(m_running) Stop(); } @@ -54,7 +63,14 @@ public void Stop() if (m_running) { m_running = false; - m_signalingThread?.Join(); + if (m_signalingThread.ThreadState == ThreadState.WaitSleepJoin) + { + m_signalingThread.Abort(); + } + else + { + m_signalingThread.Join(1000); + } m_signalingThread = null; } } @@ -63,10 +79,7 @@ public void Stop() public event OnConnectHandler OnCreateConnection; public event OnDisconnectHandler OnDestroyConnection; public event OnOfferHandler OnOffer; - #pragma warning disable 0067 - // this event is never used in this class public event OnAnswerHandler OnAnswer; - #pragma warning restore 0067 public event OnIceCandidateHandler OnIceCandidate; public void SendOffer(string connectionId, RTCSessionDescription offer) @@ -121,25 +134,39 @@ private void HTTPPooling() while (m_running && string.IsNullOrEmpty(m_sessionId)) { HTTPCreate(); - Thread.Sleep((int)(m_timeout * 1000)); + try + { + Thread.Sleep((int)(m_timeout * 1000)); + } + catch (ThreadAbortException e) + { + // Thread.Abort() called from main thread. Ignore + return; + } } while (m_running) { try { - HTTPGetOffers(); + HTTPGetConnections(); + //ToDo workaround: The processing order needs to be determined by the time stamp HTTPGetAnswers(); + HTTPGetOffers(); HTTPGetCandidates(); + + Thread.Sleep((int)(m_timeout * 1000)); + } + catch (ThreadAbortException e) + { + // Thread.Abort() called from main thread. Ignore + return; } catch (Exception e) { Debug.LogError("Signaling: HTTP polling error : " + e); } - - Thread.Sleep((int)(m_timeout * 1000)); } - HTTPDelete(); Debug.Log("Signaling: HTTP polling thread ended"); @@ -161,6 +188,10 @@ private static HttpWebResponse HTTPGetResponse(HttpWebRequest request) response.Close(); } } + catch (ThreadAbortException e) + { + // Thread.Abort() called from main thread. Ignore + } catch (Exception e) { Debug.LogError("Signaling: HTTP request error " + e); @@ -289,7 +320,7 @@ private bool HTTPConnect(string connectionId) if (data == null) return false; Debug.Log("Signaling: HTTP create connection, connectionId : " + connectionId); - m_mainThreadContext.Post(d => OnCreateConnection?.Invoke(this, data.connectionId, data.peerExists), null); + m_mainThreadContext.Post(d => OnCreateConnection?.Invoke(this, data.connectionId, data.polite), null); return true; } @@ -318,6 +349,34 @@ private bool HTTPDisonnect(string connectionId) return true; } + private bool HTTPGetConnections() + { + HttpWebRequest request = + (HttpWebRequest)WebRequest.Create($"{m_url}/signaling/connection"); + request.Method = "GET"; + request.ContentType = "application/json"; + request.Headers.Add("Session-Id", m_sessionId); + request.KeepAlive = false; + + HttpWebResponse response = HTTPGetResponse(request); + ConnectionResDataList list = HTTPParseJsonResponse(response); + + if (list == null) return false; + + foreach (var deleted in m_connection.Except(list.connections.Select(x => x.connectionId)).ToList()) + { + m_mainThreadContext.Post(d => OnDestroyConnection?.Invoke(this, deleted), null); + m_connection.Remove(deleted); + } + + foreach (var connection in list.connections) + { + m_connection.Add(connection.connectionId); + } + + return true; + } + private bool HTTPGetOffers() { HttpWebRequest request = diff --git a/Runtime/Scripts/Signaling/ISignaling.cs b/Runtime/Scripts/Signaling/ISignaling.cs index 0a57e27..3b0abe2 100644 --- a/Runtime/Scripts/Signaling/ISignaling.cs +++ b/Runtime/Scripts/Signaling/ISignaling.cs @@ -3,7 +3,7 @@ namespace Unity.RenderStreaming.Signaling { public delegate void OnStartHandler(ISignaling signaling); - public delegate void OnConnectHandler(ISignaling signaling, string connectionId, bool peerExists); + public delegate void OnConnectHandler(ISignaling signaling, string connectionId, bool polite); public delegate void OnDisconnectHandler(ISignaling signaling, string connectionId); public delegate void OnOfferHandler(ISignaling signaling, DescData e); public delegate void OnAnswerHandler(ISignaling signaling, DescData e); @@ -21,6 +21,10 @@ public interface ISignaling event OnAnswerHandler OnAnswer; event OnIceCandidateHandler OnIceCandidate; + string Url { get; } + + float Interval { get; } + void OpenConnection(string connectionId); void CloseConnection(string connectionId); void SendOffer(string connectionId, RTCSessionDescription offer); diff --git a/Runtime/Scripts/Signaling/SignalingMessage.cs b/Runtime/Scripts/Signaling/SignalingMessage.cs index d15f080..fb22b20 100644 --- a/Runtime/Scripts/Signaling/SignalingMessage.cs +++ b/Runtime/Scripts/Signaling/SignalingMessage.cs @@ -1,6 +1,4 @@ using System; -using UnityEngine; -using UnityEngine.Networking; namespace Unity.RenderStreaming { @@ -12,7 +10,7 @@ public class SignalingMessage public string message; public string sessionId; public string connectionId; - public bool peerExists; + public bool polite; public string sdp; public string type; public string candidate; @@ -35,6 +33,7 @@ public class DescData public string connectionId; public string sdp; public string type; + public bool polite; } [Serializable] @@ -47,7 +46,7 @@ class OpenSessionData class CreateConnectionResData { public string connectionId; - public bool peerExists; + public bool polite; } [Serializable] @@ -56,6 +55,12 @@ class DestroyConnectionResData public string connectionId; } + [Serializable] + class ConnectionResDataList + { + public DescData[] connections; + } + [Serializable] class OfferResDataList { diff --git a/Runtime/Scripts/Signaling/WebSocketSignaling.cs b/Runtime/Scripts/Signaling/WebSocketSignaling.cs index 27d06d5..55ad5fb 100644 --- a/Runtime/Scripts/Signaling/WebSocketSignaling.cs +++ b/Runtime/Scripts/Signaling/WebSocketSignaling.cs @@ -18,6 +18,10 @@ public class WebSocketSignaling : ISignaling private AutoResetEvent m_wsCloseEvent; private WebSocket m_webSocket; + public string Url { get { return m_url; } } + + public float Interval { get { return m_timeout; } } + public WebSocketSignaling(string url, float timeout, SynchronizationContext mainThreadContext) { m_url = url; @@ -47,8 +51,14 @@ public void Stop() if (m_running) { m_running = false; - m_webSocket?.Close(); - m_signalingThread.Join(); + if (m_signalingThread.ThreadState == ThreadState.WaitSleepJoin) + { + m_signalingThread.Abort(); + } + else + { + m_signalingThread.Join(1000); + } m_signalingThread = null; } } @@ -125,9 +135,17 @@ private void WSManage() { WSCreate(); - m_wsCloseEvent.WaitOne(); + try + { + m_wsCloseEvent.WaitOne(); - Thread.Sleep((int)(m_timeout * 1000)); + Thread.Sleep((int)(m_timeout * 1000)); + } + catch (ThreadAbortException e) + { + // Thread.Abort() called from main thread. Ignore + return; + } } Debug.Log("Signaling: WS managing thread ended"); @@ -177,7 +195,7 @@ private void WSProcessMessage(object sender, MessageEventArgs e) if (routedMessage.type == "connect") { msg = JsonUtility.FromJson(content); - m_mainThreadContext.Post(d => OnCreateConnection?.Invoke(this, msg.connectionId, msg.peerExists), null); + m_mainThreadContext.Post(d => OnCreateConnection?.Invoke(this, msg.connectionId, msg.polite), null); } else if (routedMessage.type == "disconnect") { @@ -189,6 +207,7 @@ private void WSProcessMessage(object sender, MessageEventArgs e) DescData offer = new DescData(); offer.connectionId = routedMessage.from; offer.sdp = msg.sdp; + offer.polite = msg.polite; m_mainThreadContext.Post(d => OnOffer?.Invoke(this, offer), null); } else if (routedMessage.type == "answer") diff --git a/Runtime/Scripts/SignalingEventProvider.cs b/Runtime/Scripts/SignalingEventProvider.cs index 6e87163..9b45ca7 100644 --- a/Runtime/Scripts/SignalingEventProvider.cs +++ b/Runtime/Scripts/SignalingEventProvider.cs @@ -13,7 +13,6 @@ internal class SignalingEventProvider public SignalingEventProvider(IRenderStreamingDelegate handler) { handler.onCreatedConnection += OnCreatedConnection; - handler.onFoundConnection += OnFoundConnection; handler.onDeletedConnection += OnDeletedConnection; handler.onConnect += OnConnect; handler.onDisconnect += OnDisconnect; @@ -72,15 +71,6 @@ private void OnCreatedConnection(string connectionId) ExecuteEventToAllTargets(data, ExecuteSignalingEvents.createdConnectionHandler); } - private void OnFoundConnection(string connectionId) - { - var data = new SignalingEventData(EventSystem.current) - { - connectionId = connectionId - }; - ExecuteEventToAllTargets(data, ExecuteSignalingEvents.foundConnectionHandler); - } - private void OnDeletedConnection(string connectionId) { var data = new SignalingEventData(EventSystem.current) diff --git a/Runtime/Scripts/SignalingHandlerBase.cs b/Runtime/Scripts/SignalingHandlerBase.cs index 296d6a1..36a4f26 100644 --- a/Runtime/Scripts/SignalingHandlerBase.cs +++ b/Runtime/Scripts/SignalingHandlerBase.cs @@ -4,14 +4,14 @@ namespace Unity.RenderStreaming { /// - /// + /// /// public abstract class SignalingHandlerBase : MonoBehaviour { private IRenderStreamingHandler m_handler; /// - /// + /// /// /// public virtual void CreateConnection(string connectionId) @@ -20,7 +20,7 @@ public virtual void CreateConnection(string connectionId) } /// - /// + /// /// /// public virtual void DeleteConnection(string connectionId) @@ -29,7 +29,7 @@ public virtual void DeleteConnection(string connectionId) } /// - /// + /// /// /// /// @@ -39,7 +39,7 @@ public virtual bool ExistConnection(string connectionId) } /// - /// + /// /// /// /// @@ -49,7 +49,17 @@ public virtual bool IsConnected(string connectionId) } /// - /// + /// + /// + /// + /// + public virtual bool IsStable(string connectionId) + { + return m_handler.IsStable(connectionId); + } + + /// + /// /// /// /// @@ -60,19 +70,28 @@ public virtual RTCDataChannel CreateChannel(string connectionId, string name) } /// - /// + /// /// /// /// /// public virtual RTCRtpTransceiver AddTrack(string connectionId, MediaStreamTrack track) { - var transceiver = m_handler.AddTrack(connectionId, track); - return transceiver; + return m_handler.AddTrack(connectionId, track); + } + + public virtual RTCRtpTransceiver AddTransceiver(string connectionId, MediaStreamTrack track, RTCRtpTransceiverDirection direction = RTCRtpTransceiverDirection.SendRecv) + { + return m_handler.AddTransceiver(connectionId, track, direction); + } + + public virtual RTCRtpTransceiver AddTransceiver(string connectionId, TrackKind kind, RTCRtpTransceiverDirection direction = RTCRtpTransceiverDirection.SendRecv) + { + return m_handler.AddTransceiver(connectionId, kind, direction); } /// - /// + /// /// /// /// @@ -82,7 +101,7 @@ public virtual void RemoveTrack(string connectionId, MediaStreamTrack track) } /// - /// + /// /// /// public virtual void SendOffer(string connectionId) @@ -91,7 +110,7 @@ public virtual void SendOffer(string connectionId) } /// - /// + /// /// /// public virtual void SendAnswer(string connectionId) @@ -106,38 +125,38 @@ internal void SetHandler(IRenderStreamingHandler handler) } /// - /// + /// /// public delegate void OnStartedStreamHandler(string connectionId); /// - /// + /// /// public delegate void OnStoppedStreamHandler(string connectionId); /// - /// + /// /// public delegate void OnStartedChannelHandler(string connectionId); /// - /// + /// /// public delegate void OnStoppedChannelHandler(string connectionId); /// - /// + /// /// public interface IStreamSource { /// - /// + /// /// MediaStreamTrack Track { get; } /// - /// + /// /// /// /// @@ -145,17 +164,22 @@ public interface IStreamSource } /// - /// + /// /// public interface IStreamReceiver { /// - /// + /// /// MediaStreamTrack Track { get; } /// - /// + /// + /// + TrackKind Kind { get; } + + /// + /// /// /// void SetReceiver(string connectionId, RTCRtpReceiver sender); @@ -164,22 +188,22 @@ public interface IStreamReceiver public interface IDataChannel { /// - /// + /// /// bool IsLocal { get; } /// - /// + /// /// string Label { get; } /// - /// + /// /// RTCDataChannel Channel { get; } /// - /// + /// /// /// void SetChannel(string connectionId, RTCDataChannel channel); diff --git a/Runtime/Scripts/SimpleCameraController.cs b/Runtime/Scripts/SimpleCameraController.cs index 6656883..9926814 100644 --- a/Runtime/Scripts/SimpleCameraController.cs +++ b/Runtime/Scripts/SimpleCameraController.cs @@ -134,14 +134,17 @@ public void UpdateTransform(Transform t) readonly CameraState m_TargetCameraState = new CameraState(); readonly CameraState m_InterpolatingCameraState = new CameraState(); readonly CameraState m_InitialCameraState = new CameraState(); - private Gamepad m_gamepad; - private Keyboard m_keyboard; - private Mouse m_mouse; - private Touchscreen m_screen; - private Gyroscope m_gyroscpe; - private TrackedDevice m_tracker; + + private List listGamepad = new List(); + private List listKeyboard = new List(); + private List listMouse = new List(); + private List listGyroscpe = new List(); + private List listTracker = new List(); + private List listScreen = new List(); + + #if URS_USE_AR_SUBSYSTEMS - private HandheldARInputDevice m_handheld; + private List listHandheld = new List(); #endif void Awake() { @@ -172,26 +175,47 @@ void SetDevice(InputDevice device, bool add=true) switch (device) { case Mouse mouse: - m_mouse = add ? mouse : null; + if (add) + listMouse.Add(mouse); + else + listMouse.Remove(mouse); return; case Keyboard keyboard: - m_keyboard = add ? keyboard : null; + if (add) + listKeyboard.Add(keyboard); + else + listKeyboard.Remove(keyboard); return; case Touchscreen screen: - m_screen = add ? screen : null; + if(add) + listScreen.Add(screen); + else + listScreen.Remove(screen); return; case Gamepad pad: - m_gamepad = add ? pad : null; + if(add) + listGamepad.Add(pad); + else + listGamepad.Remove(pad); return; case Gyroscope gyroscope: - m_gyroscpe = add ? gyroscope : null; + if (add) + listGyroscpe.Add(gyroscope); + else + listGyroscpe.Remove(gyroscope); return; case TrackedDevice tracker: - m_tracker = add ? tracker : null; + if (add) + listTracker.Add(tracker); + else + listTracker.Remove(tracker); return; #if URS_USE_AR_SUBSYSTEMS case HandheldARInputDevice handheld: - m_handheld = handheld; + if (add) + listHandheld.Add(handheld); + else + listHandheld.Remove(handheld); return; #endif } @@ -235,110 +259,145 @@ Vector3 GetInputTranslationDirection() Vector3 direction = new Vector3(); // keyboard control - if (m_keyboard != null) + foreach (var keyboard in listKeyboard) { - if (m_keyboard.wKey.isPressed) + if (keyboard.wKey.isPressed) { direction += Vector3.forward; } - if (m_keyboard.sKey.isPressed) + if (keyboard.sKey.isPressed) { direction += Vector3.back; } - if (m_keyboard.aKey.isPressed) + if (keyboard.aKey.isPressed) { direction += Vector3.left; } - if (m_keyboard.dKey.isPressed) + if (keyboard.dKey.isPressed) { direction += Vector3.right; } - if (m_keyboard.qKey.isPressed) + if (keyboard.qKey.isPressed) { direction += Vector3.down; } - if (m_keyboard.eKey.isPressed) + if (keyboard.eKey.isPressed) { direction += Vector3.up; } + + // Speed up movement when shift key held + if (keyboard.leftShiftKey.isPressed) + { + direction *= 10.0f; + } } // gamepad right stick control - if (m_gamepad?.rightStick != null) + foreach (var gamepad in listGamepad) { - var axis = m_gamepad.rightStick.ReadValue(); - direction += new Vector3(axis.x, 0, axis.y); + if (gamepad?.rightStick != null) + { + var axis = gamepad.rightStick.ReadValue(); + direction += new Vector3(axis.x, 0, axis.y); + } } - var touches = m_screen.GetTouches(); - //Translation - if (touches?.Count() == 2) + // touch + foreach (var screen in listScreen) { - var activeTouches = touches.ToArray(); - direction = GetTranslationFromInput((activeTouches[0].delta + activeTouches[1].delta) / 2f); + var touches = screen.GetTouches(); + //Translation + if (touches?.Count() == 2) + { + var activeTouches = touches.ToArray(); + direction = GetTranslationFromInput((activeTouches[0].delta + activeTouches[1].delta) / 2f); + } } - else if (IsMouseDragged(m_mouse,true)) + + // mouse + foreach (var mouse in listMouse) { - direction = GetTranslationFromInput(m_mouse.delta.ReadValue()); + if (IsMouseDragged(mouse, true)) + { + direction = GetTranslationFromInput(mouse.delta.ReadValue()); + } } return direction; } void FixedUpdate() { - if (m_keyboard != null && m_keyboard.uKey.isPressed) + foreach (var keyboard in listKeyboard) { - ResetCamera(); - return; + if (keyboard.uKey.isPressed) + { + ResetCamera(); + return; + } } - if (m_tracker != null && m_tracker.enabled) + + foreach (var tracker in listTracker) { - m_TargetCameraState.UpdateTransform(transform); - transform.position += m_tracker.devicePosition.ReadValue(); - transform.eulerAngles += m_tracker.deviceRotation.ReadValue().eulerAngles; - return; + if (tracker != null && tracker.enabled) + { + m_TargetCameraState.UpdateTransform(transform); + transform.position += tracker.devicePosition.ReadValue(); + transform.eulerAngles += tracker.deviceRotation.ReadValue().eulerAngles; + return; + } } #if URS_USE_AR_SUBSYSTEMS - if (m_handheld != null && m_handheld.enabled) + foreach(var handheld in listHandheld) { - m_TargetCameraState.UpdateTransform(transform); - transform.position += m_handheld.devicePosition.ReadValue(); - transform.eulerAngles += m_handheld.deviceRotation.ReadValue().eulerAngles; - return; + if (handheld != null && handheld.enabled) + { + m_TargetCameraState.UpdateTransform(transform); + transform.position += handheld.devicePosition.ReadValue(); + transform.eulerAngles += handheld.deviceRotation.ReadValue().eulerAngles; + return; + } } #endif - var touches = m_screen.GetTouches(); - // Rotation - if (IsMouseDragged(m_mouse,false)) + foreach (var mouse in listMouse) { - UpdateTargetCameraStateFromInput(m_mouse.delta.ReadValue()); + if (IsMouseDragged(mouse, false)) + { + UpdateTargetCameraStateFromInput(mouse.delta.ReadValue()); + } } - else if (touches.Count() == 1) + + foreach (var screen in listScreen) { - var activeTouches = touches.ToArray(); - UpdateTargetCameraStateFromInput(activeTouches[0].delta); + var touches = screen.GetTouches(); + if (touches.Count() == 1) + { + var activeTouches = touches.ToArray(); + UpdateTargetCameraStateFromInput(activeTouches[0].delta); + } } - else if(m_gyroscpe != null && m_gyroscpe.enabled) + + foreach (var gyroscope in listGyroscpe) { - var v = m_gyroscpe.angularVelocity.ReadValue(); - m_TargetCameraState.yaw += v.x; - m_TargetCameraState.pitch -= v.y; - m_TargetCameraState.roll += v.z; + if (gyroscope != null && gyroscope.enabled) + { + var v = gyroscope.angularVelocity.ReadValue(); + m_TargetCameraState.yaw += v.x; + m_TargetCameraState.pitch -= v.y; + m_TargetCameraState.roll += v.z; + } } // Rotation from joystick - if(m_gamepad?.leftStick != null) - UpdateTargetCameraStateFromInput(m_gamepad.leftStick.ReadValue()); - // Translation - var translation = GetInputTranslationDirection() * Time.deltaTime; - - // Speed up movement when shift key held - if (m_keyboard != null && m_keyboard.leftShiftKey.isPressed) + foreach (var gamepad in listGamepad) { - translation *= 10.0f; + if (gamepad.leftStick != null) + UpdateTargetCameraStateFromInput(gamepad.leftStick.ReadValue()); } + // Translation + var translation = GetInputTranslationDirection() * Time.deltaTime; translation *= Mathf.Pow(2.0f, boost); diff --git a/Runtime/Scripts/SingleConnection.cs b/Runtime/Scripts/SingleConnection.cs index 98ee4ac..2c05d2e 100644 --- a/Runtime/Scripts/SingleConnection.cs +++ b/Runtime/Scripts/SingleConnection.cs @@ -6,14 +6,13 @@ namespace Unity.RenderStreaming { public class SingleConnection : SignalingHandlerBase, - ICreatedConnectionHandler, IFoundConnectionHandler, IDeletedConnectionHandler, + ICreatedConnectionHandler, IDeletedConnectionHandler, IAddReceiverHandler, IOfferHandler, IAddChannelHandler { [SerializeField] private List streams = new List(); private string connectionId; - private bool sendOffer; public void AddComponent(Component component) { @@ -25,13 +24,6 @@ public void RemoveComponent(Component component) streams.Remove(component); } - //todo(kazuki):: sendOffer flag is for workaround - public void CreateConnection(string connectionId, bool sendOffer) - { - this.sendOffer = sendOffer; - CreateConnection(connectionId); - } - public override void CreateConnection(string connectionId) { this.connectionId = connectionId; @@ -64,20 +56,19 @@ public void OnCreatedConnection(SignalingEventData data) if (data.connectionId != connectionId) return; - // Send offer explicitly when the media source is nothing + foreach (var source in streams.OfType()) + { + var transceiver = AddTransceiver(connectionId, source.Track, RTCRtpTransceiverDirection.SendOnly); + source.SetSender(connectionId, transceiver.Sender); + } + foreach (var receiver in streams.OfType()) { - foreach (var source in streams.OfType()) - { - var transceiver = AddTrack(connectionId, source.Track); - source.SetSender(connectionId, transceiver.Sender); - } - foreach (var channel in streams.OfType().Where(c => c.IsLocal)) - { - var _channel = CreateChannel(connectionId, channel.Label); - channel.SetChannel(connectionId, _channel); - } - if (sendOffer) - SendOffer(connectionId); + AddTransceiver(data.connectionId, receiver.Kind, RTCRtpTransceiverDirection.RecvOnly); + } + foreach (var channel in streams.OfType().Where(c => c.IsLocal)) + { + var _channel = CreateChannel(connectionId, channel.Label); + channel.SetChannel(connectionId, _channel); } } @@ -100,32 +91,6 @@ public void OnDeletedConnection(SignalingEventData data) connectionId = null; } - public void OnFoundConnection(SignalingEventData data) - { - if (data.connectionId != connectionId) - return; - - // Send offer explicitly when the media source is nothing - if (!streams.OfType().Any() && - !streams.OfType().Any(c => c.IsLocal)) - { - SendOffer(connectionId); - } - else - { - foreach (var source in streams.OfType()) - { - var transceiver = AddTrack(connectionId, source.Track); - source.SetSender(connectionId, transceiver.Sender); - } - foreach (var channel in streams.OfType().Where(c => c.IsLocal)) - { - var _channel = CreateChannel(connectionId, channel.Label); - channel.SetChannel(connectionId, _channel); - } - } - } - public void OnOffer(SignalingEventData data) { if (data.connectionId != connectionId) diff --git a/Runtime/Scripts/StreamReceiverBase.cs b/Runtime/Scripts/StreamReceiverBase.cs index 441f21d..5343df3 100644 --- a/Runtime/Scripts/StreamReceiverBase.cs +++ b/Runtime/Scripts/StreamReceiverBase.cs @@ -4,7 +4,7 @@ namespace Unity.RenderStreaming { /// - /// + /// /// public abstract class StreamReceiverBase : MonoBehaviour, IStreamReceiver { @@ -16,12 +16,18 @@ public abstract class StreamReceiverBase : MonoBehaviour, IStreamReceiver public OnStoppedStreamHandler OnStoppedStream { get; set; } /// - /// + /// /// public MediaStreamTrack Track { get; private set; } /// - /// + /// + /// + public virtual TrackKind Kind { get; } + + + /// + /// /// /// public virtual void SetReceiver(string connectionId, RTCRtpReceiver receiver) diff --git a/Runtime/Scripts/WebCamStreamer.cs b/Runtime/Scripts/WebCamStreamer.cs index 818daed..88c36f5 100644 --- a/Runtime/Scripts/WebCamStreamer.cs +++ b/Runtime/Scripts/WebCamStreamer.cs @@ -1,28 +1,56 @@ using System.Collections; +using System.Collections.Generic; +using System.Linq; using Unity.WebRTC; using UnityEngine; namespace Unity.RenderStreaming { /// - /// + /// /// public class WebCamStreamer : VideoStreamBase { + /// + /// + /// + /// + public delegate void OnUpdateWebCamTextureHandler(Texture webcamTexture); + + /// + /// + /// + public OnUpdateWebCamTextureHandler OnUpdateWebCamTexture; + [SerializeField, Tooltip("Device index of web camera")] private int deviceIndex = 0; + [SerializeField, Tooltip("Framerate of web camera")] + private int framerate = 30; + private WebCamTexture m_webCamTexture; private Coroutine m_startVideoCorutine; public override Texture SendTexture => m_webCamTexture; + public IEnumerable WebCamNameList => WebCamTexture.devices.Select(x => x.name); - protected virtual void Start() + protected virtual void OnDestroy() { - m_startVideoCorutine = StartCoroutine(StartVideo()); + if (m_webCamTexture != null) + { + m_webCamTexture.Stop(); + m_webCamTexture = null; + } } protected virtual void OnEnable() { + if (m_webCamTexture == null) + { + m_startVideoCorutine = StartCoroutine(StartVideo()); + return; + } + + OnUpdateWebCamTexture?.Invoke(m_webCamTexture); m_webCamTexture?.Play(); } @@ -33,6 +61,7 @@ protected virtual void OnDisable() StopCoroutine(m_startVideoCorutine); m_startVideoCorutine = null; } + m_webCamTexture?.Pause(); } @@ -52,12 +81,18 @@ IEnumerator StartVideo() } WebCamDevice userCameraDevice = WebCamTexture.devices[deviceIndex]; - m_webCamTexture = new WebCamTexture(userCameraDevice.name, streamingSize.x, streamingSize.y); + m_webCamTexture = new WebCamTexture(userCameraDevice.name, streamingSize.x, streamingSize.y, framerate); + OnUpdateWebCamTexture?.Invoke(m_webCamTexture); m_webCamTexture.Play(); yield return new WaitUntil(() => m_webCamTexture.didUpdateThisFrame); m_startVideoCorutine = null; } + public void SetDeviceIndex(int index) + { + deviceIndex = index; + } + protected override MediaStreamTrack CreateTrack() { return new VideoStreamTrack(gameObject.name, m_webCamTexture); diff --git a/Runtime/Unity.RenderStreaming.Runtime.asmdef b/Runtime/Unity.RenderStreaming.Runtime.asmdef index 96b4000..5909a82 100644 --- a/Runtime/Unity.RenderStreaming.Runtime.asmdef +++ b/Runtime/Unity.RenderStreaming.Runtime.asmdef @@ -10,6 +10,7 @@ "Unity.RenderPipelines.Universal.Runtime" ], "includePlatforms": [ + "Android", "Editor", "iOS", "LinuxStandalone64", diff --git a/Samples~/Example/ARFoundation/ARFoundation2.1.unity b/Samples~/Example/ARFoundation/ARFoundation2.1.unity index 06a157a..0287283 100644 --- a/Samples~/Example/ARFoundation/ARFoundation2.1.unity +++ b/Samples~/Example/ARFoundation/ARFoundation2.1.unity @@ -43,7 +43,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 @@ -98,7 +98,7 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 0} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -118,6 +118,8 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} @@ -188,6 +190,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &95690760 MonoBehaviour: m_ObjectHideFlags: 0 @@ -203,6 +206,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 0.392} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -277,6 +281,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -391,6 +396,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -506,6 +512,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -532,6 +539,131 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 346410476} m_CullTransparentMesh: 0 +--- !u!1001 &352913928 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 528948626} + m_Modifications: + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838175, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Name + value: BackButtonManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7aa5bec5b1e406445af144843fe4d62c, type: 3} +--- !u!224 &352913929 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + m_PrefabInstance: {fileID: 352913928} + m_PrefabAsset: {fileID: 0} --- !u!1 &355025564 GameObject: m_ObjectHideFlags: 0 @@ -584,6 +716,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -663,6 +796,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -707,6 +841,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -781,6 +916,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -859,6 +995,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -943,6 +1080,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &528948625 Canvas: m_ObjectHideFlags: 0 @@ -977,6 +1115,7 @@ RectTransform: m_Children: - {fileID: 1363584100} - {fileID: 743595808} + - {fileID: 352913929} m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1038,6 +1177,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1147,6 +1287,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1225,6 +1366,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1304,6 +1446,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -1348,6 +1491,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1422,6 +1566,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1612,6 +1757,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1787,8 +1933,6 @@ MonoBehaviour: m_EditorClassIdentifier: m_UseCustomMaterial: 0 m_CustomMaterial: {fileID: 0} - m_UseCustomRendererAsset: 0 - m_CustomRendererAsset: {fileID: 0} --- !u!114 &1161244841 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1801,8 +1945,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4966719baa26e4b0e8231a24d9bd491a, type: 3} m_Name: m_EditorClassIdentifier: - m_FocusMode: 1 - m_LightEstimationMode: 0 + m_FocusMode: -1 + m_LightEstimationMode: -1 + m_AutoFocus: 1 + m_LightEstimation: 0 + m_FacingDirection: 1 --- !u!114 &1161244842 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2009,6 +2156,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2088,6 +2236,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2233,6 +2382,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &1489100470 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2248,6 +2398,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 0.392} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2322,6 +2473,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2437,6 +2589,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2547,6 +2700,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2617,6 +2771,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_AttemptUpdate: 1 m_MatchFrameRate: 1 + m_TrackingMode: 2 --- !u!4 &1637344792 Transform: m_ObjectHideFlags: 0 @@ -2720,6 +2875,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2841,7 +2997,7 @@ MonoBehaviour: hardwareEncoderSupport: 1 handlers: - {fileID: 1915034405} - runOnAwake: 1 + runOnAwake: 0 --- !u!224 &1915034403 RectTransform: m_ObjectHideFlags: 0 diff --git a/Samples~/Example/ARFoundation/ARFoundation4.0.unity b/Samples~/Example/ARFoundation/ARFoundation4.0.unity index 40199c3..46ac9d5 100644 --- a/Samples~/Example/ARFoundation/ARFoundation4.0.unity +++ b/Samples~/Example/ARFoundation/ARFoundation4.0.unity @@ -2853,7 +2853,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 045786cf504bd7347842d6948241cbd0, type: 3} m_Name: m_EditorClassIdentifier: - urlSignaling: ws://localhost + urlSignaling: ws://192.168.11.11 signalingType: Unity.RenderStreaming.Signaling.WebSocketSignaling iceServers: - credential: @@ -2865,7 +2865,7 @@ MonoBehaviour: hardwareEncoderSupport: 1 handlers: - {fileID: 1915034405} - runOnAwake: 1 + runOnAwake: 0 --- !u!224 &1915034403 RectTransform: m_ObjectHideFlags: 0 @@ -2925,6 +2925,14 @@ MonoBehaviour: m_Groups: m_Action: Position m_Flags: 0 + - m_Name: + m_Id: 88b5f99a-4851-4c20-8ef8-80ef6d180f29 + m_Path: /deviceposition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 quaternionAction: m_Name: Quaternion m_Type: 0 @@ -2941,6 +2949,14 @@ MonoBehaviour: m_Groups: m_Action: Quaternion m_Flags: 0 + - m_Name: + m_Id: f59f314e-440b-4d9c-9ec8-25be82d7c317 + m_Path: /devicerotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Quaternion + m_Flags: 0 --- !u!114 &1915034405 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Samples~/Example/ARFoundation/ARFoundationSample.cs b/Samples~/Example/ARFoundation/ARFoundationSample.cs index af100e4..2295b49 100644 --- a/Samples~/Example/ARFoundation/ARFoundationSample.cs +++ b/Samples~/Example/ARFoundation/ARFoundationSample.cs @@ -6,11 +6,12 @@ using UnityEngine.InputSystem.Controls; using UnityEngine.XR.ARFoundation; -namespace Unity.RenderStreaming +namespace Unity.RenderStreaming.Samples { - public class ARFoundationSample : MonoBehaviour + internal class ARFoundationSample : MonoBehaviour { #pragma warning disable 0649 + [SerializeField] private RenderStreaming renderStreaming; [SerializeField] private Button startButton; [SerializeField] private Button stopButton; [SerializeField] private RawImage remoteVideoImage; @@ -47,6 +48,13 @@ void Awake() IEnumerator Start() { + if (!renderStreaming.runOnAwake) + { + renderStreaming.Run( + hardwareEncoder: RenderStreamingSettings.EnableHWCodec, + signaling: RenderStreamingSettings.Signaling); + } + if ((ARSession.state == ARSessionState.None ) || (ARSession.state == ARSessionState.CheckingAvailability)) { @@ -117,7 +125,7 @@ private void UpdateQuaternion(InputAction.CallbackContext context) void CreateConnection() { _connectionId = System.Guid.NewGuid().ToString("N"); - connection.CreateConnection(_connectionId, true); + connection.CreateConnection(_connectionId); startButton.gameObject.SetActive(false); stopButton.gameObject.SetActive(true); diff --git a/Samples~/Example/ARFoundation/AspectRatioFitterPatched.cs b/Samples~/Example/ARFoundation/AspectRatioFitterPatched.cs index 67f9c7f..bc3631f 100644 --- a/Samples~/Example/ARFoundation/AspectRatioFitterPatched.cs +++ b/Samples~/Example/ARFoundation/AspectRatioFitterPatched.cs @@ -4,7 +4,7 @@ /// See below /// https://forum.unity.com/threads/aspectratiofitter-new-restriction-in-2020-2.1022683/ /// -public class AspectRatioFitterPatched : AspectRatioFitter +internal class AspectRatioFitterPatched : AspectRatioFitter { protected override void Start() { diff --git a/Samples~/Example/Bidirectional/Bidirectional.unity b/Samples~/Example/Bidirectional/Bidirectional.unity index feabcdd..f02b668 100644 --- a/Samples~/Example/Bidirectional/Bidirectional.unity +++ b/Samples~/Example/Bidirectional/Bidirectional.unity @@ -43,7 +43,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 @@ -98,7 +98,7 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 0} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -118,9 +118,280 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &131784668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 131784669} + - component: {fileID: 131784670} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &131784669 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 131784668} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1180904220} + - {fileID: 1423621364} + m_Father: {fileID: 1031505000} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 450} + m_Pivot: {x: 0, y: 1} +--- !u!114 &131784670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 131784668} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &172843648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 172843649} + - component: {fileID: 172843651} + - component: {fileID: 172843650} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &172843649 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172843648} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013695939} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &172843650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172843648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 35 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 148 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: StartVideo +--- !u!222 &172843651 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172843648} + m_CullTransparentMesh: 0 +--- !u!1 &174861473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 174861474} + - component: {fileID: 174861477} + - component: {fileID: 174861476} + - component: {fileID: 174861475} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &174861474 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174861473} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1046847830} + m_Father: {fileID: 447881815} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: -17} + m_Pivot: {x: 1, y: 1} +--- !u!114 &174861475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174861473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 375413529} + m_HandleRect: {fileID: 375413528} + m_Direction: 2 + m_Value: 1 + m_Size: 0.9287926 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &174861476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174861473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &174861477 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174861473} + m_CullTransparentMesh: 1 --- !u!1 &174875020 GameObject: m_ObjectHideFlags: 0 @@ -173,6 +444,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -237,7 +509,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &185332756 MonoBehaviour: @@ -253,6 +525,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -318,6 +591,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -340,6 +614,42 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 185332754} m_CullTransparentMesh: 0 +--- !u!1 &220075807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 220075808} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &220075808 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 220075807} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2063941925} + m_Father: {fileID: 2101892767} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &346362249 GameObject: m_ObjectHideFlags: 0 @@ -377,7 +687,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 50} m_Pivot: {x: 1, y: 1} --- !u!114 &346362251 MonoBehaviour: @@ -393,6 +703,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -437,6 +748,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -459,7 +771,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 346362249} m_CullTransparentMesh: 0 ---- !u!1 &528948622 +--- !u!1 &375413527 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -467,24 +779,423 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 528948626} - - component: {fileID: 528948625} - - component: {fileID: 528948624} - - component: {fileID: 528948623} + - component: {fileID: 375413528} + - component: {fileID: 375413530} + - component: {fileID: 375413529} m_Layer: 5 - m_Name: Canvas + m_Name: Handle m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &528948623 +--- !u!224 &375413528 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 375413527} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1046847830} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &375413529 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 528948622} + m_GameObject: {fileID: 375413527} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &375413530 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 375413527} + m_CullTransparentMesh: 1 +--- !u!1 &441688739 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 441688740} + - component: {fileID: 441688743} + - component: {fileID: 441688742} + - component: {fileID: 441688741} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &441688740 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 441688739} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1485084886} + m_Father: {fileID: 1664650282} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -18, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &441688741 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 441688739} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &441688742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 441688739} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &441688743 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 441688739} + m_CullTransparentMesh: 1 +--- !u!1 &447881814 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 447881815} + - component: {fileID: 447881818} + - component: {fileID: 447881817} + - component: {fileID: 447881816} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &447881815 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 447881814} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1031505000} + - {fileID: 2101892767} + - {fileID: 174861474} + m_Father: {fileID: 528948626} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &447881816 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 447881814} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 131784669} + m_Horizontal: 1 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1031505000} + m_HorizontalScrollbar: {fileID: 2101892768} + m_VerticalScrollbar: {fileID: 174861475} + m_HorizontalScrollbarVisibility: 1 + m_VerticalScrollbarVisibility: 1 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &447881817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 447881814} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.19607843} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &447881818 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 447881814} + m_CullTransparentMesh: 1 +--- !u!1001 &509297427 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 528948626} + m_Modifications: + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838175, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Name + value: BackButtonManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7aa5bec5b1e406445af144843fe4d62c, type: 3} +--- !u!224 &509297428 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + m_PrefabInstance: {fileID: 509297427} + m_PrefabAsset: {fileID: 0} +--- !u!1 &528948622 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 528948626} + - component: {fileID: 528948625} + - component: {fileID: 528948624} + - component: {fileID: 528948623} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &528948623 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 528948622} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} @@ -507,7 +1218,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Name: m_EditorClassIdentifier: - m_UiScaleMode: 0 + m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 m_ReferenceResolution: {x: 800, y: 600} @@ -517,6 +1228,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &528948625 Canvas: m_ObjectHideFlags: 0 @@ -549,7 +1261,8 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} m_Children: - - {fileID: 1354028706} + - {fileID: 447881815} + - {fileID: 509297428} m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -610,6 +1323,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -636,7 +1350,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 678698531} m_CullTransparentMesh: 0 ---- !u!1 &710419879 +--- !u!1 &707600074 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -644,64 +1358,143 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 710419883} - - component: {fileID: 710419882} - - component: {fileID: 710419881} - m_Layer: 0 - m_Name: UICamera - m_TagString: MainCamera + - component: {fileID: 707600075} + - component: {fileID: 707600077} + - component: {fileID: 707600076} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &710419881 -AudioListener: +--- !u!224 &707600075 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 710419879} - m_Enabled: 1 ---- !u!20 &710419882 -Camera: + m_GameObject: {fileID: 707600074} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1446828911} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: -0.5} + m_SizeDelta: {x: -30, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &707600076 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 710419879} + m_GameObject: {fileID: 707600074} m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_AllowMSAA: 0 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!222 &707600077 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 707600074} + m_CullTransparentMesh: 1 +--- !u!1 &710419879 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 710419883} + - component: {fileID: 710419882} + - component: {fileID: 710419881} + m_Layer: 0 + m_Name: UICamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &710419881 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 710419879} + m_Enabled: 1 +--- !u!20 &710419882 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 710419879} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 0 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 @@ -750,13 +1543,13 @@ RectTransform: - {fileID: 185332755} - {fileID: 346362250} - {fileID: 2128695119} - m_Father: {fileID: 1354028706} + m_Father: {fileID: 1423621364} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 20, y: 20} - m_SizeDelta: {x: -40, y: -600} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} --- !u!114 &932364533 MonoBehaviour: @@ -767,23 +1560,24 @@ MonoBehaviour: m_GameObject: {fileID: 932364531} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} m_Name: m_EditorClassIdentifier: m_Padding: - m_Left: 20 - m_Right: 20 - m_Top: 20 - m_Bottom: 20 + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 m_ChildAlignment: 0 - m_Spacing: 20 + m_Spacing: 10 m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 + m_ChildForceExpandHeight: 0 m_ChildControlWidth: 1 - m_ChildControlHeight: 1 + m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 ---- !u!1 &1180904219 + m_ReverseArrangement: 0 +--- !u!1 &1013695938 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -791,62 +1585,1146 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1180904220} - - component: {fileID: 1180904221} + - component: {fileID: 1013695939} + - component: {fileID: 1013695942} + - component: {fileID: 1013695941} + - component: {fileID: 1013695940} m_Layer: 5 - m_Name: Image + m_Name: StartButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1180904220 +--- !u!224 &1013695939 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1180904219} + m_GameObject: {fileID: 1013695938} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 1363584100} - - {fileID: 1221238572} - m_Father: {fileID: 1354028706} + - {fileID: 172843649} + m_Father: {fileID: 2134522315} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 50} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1013695940 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013695938} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1013695941} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1013695941 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013695938} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1013695942 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013695938} + m_CullTransparentMesh: 0 +--- !u!1 &1031504999 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1031505000} + - component: {fileID: 1031505003} + - component: {fileID: 1031505002} + - component: {fileID: 1031505001} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1031505000 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1031504999} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 131784669} + m_Father: {fileID: 447881815} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 20, y: 120} - m_SizeDelta: {x: -40, y: -140} - m_Pivot: {x: 0, y: 0} ---- !u!114 &1180904221 + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -17, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1031505001 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1180904219} + m_GameObject: {fileID: 1031504999} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} m_Name: m_EditorClassIdentifier: - m_Padding: - m_Left: 20 - m_Right: 20 - m_Top: 20 - m_Bottom: 20 - m_ChildAlignment: 0 - m_Spacing: 20 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 ---- !u!1 &1221238571 + m_ShowMaskGraphic: 0 +--- !u!114 &1031505002 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1031504999} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1031505003 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1031504999} + m_CullTransparentMesh: 1 +--- !u!1 &1046847829 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1046847830} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1046847830 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1046847829} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 375413528} + m_Father: {fileID: 174861474} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1054277506 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1054277507} + - component: {fileID: 1054277510} + - component: {fileID: 1054277509} + - component: {fileID: 1054277508} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1054277507 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054277506} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1258234880} + m_Father: {fileID: 1664650282} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1054277508 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054277506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1563904670} + m_HandleRect: {fileID: 1563904669} + m_Direction: 2 + m_Value: 0 + m_Size: 0.2 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1054277509 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054277506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1054277510 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054277506} + m_CullTransparentMesh: 1 +--- !u!1 &1094835989 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1094835990} + - component: {fileID: 1094835992} + - component: {fileID: 1094835991} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1094835990 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1094835989} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1446828911} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1094835991 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1094835989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1094835992 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1094835989} + m_CullTransparentMesh: 1 +--- !u!1 &1180904219 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1180904220} + - component: {fileID: 1180904221} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1180904220 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1180904219} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1363584100} + - {fileID: 1221238572} + m_Father: {fileID: 131784669} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 250} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1180904221 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1180904219} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 20 + m_Bottom: 10 + m_ChildAlignment: 1 + m_Spacing: 20 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1221238571 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1221238572} + - component: {fileID: 1221238574} + - component: {fileID: 1221238573} + m_Layer: 5 + m_Name: RemoteImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1221238572 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1221238571} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1180904220} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1221238573 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1221238571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &1221238574 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1221238571} + m_CullTransparentMesh: 0 +--- !u!1 &1258234879 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1258234880} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1258234880 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1258234879} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1563904669} + m_Father: {fileID: 1054277507} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1334313017 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1334313020} + - component: {fileID: 1334313019} + - component: {fileID: 1334313018} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1334313018 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1334313017} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MoveRepeatDelay: 0.5 + m_MoveRepeatRate: 0.1 + m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_PointAction: {fileID: 1054132383583890850, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_MoveAction: {fileID: 3710738434707379630, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_SubmitAction: {fileID: 2064916234097673511, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_CancelAction: {fileID: -1967631576421560919, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_LeftClickAction: {fileID: 8056856818456041789, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_MiddleClickAction: {fileID: 3279352641294131588, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_RightClickAction: {fileID: 3837173908680883260, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_ScrollWheelAction: {fileID: 4502412055082496612, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_TrackedDevicePositionAction: {fileID: 4754684134866288074, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_TrackedDeviceOrientationAction: {fileID: 1025543830046995696, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_DeselectOnBackgroundClick: 1 + m_PointerBehavior: 0 +--- !u!114 &1334313019 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1334313017} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1334313020 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1334313017} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1363584099 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1363584100} + - component: {fileID: 1363584102} + - component: {fileID: 1363584101} + m_Layer: 5 + m_Name: LocalImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1363584100 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1363584099} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1180904220} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1363584101 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1363584099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &1363584102 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1363584099} + m_CullTransparentMesh: 0 +--- !u!1 &1423621363 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1423621364} + - component: {fileID: 1423621365} + m_Layer: 5 + m_Name: Intaractable + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1423621364 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1423621363} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2134522315} + - {fileID: 932364532} + m_Father: {fileID: 131784669} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1423621365 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1423621363} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 0 + m_Spacing: 10 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1446828910 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1446828911} + - component: {fileID: 1446828912} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1446828911 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1446828910} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1094835990} + - {fileID: 1811427819} + - {fileID: 707600075} + m_Father: {fileID: 1485084886} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1446828912 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1446828910} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1094835991} + toggleTransition: 1 + graphic: {fileID: 1811427820} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1485084885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1485084886} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1485084886 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1485084885} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1446828911} + m_Father: {fileID: 441688740} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 28} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1563904668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1563904669} + - component: {fileID: 1563904671} + - component: {fileID: 1563904670} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1563904669 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1563904668} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1258234880} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1563904670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1563904668} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1563904671 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1563904668} + m_CullTransparentMesh: 1 +--- !u!1 &1664650281 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1664650282} + - component: {fileID: 1664650285} + - component: {fileID: 1664650284} + - component: {fileID: 1664650283} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1664650282 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664650281} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 441688740} + - {fileID: 1054277507} + m_Father: {fileID: 1859585769} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1664650283 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664650281} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1485084886} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 441688740} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 1054277508} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1664650284 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664650281} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1664650285 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664650281} + m_CullTransparentMesh: 1 +--- !u!1 &1676245736 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -854,70 +2732,78 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1221238572} - - component: {fileID: 1221238574} - - component: {fileID: 1221238573} + - component: {fileID: 1676245737} + - component: {fileID: 1676245739} + - component: {fileID: 1676245738} m_Layer: 5 - m_Name: RemoteImage + m_Name: Text m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1221238572 +--- !u!224 &1676245737 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1221238571} + m_GameObject: {fileID: 1676245736} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 1180904220} - m_RootOrder: 1 + m_Father: {fileID: 346362250} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1221238573 +--- !u!114 &1676245738 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1221238571} + m_GameObject: {fileID: 1676245736} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Texture: {fileID: 0} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &1221238574 + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 35 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 148 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: SetUp +--- !u!222 &1676245739 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1221238571} + m_GameObject: {fileID: 1676245736} m_CullTransparentMesh: 0 ---- !u!1 &1334313017 +--- !u!1 &1720753587 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -925,84 +2811,78 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1334313020} - - component: {fileID: 1334313019} - - component: {fileID: 1334313018} - m_Layer: 0 - m_Name: EventSystem + - component: {fileID: 1720753588} + - component: {fileID: 1720753590} + - component: {fileID: 1720753589} + m_Layer: 5 + m_Name: Label m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1334313018 -MonoBehaviour: +--- !u!224 &1720753588 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1334313017} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3} - m_Name: - m_EditorClassIdentifier: - m_MoveRepeatDelay: 0.5 - m_MoveRepeatRate: 0.1 - m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_PointAction: {fileID: 1054132383583890850, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_MoveAction: {fileID: 3710738434707379630, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_SubmitAction: {fileID: 2064916234097673511, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_CancelAction: {fileID: -1967631576421560919, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_LeftClickAction: {fileID: 8056856818456041789, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_MiddleClickAction: {fileID: 3279352641294131588, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_RightClickAction: {fileID: 3837173908680883260, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_ScrollWheelAction: {fileID: 4502412055082496612, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_TrackedDevicePositionAction: {fileID: 4754684134866288074, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_TrackedDeviceOrientationAction: {fileID: 1025543830046995696, guid: ca9f5fa95ffab41fb9a615ab714db018, - type: 3} - m_DeselectOnBackgroundClick: 1 - m_PointerBehavior: 0 ---- !u!114 &1334313019 + m_GameObject: {fileID: 1720753587} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1859585769} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -7.5, y: -0.5} + m_SizeDelta: {x: -35, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1720753589 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1334313017} + m_GameObject: {fileID: 1720753587} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} m_Name: m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &1334313020 -Transform: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!222 &1720753590 +CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1334313017} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1354028705 + m_GameObject: {fileID: 1720753587} + m_CullTransparentMesh: 1 +--- !u!1 &1772713975 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1010,36 +2890,74 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1354028706} + - component: {fileID: 1772713976} + - component: {fileID: 1772713978} + - component: {fileID: 1772713977} m_Layer: 5 - m_Name: Frame + m_Name: Arrow m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1354028706 +--- !u!224 &1772713976 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1354028705} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_GameObject: {fileID: 1772713975} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1180904220} - - {fileID: 932364532} - m_Father: {fileID: 528948626} - m_RootOrder: 0 + m_Children: [] + m_Father: {fileID: 1859585769} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 1280, y: 720} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1363584099 +--- !u!114 &1772713977 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1772713975} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1772713978 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1772713975} + m_CullTransparentMesh: 1 +--- !u!1 &1811427818 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1047,70 +2965,74 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1363584100} - - component: {fileID: 1363584102} - - component: {fileID: 1363584101} + - component: {fileID: 1811427819} + - component: {fileID: 1811427821} + - component: {fileID: 1811427820} m_Layer: 5 - m_Name: LocalImage + m_Name: Item Checkmark m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1363584100 +--- !u!224 &1811427819 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1363584099} + m_GameObject: {fileID: 1811427818} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 1180904220} - m_RootOrder: 0 + m_Father: {fileID: 1446828911} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1363584101 +--- !u!114 &1811427820 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1363584099} + m_GameObject: {fileID: 1811427818} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Texture: {fileID: 0} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &1363584102 + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1811427821 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1363584099} - m_CullTransparentMesh: 0 ---- !u!1 &1676245736 + m_GameObject: {fileID: 1811427818} + m_CullTransparentMesh: 1 +--- !u!1 &1859585768 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1118,76 +3040,136 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1676245737} - - component: {fileID: 1676245739} - - component: {fileID: 1676245738} + - component: {fileID: 1859585769} + - component: {fileID: 1859585772} + - component: {fileID: 1859585771} + - component: {fileID: 1859585770} m_Layer: 5 - m_Name: Text + m_Name: Dropdown m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1676245737 +--- !u!224 &1859585769 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1676245736} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_GameObject: {fileID: 1859585768} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 346362250} + m_Children: + - {fileID: 1720753588} + - {fileID: 1772713976} + - {fileID: 1664650282} + m_Father: {fileID: 2134522315} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} + m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 50} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1676245738 +--- !u!114 &1859585770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1859585768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1859585771} + m_Template: {fileID: 1664650282} + m_CaptionText: {fileID: 1720753589} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 707600076} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: + - m_Text: Option A + m_Image: {fileID: 0} + - m_Text: Option B + m_Image: {fileID: 0} + - m_Text: Option C + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_AlphaFadeSpeed: 0.15 +--- !u!114 &1859585771 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1676245736} + m_GameObject: {fileID: 1859585768} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 35 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 148 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: SetUp ---- !u!222 &1676245739 + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1859585772 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1676245736} - m_CullTransparentMesh: 0 + m_GameObject: {fileID: 1859585768} + m_CullTransparentMesh: 1 --- !u!1 &1915034400 GameObject: m_ObjectHideFlags: 0 @@ -1221,12 +3203,15 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0ae98fcc4fa36bd48877f86930b988de, type: 3} m_Name: m_EditorClassIdentifier: + renderStreaming: {fileID: 1915034402} + webcamSelectDropdown: {fileID: 1859585770} + startVideoButton: {fileID: 1013695940} setUpButton: {fileID: 346362251} hangUpButton: {fileID: 2128695120} connectionIdInput: {fileID: 185332756} localVideoImage: {fileID: 1363584101} remoteVideoImage: {fileID: 1221238573} - videoStream: {fileID: 1915034404} + webCamStreamer: {fileID: 1915034404} receiveVideoViewer: {fileID: 1915034405} singleConnection: {fileID: 1915034406} --- !u!114 &1915034402 @@ -1253,7 +3238,7 @@ MonoBehaviour: hardwareEncoderSupport: 0 handlers: - {fileID: 1915034406} - runOnAwake: 1 + runOnAwake: 0 --- !u!224 &1915034403 RectTransform: m_ObjectHideFlags: 0 @@ -1280,13 +3265,13 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1915034400} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 7f37261e4dcc3ef4a949ca413a2cddee, type: 3} m_Name: m_EditorClassIdentifier: streamingSize: {x: 1280, y: 720} - deviceIndex: 1 + deviceIndex: 0 --- !u!114 &1915034405 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1315,6 +3300,207 @@ MonoBehaviour: streams: - {fileID: 1915034405} - {fileID: 1915034404} +--- !u!1 &2063941924 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2063941925} + - component: {fileID: 2063941927} + - component: {fileID: 2063941926} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2063941925 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063941924} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 220075808} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2063941926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063941924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2063941927 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063941924} + m_CullTransparentMesh: 1 +--- !u!1 &2101892766 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2101892767} + - component: {fileID: 2101892770} + - component: {fileID: 2101892769} + - component: {fileID: 2101892768} + m_Layer: 5 + m_Name: Scrollbar Horizontal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2101892767 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101892766} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 220075808} + m_Father: {fileID: 447881815} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -17, y: 20} + m_Pivot: {x: 0, y: 0} +--- !u!114 &2101892768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101892766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2063941926} + m_HandleRect: {fileID: 2063941925} + m_Direction: 0 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &2101892769 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101892766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2101892770 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101892766} + m_CullTransparentMesh: 1 --- !u!1 &2128695118 GameObject: m_ObjectHideFlags: 0 @@ -1352,7 +3538,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 50} m_Pivot: {x: 1, y: 1} --- !u!114 &2128695120 MonoBehaviour: @@ -1368,6 +3554,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -1412,6 +3599,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1434,6 +3622,70 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2128695118} m_CullTransparentMesh: 0 +--- !u!1 &2134522314 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2134522315} + - component: {fileID: 2134522316} + m_Layer: 5 + m_Name: SelectWebCam + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2134522315 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134522314} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1859585769} + - {fileID: 1013695939} + m_Father: {fileID: 1423621364} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &2134522316 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134522314} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 10 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &2143861284 GameObject: m_ObjectHideFlags: 0 @@ -1486,6 +3738,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: diff --git a/Samples~/Example/Bidirectional/BidirectionalSample.cs b/Samples~/Example/Bidirectional/BidirectionalSample.cs index e1ea581..ab3471e 100644 --- a/Samples~/Example/Bidirectional/BidirectionalSample.cs +++ b/Samples~/Example/Bidirectional/BidirectionalSample.cs @@ -1,17 +1,21 @@ +using System.Linq; using UnityEngine; using UnityEngine.UI; -namespace Unity.RenderStreaming +namespace Unity.RenderStreaming.Samples { - public class BidirectionalSample : MonoBehaviour + class BidirectionalSample : MonoBehaviour { #pragma warning disable 0649 + [SerializeField] private RenderStreaming renderStreaming; + [SerializeField] private Dropdown webcamSelectDropdown; + [SerializeField] private Button startVideoButton; [SerializeField] private Button setUpButton; [SerializeField] private Button hangUpButton; [SerializeField] private InputField connectionIdInput; [SerializeField] private RawImage localVideoImage; [SerializeField] private RawImage remoteVideoImage; - [SerializeField] private VideoStreamBase videoStream; + [SerializeField] private WebCamStreamer webCamStreamer; [SerializeField] private ReceiveVideoViewer receiveVideoViewer; [SerializeField] private SingleConnection singleConnection; #pragma warning restore 0649 @@ -20,21 +24,39 @@ public class BidirectionalSample : MonoBehaviour void Awake() { - setUpButton.interactable = true; - hangUpButton.interactable = true; + startVideoButton.interactable = true; + webcamSelectDropdown.interactable = true; + setUpButton.interactable = false; + hangUpButton.interactable = false; connectionIdInput.interactable = true; + startVideoButton.onClick.AddListener(() => + { + webCamStreamer.enabled = true; + startVideoButton.interactable = false; + webcamSelectDropdown.interactable = false; + setUpButton.interactable = true; + }); setUpButton.onClick.AddListener(SetUp); hangUpButton.onClick.AddListener(HangUp); connectionIdInput.onValueChanged.AddListener(input => connectionId = input); connectionIdInput.text = $"{Random.Range(0, 99999):D5}"; - videoStream.OnStartedStream += connectionId => - { - receiveVideoViewer.enabled = true; - localVideoImage.texture = videoStream.SendTexture; - }; + webcamSelectDropdown.onValueChanged.AddListener(index => webCamStreamer.SetDeviceIndex(index)); + webcamSelectDropdown.options = + webCamStreamer.WebCamNameList.Select(x => new Dropdown.OptionData(x)).ToList(); + webCamStreamer.OnStartedStream += id => receiveVideoViewer.enabled = true; + webCamStreamer.OnUpdateWebCamTexture += texture => localVideoImage.texture = texture; receiveVideoViewer.OnUpdateReceiveTexture += texture => remoteVideoImage.texture = texture; } + void Start() + { + if (renderStreaming.runOnAwake) + return; + renderStreaming.Run( + hardwareEncoder: RenderStreamingSettings.EnableHWCodec, + signaling: RenderStreamingSettings.Signaling); + } + private void SetUp() { setUpButton.interactable = false; @@ -48,7 +70,6 @@ private void HangUp() { singleConnection.DeleteConnection(connectionId); - localVideoImage.texture = null; remoteVideoImage.texture = null; setUpButton.interactable = true; hangUpButton.interactable = false; diff --git a/Samples~/Example/Broadcast/Broadcast.unity b/Samples~/Example/Broadcast/Broadcast.unity index 7b154a0..e6562a1 100644 --- a/Samples~/Example/Broadcast/Broadcast.unity +++ b/Samples~/Example/Broadcast/Broadcast.unity @@ -38,12 +38,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1} + m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 0 m_GISettings: serializedVersion: 2 @@ -98,7 +98,7 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 774178818} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -118,6 +118,8 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} @@ -246,7 +248,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &705507993 GameObject: @@ -324,6 +326,7 @@ Light: m_UseColorTemperature: 0 m_BoundingSphereOverride: {x: 1.1754944e-38, y: 0, z: 0, w: 6.018715e-36} m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!4 &705507995 @@ -475,7 +478,7 @@ Camera: m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 + m_TargetDisplay: 1 m_TargetEye: 3 m_HDR: 1 m_AllowMSAA: 1 @@ -509,6 +512,69 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: streamingSize: {x: 1280, y: 720} + depth: 16 + antiAliasing: 1 +--- !u!850595691 &774178818 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 3 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_TextureCompression: 1 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 --- !u!1 &783215601 GameObject: m_ObjectHideFlags: 0 @@ -648,6 +714,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -692,7 +759,7 @@ GameObject: m_Component: - component: {fileID: 963194228} - component: {fileID: 963194227} - - component: {fileID: 963194226} + - component: {fileID: 963194229} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -700,19 +767,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &963194226 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 88167b61ef2361446aefab18c3c7a843, type: 3} - m_Name: - m_EditorClassIdentifier: - m_rtCamera: {fileID: 725451154} --- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 @@ -722,7 +776,7 @@ Camera: m_GameObject: {fileID: 963194225} m_Enabled: 1 serializedVersion: 2 - m_ClearFlags: 4 + m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 m_GateFitMode: 2 @@ -744,7 +798,7 @@ Camera: m_Depth: -1 m_CullingMask: serializedVersion: 2 - m_Bits: 0 + m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} m_TargetDisplay: 0 @@ -763,13 +817,26 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 963194225} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalRotation: {x: -0.02296006, y: 0.9760592, z: -0.17338917, w: -0.12929617} + m_LocalPosition: {x: 2.454, y: 1.436, z: 2.861} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 20.146, y: 195.092, z: 0.001} +--- !u!114 &963194229 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 042622dd8b5b34449b0d20275a1bf1cc, type: 3} + m_Name: + m_EditorClassIdentifier: + origin: {fileID: 725451150} --- !u!1 &1048105216 GameObject: m_ObjectHideFlags: 0 @@ -818,6 +885,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -842,6 +910,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1048105219 MeshFilter: m_ObjectHideFlags: 0 @@ -911,6 +980,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -935,6 +1005,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1080657946 MeshFilter: m_ObjectHideFlags: 0 @@ -1009,6 +1080,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0, g: 0, b: 0, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1049,7 +1121,7 @@ GameObject: - component: {fileID: 1215389820} - component: {fileID: 1215389824} m_Layer: 5 - m_Name: Canvas + m_Name: Canvas (Render Streaming Camera) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1094,6 +1166,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &1215389822 Canvas: m_ObjectHideFlags: 0 @@ -1129,7 +1202,7 @@ RectTransform: - {fileID: 920982462} - {fileID: 1287993067} m_Father: {fileID: 0} - m_RootOrder: 7 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -1227,6 +1300,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1249,6 +1323,231 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1287993066} m_CullTransparentMesh: 0 +--- !u!1001 &1303918152 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1338964889} + m_Modifications: + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838175, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Name + value: BackButtonManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7aa5bec5b1e406445af144843fe4d62c, type: 3} +--- !u!224 &1303918153 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + m_PrefabInstance: {fileID: 1303918152} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1338964884 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1338964889} + - component: {fileID: 1338964888} + - component: {fileID: 1338964887} + - component: {fileID: 1338964886} + m_Layer: 5 + m_Name: Canvas (Main Camera) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1338964886 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1338964884} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1338964887 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1338964884} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1280, y: 720} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1338964888 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1338964884} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + m_Camera: {fileID: 963194227} + m_PlaneDistance: 1 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1338964889 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1338964884} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1303918153} + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!1 &1623734773 GameObject: m_ObjectHideFlags: 0 @@ -1260,6 +1559,7 @@ GameObject: - component: {fileID: 1623734775} - component: {fileID: 1623734776} - component: {fileID: 1623734774} + - component: {fileID: 1623734777} m_Layer: 0 m_Name: RenderStreaming m_TagString: Untagged @@ -1309,7 +1609,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 045786cf504bd7347842d6948241cbd0, type: 3} m_Name: m_EditorClassIdentifier: - urlSignaling: ws://localhost + urlSignaling: ws://192.168.11.11 signalingType: Unity.RenderStreaming.Signaling.WebSocketSignaling iceServers: - credential: @@ -1318,7 +1618,20 @@ MonoBehaviour: - stun:stun.l.google.com:19302 username: interval: 5 - hardwareEncoderSupport: 0 + hardwareEncoderSupport: 1 handlers: - {fileID: 1623734774} - runOnAwake: 1 + runOnAwake: 0 +--- !u!114 &1623734777 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623734773} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d207eb28d60cb5941a6a8f93a10ec652, type: 3} + m_Name: + m_EditorClassIdentifier: + renderStreaming: {fileID: 1623734776} diff --git a/Samples~/Example/Broadcast/BroadcastSample.cs b/Samples~/Example/Broadcast/BroadcastSample.cs new file mode 100644 index 0000000..87f0b69 --- /dev/null +++ b/Samples~/Example/Broadcast/BroadcastSample.cs @@ -0,0 +1,20 @@ +using UnityEngine; + +namespace Unity.RenderStreaming.Samples +{ + class BroadcastSample : MonoBehaviour + { + [SerializeField] RenderStreaming renderStreaming; + + // Start is called before the first frame update + void Start() + { + if (renderStreaming.runOnAwake) + return; + renderStreaming.Run( + hardwareEncoder: RenderStreamingSettings.EnableHWCodec, + signaling: RenderStreamingSettings.Signaling); + + } + } +} diff --git a/Samples~/Example/Broadcast/BroadcastSample.cs.meta b/Samples~/Example/Broadcast/BroadcastSample.cs.meta new file mode 100644 index 0000000..359afc0 --- /dev/null +++ b/Samples~/Example/Broadcast/BroadcastSample.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d207eb28d60cb5941a6a8f93a10ec652 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Example/Gyro/Gyro.unity b/Samples~/Example/Gyro/Gyro.unity index d05f6b6..176bd70 100644 --- a/Samples~/Example/Gyro/Gyro.unity +++ b/Samples~/Example/Gyro/Gyro.unity @@ -43,7 +43,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 @@ -98,7 +98,7 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 0} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -118,6 +118,8 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} @@ -192,7 +194,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} m_AnchoredPosition: {x: 80, y: 0} - m_SizeDelta: {x: 120, y: 40} + m_SizeDelta: {x: 80, y: 40} m_Pivot: {x: 0, y: 0.5} --- !u!114 &289531841 MonoBehaviour: @@ -209,13 +211,14 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 32 + m_FontSize: 18 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 2 @@ -270,8 +273,133 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 60} + m_SizeDelta: {x: 200, y: 40} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &517264790 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 528948626} + m_Modifications: + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838175, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Name + value: BackButtonManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7aa5bec5b1e406445af144843fe4d62c, type: 3} +--- !u!224 &517264791 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + m_PrefabInstance: {fileID: 517264790} + m_PrefabAsset: {fileID: 0} --- !u!1 &523210252 GameObject: m_ObjectHideFlags: 0 @@ -307,7 +435,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} m_AnchoredPosition: {x: 80, y: 0} - m_SizeDelta: {x: 120, y: 40} + m_SizeDelta: {x: 80, y: 40} m_Pivot: {x: 0, y: 0.5} --- !u!114 &523210254 MonoBehaviour: @@ -324,13 +452,14 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 32 + m_FontSize: 18 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 2 @@ -398,7 +527,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Name: m_EditorClassIdentifier: - m_UiScaleMode: 0 + m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 m_ReferenceResolution: {x: 800, y: 600} @@ -408,6 +537,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &528948625 Canvas: m_ObjectHideFlags: 0 @@ -442,6 +572,7 @@ RectTransform: m_Children: - {fileID: 1363584100} - {fileID: 743595808} + - {fileID: 517264791} m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -486,7 +617,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} m_AnchoredPosition: {x: 80, y: 0} - m_SizeDelta: {x: 120, y: 40} + m_SizeDelta: {x: 80, y: 40} m_Pivot: {x: 0, y: 0.5} --- !u!114 &545070959 MonoBehaviour: @@ -503,13 +634,14 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 32 + m_FontSize: 18 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 2 @@ -612,13 +744,14 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 48 + m_FontSize: 24 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 2 @@ -675,7 +808,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 300, y: 100} + m_SizeDelta: {x: 200, y: 60} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &662432479 MonoBehaviour: @@ -691,6 +824,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -735,6 +869,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -892,13 +1027,14 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 32 + m_FontSize: 18 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 2 @@ -953,7 +1089,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 60} + m_SizeDelta: {x: 200, y: 40} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &743595807 GameObject: @@ -989,8 +1125,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: 0, y: 100} - m_SizeDelta: {x: -200, y: 100} + m_AnchoredPosition: {x: 0, y: 50} + m_SizeDelta: {x: -100, y: 50} m_Pivot: {x: 0.5, y: 0} --- !u!1 &844007570 GameObject: @@ -1026,7 +1162,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 240, y: 280} + m_SizeDelta: {x: 200, y: 200} m_Pivot: {x: 1, y: 0} --- !u!1 &908346560 GameObject: @@ -1080,6 +1216,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1243,13 +1380,14 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 32 + m_FontSize: 18 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 2 @@ -1322,6 +1460,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1422,6 +1561,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &1489100470 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1437,6 +1577,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 0.392} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1511,13 +1652,14 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 32 + m_FontSize: 18 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 2 @@ -1572,7 +1714,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 60} + m_SizeDelta: {x: 200, y: 40} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1915034400 GameObject: @@ -1620,7 +1762,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 045786cf504bd7347842d6948241cbd0, type: 3} m_Name: m_EditorClassIdentifier: - urlSignaling: ws://localhost + urlSignaling: ws://192.168.11.11 signalingType: Unity.RenderStreaming.Signaling.WebSocketSignaling iceServers: - credential: @@ -1632,7 +1774,7 @@ MonoBehaviour: hardwareEncoderSupport: 1 handlers: - {fileID: 1915034405} - runOnAwake: 1 + runOnAwake: 0 --- !u!224 &1915034403 RectTransform: m_ObjectHideFlags: 0 @@ -1693,6 +1835,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f8b53051b289a47f58fc4cd38c881aff, type: 3} m_Name: m_EditorClassIdentifier: + renderStreaming: {fileID: 1915034402} sendOfferButton: {fileID: 662432479} remoteVideoImage: {fileID: 1363584101} receiveVideoViewer: {fileID: 1915034401} diff --git a/Samples~/Example/Gyro/GyroSample.cs b/Samples~/Example/Gyro/GyroSample.cs index 9aed61e..d386040 100644 --- a/Samples~/Example/Gyro/GyroSample.cs +++ b/Samples~/Example/Gyro/GyroSample.cs @@ -4,11 +4,12 @@ using UnityEngine.InputSystem.Controls; using Gyroscope = UnityEngine.InputSystem.Gyroscope; -namespace Unity.RenderStreaming +namespace Unity.RenderStreaming.Samples { - public class GyroSample : MonoBehaviour + class GyroSample : MonoBehaviour { #pragma warning disable 0649 + [SerializeField] private RenderStreaming renderStreaming; [SerializeField] private Button sendOfferButton; [SerializeField] private RawImage remoteVideoImage; [SerializeField] private ReceiveVideoViewer receiveVideoViewer; @@ -29,6 +30,19 @@ void Awake() receiveVideoViewer.OnUpdateReceiveTexture += texture => remoteVideoImage.texture = texture; } + void OnDestroy() + { + InputSystem.DisableDevice(Gyroscope.current); + } + + void Start() + { + if (renderStreaming.runOnAwake) + return; + renderStreaming.Run( + hardwareEncoder: RenderStreamingSettings.EnableHWCodec, + signaling: RenderStreamingSettings.Signaling); + } void OnEnable() { @@ -60,7 +74,7 @@ private void UpdateVector3(InputAction.CallbackContext context) void SendOffer() { var connectionId = System.Guid.NewGuid().ToString("N"); - connection.CreateConnection(connectionId, true); + connection.CreateConnection(connectionId); } } } diff --git a/Samples~/Example/Gyro/Unity.RenderStreaming.GyroSample.asmdef b/Samples~/Example/Gyro/Unity.RenderStreaming.GyroSample.asmdef deleted file mode 100644 index 2e33f68..0000000 --- a/Samples~/Example/Gyro/Unity.RenderStreaming.GyroSample.asmdef +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "Unity.RenderStreaming.GyroSample", - "references": [ - "Unity.InputSystem", - "Unity.RenderStreaming.Runtime" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Samples~/Example/Menu.meta b/Samples~/Example/Menu.meta new file mode 100644 index 0000000..1781164 --- /dev/null +++ b/Samples~/Example/Menu.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c8962b69f3dcd61449dc20360068e0e8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Example/Menu/BackButtonManager.prefab b/Samples~/Example/Menu/BackButtonManager.prefab new file mode 100644 index 0000000..c130810 --- /dev/null +++ b/Samples~/Example/Menu/BackButtonManager.prefab @@ -0,0 +1,264 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4037113454067947823 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4037113454067947816} + - component: {fileID: 4037113454067947818} + - component: {fileID: 4037113454067947817} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4037113454067947816 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4037113454067947823} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4037113454666673381} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4037113454067947818 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4037113454067947823} + m_CullTransparentMesh: 1 +--- !u!114 &4037113454067947817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4037113454067947823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Back +--- !u!1 &4037113454666673380 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4037113454666673381} + - component: {fileID: 4037113454666673376} + - component: {fileID: 4037113454666673383} + - component: {fileID: 4037113454666673382} + m_Layer: 5 + m_Name: Back + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &4037113454666673381 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4037113454666673380} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4037113454067947816} + m_Father: {fileID: 4037113455314838168} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -20, y: -20} + m_SizeDelta: {x: 80, y: 40} + m_Pivot: {x: 1, y: 1} +--- !u!222 &4037113454666673376 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4037113454666673380} + m_CullTransparentMesh: 1 +--- !u!114 &4037113454666673383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4037113454666673380} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4037113454666673382 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4037113454666673380} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 4037113454666673383} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1347202893} + m_TargetAssemblyTypeName: Unity.WebRTC.Samples.BackButton, Unity.WebRTC.Samples + m_MethodName: BackButtonPressed + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &4037113455314838175 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4037113455314838168} + - component: {fileID: 1347202893} + m_Layer: 5 + m_Name: BackButtonManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4037113455314838168 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4037113455314838175} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4037113454666673381} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1347202893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4037113455314838175} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fdb45a16251639a4db94706f0e117a8a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BackButton: {fileID: 4037113454666673380} diff --git a/Samples~/Example/Gyro/Unity.RenderStreaming.GyroSample.asmdef.meta b/Samples~/Example/Menu/BackButtonManager.prefab.meta similarity index 59% rename from Samples~/Example/Gyro/Unity.RenderStreaming.GyroSample.asmdef.meta rename to Samples~/Example/Menu/BackButtonManager.prefab.meta index 2d4f5d0..1e71fee 100644 --- a/Samples~/Example/Gyro/Unity.RenderStreaming.GyroSample.asmdef.meta +++ b/Samples~/Example/Menu/BackButtonManager.prefab.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: d2a0563a601204045910d3dc8d88ea99 -AssemblyDefinitionImporter: +guid: 7aa5bec5b1e406445af144843fe4d62c +PrefabImporter: externalObjects: {} userData: assetBundleName: diff --git a/Samples~/Example/Menu/Menu.unity b/Samples~/Example/Menu/Menu.unity new file mode 100644 index 0000000..0456457 --- /dev/null +++ b/Samples~/Example/Menu/Menu.unity @@ -0,0 +1,5585 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &37453617 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 37453618} + - component: {fileID: 37453620} + - component: {fileID: 37453619} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &37453618 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 37453617} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1037768629} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 33.4, y: 0.000005722046} + m_SizeDelta: {x: -30, y: 6.3343} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &37453619 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 37453617} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!222 &37453620 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 37453617} + m_CullTransparentMesh: 1 +--- !u!1 &43381536 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 43381537} + - component: {fileID: 43381539} + - component: {fileID: 43381538} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &43381537 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 43381536} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1971406369} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -207.23682, y: 0} + m_SizeDelta: {x: 141.5264, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &43381538 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 43381536} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Interval +--- !u!222 &43381539 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 43381536} + m_CullTransparentMesh: 1 +--- !u!1 &56072713 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 56072714} + - component: {fileID: 56072716} + - component: {fileID: 56072715} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &56072714 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 56072713} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 775769959} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &56072715 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 56072713} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Gyro +--- !u!222 &56072716 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 56072713} + m_CullTransparentMesh: 1 +--- !u!1 &63719236 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 63719237} + - component: {fileID: 63719239} + - component: {fileID: 63719238} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &63719237 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63719236} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1584422740} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &63719238 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63719236} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enter text... +--- !u!222 &63719239 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63719236} + m_CullTransparentMesh: 1 +--- !u!1 &65202132 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 65202133} + - component: {fileID: 65202135} + - component: {fileID: 65202134} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &65202133 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 65202132} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1582195154} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &65202134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 65202132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &65202135 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 65202132} + m_CullTransparentMesh: 1 +--- !u!1 &84985263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 84985264} + - component: {fileID: 84985266} + - component: {fileID: 84985265} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &84985264 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 84985263} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1584422740} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &84985265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 84985263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 5 +--- !u!222 &84985266 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 84985263} + m_CullTransparentMesh: 1 +--- !u!1 &134408845 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 134408846} + - component: {fileID: 134408848} + - component: {fileID: 134408847} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &134408846 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 134408845} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1890844053} + m_Father: {fileID: 1305239481} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 197, y: 0} + m_SizeDelta: {x: 40, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &134408847 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 134408845} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &134408848 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 134408845} + m_CullTransparentMesh: 1 +--- !u!1 &150123347 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 150123348} + - component: {fileID: 150123351} + - component: {fileID: 150123350} + - component: {fileID: 150123349} + m_Layer: 5 + m_Name: WebBrowserInput + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &150123348 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150123347} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1101405506} + m_Father: {fileID: 1648950604} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &150123349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150123347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 150123350} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1227338011} + m_TargetAssemblyTypeName: Unity.WebRTC.Samples.SceneSelectUI, Unity.WebRTC.Samples + m_MethodName: OnPressedPeerBandwidthButton + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &150123350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150123347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &150123351 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 150123347} + m_CullTransparentMesh: 1 +--- !u!1 &189517635 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 189517636} + - component: {fileID: 189517639} + - component: {fileID: 189517638} + - component: {fileID: 189517637} + m_Layer: 5 + m_Name: Bidirectional + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &189517636 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189517635} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1588795182} + m_Father: {fileID: 1648950604} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &189517637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189517635} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 189517638} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1227338011} + m_TargetAssemblyTypeName: Unity.WebRTC.Samples.SceneSelectUI, Unity.WebRTC.Samples + m_MethodName: OnPressedPeerConnectionButton + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &189517638 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189517635} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &189517639 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189517635} + m_CullTransparentMesh: 1 +--- !u!1 &264030624 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 264030627} + - component: {fileID: 264030626} + - component: {fileID: 264030625} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &264030625 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 264030624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MoveRepeatDelay: 0.5 + m_MoveRepeatRate: 0.1 + m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_PointAction: {fileID: 1054132383583890850, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_MoveAction: {fileID: 3710738434707379630, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_SubmitAction: {fileID: 2064916234097673511, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_CancelAction: {fileID: -1967631576421560919, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_LeftClickAction: {fileID: 8056856818456041789, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_MiddleClickAction: {fileID: 3279352641294131588, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_RightClickAction: {fileID: 3837173908680883260, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_ScrollWheelAction: {fileID: 4502412055082496612, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_TrackedDevicePositionAction: {fileID: 4754684134866288074, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_TrackedDeviceOrientationAction: {fileID: 1025543830046995696, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_DeselectOnBackgroundClick: 1 + m_PointerBehavior: 0 +--- !u!114 &264030626 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 264030624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &264030627 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 264030624} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &397743426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 397743427} + m_Layer: 5 + m_Name: Signaling + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &397743427 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 397743426} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1632855334} + - {fileID: 1241864396} + - {fileID: 1305239481} + - {fileID: 789249148} + - {fileID: 1971406369} + m_Father: {fileID: 1571725903} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -310.90002, y: 213.47638} + m_SizeDelta: {x: 584.0048, y: 394.6525} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &404516251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 404516252} + - component: {fileID: 404516255} + - component: {fileID: 404516254} + - component: {fileID: 404516253} + m_Layer: 5 + m_Name: Dropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &404516252 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 404516251} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 614879183} + - {fileID: 1543731664} + - {fileID: 661700339} + m_Father: {fileID: 1241864396} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 30, y: 0} + m_SizeDelta: {x: 289.4662, y: 56.1842} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &404516253 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 404516251} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 404516254} + m_Template: {fileID: 661700339} + m_CaptionText: {fileID: 614879184} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 37453619} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: + - m_Text: WebSocket + m_Image: {fileID: 0} + - m_Text: Http + m_Image: {fileID: 0} + - m_Text: Furioos + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_AlphaFadeSpeed: 0.15 +--- !u!114 &404516254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 404516251} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &404516255 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 404516251} + m_CullTransparentMesh: 1 +--- !u!1 &524198425 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 524198426} + - component: {fileID: 524198429} + - component: {fileID: 524198428} + - component: {fileID: 524198427} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &524198426 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 524198425} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 660889755} + - {fileID: 1813582003} + - {fileID: 1993818745} + m_Father: {fileID: 1571725903} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &524198427 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 524198425} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1648950604} + m_Horizontal: 1 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 660889755} + m_HorizontalScrollbar: {fileID: 1813582004} + m_VerticalScrollbar: {fileID: 1993818746} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &524198428 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 524198425} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &524198429 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 524198425} + m_CullTransparentMesh: 1 +--- !u!1 &529049195 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 529049196} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &529049196 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 529049195} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 781139651} + m_Father: {fileID: 1136357668} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &595137780 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 595137781} + - component: {fileID: 595137783} + - component: {fileID: 595137782} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &595137781 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 595137780} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1241864396} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -203.34, y: 0.002105713} + m_SizeDelta: {x: 135.01, y: 49.0655} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &595137782 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 595137780} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Type +--- !u!222 &595137783 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 595137780} + m_CullTransparentMesh: 1 +--- !u!1 &595998593 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 595998594} + - component: {fileID: 595998597} + - component: {fileID: 595998596} + - component: {fileID: 595998595} + m_Layer: 5 + m_Name: Broadcast + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &595998594 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 595998593} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1641369930} + m_Father: {fileID: 1648950604} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &595998595 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 595998593} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 595998596} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1227338011} + m_TargetAssemblyTypeName: Unity.WebRTC.Samples.SceneSelectUI, Unity.WebRTC.Samples + m_MethodName: OnPressedDataChannelButton + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &595998596 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 595998593} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &595998597 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 595998593} + m_CullTransparentMesh: 1 +--- !u!1 &614879182 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 614879183} + - component: {fileID: 614879185} + - component: {fileID: 614879184} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &614879183 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 614879182} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 404516252} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -7.5000153, y: -0.5} + m_SizeDelta: {x: -35, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &614879184 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 614879182} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: WebSocket +--- !u!222 &614879185 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 614879182} + m_CullTransparentMesh: 1 +--- !u!1 &656132315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 656132316} + - component: {fileID: 656132318} + - component: {fileID: 656132317} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &656132316 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 656132315} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1037768629} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 27.154, y: 0.0000019073} + m_SizeDelta: {x: 42.492, y: 42.492} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &656132317 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 656132315} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &656132318 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 656132315} + m_CullTransparentMesh: 1 +--- !u!1 &660889754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 660889755} + - component: {fileID: 660889758} + - component: {fileID: 660889757} + - component: {fileID: 660889756} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &660889755 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 660889754} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1648950604} + m_Father: {fileID: 524198426} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &660889756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 660889754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &660889757 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 660889754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &660889758 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 660889754} + m_CullTransparentMesh: 1 +--- !u!1 &661700338 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 661700339} + - component: {fileID: 661700342} + - component: {fileID: 661700341} + - component: {fileID: 661700340} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &661700339 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 661700338} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1712664732} + - {fileID: 1136357668} + m_Father: {fileID: 404516252} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 166.6473} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &661700340 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 661700338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1036012769} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1712664732} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 1136357669} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &661700341 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 661700338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &661700342 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 661700338} + m_CullTransparentMesh: 1 +--- !u!1 &749529902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 749529903} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &749529903 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 749529902} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2081036669} + m_Father: {fileID: 1813582003} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &775769958 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 775769959} + - component: {fileID: 775769962} + - component: {fileID: 775769961} + - component: {fileID: 775769960} + m_Layer: 5 + m_Name: Gyro + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &775769959 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775769958} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 56072714} + m_Father: {fileID: 1648950604} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &775769960 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775769958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 775769961} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1227338011} + m_TargetAssemblyTypeName: Unity.WebRTC.Samples.SceneSelectUI, Unity.WebRTC.Samples + m_MethodName: OnPressedMediaStreamButton + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &775769961 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775769958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &775769962 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775769958} + m_CullTransparentMesh: 1 +--- !u!1 &781139650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 781139651} + - component: {fileID: 781139653} + - component: {fileID: 781139652} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &781139651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781139650} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 529049196} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &781139652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781139650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &781139653 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781139650} + m_CullTransparentMesh: 1 +--- !u!1 &789249147 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 789249148} + m_Layer: 5 + m_Name: Address + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &789249148 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 789249147} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1225082140} + - {fileID: 2087068098} + m_Father: {fileID: 397743427} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 295, y: -238} + m_SizeDelta: {x: 584, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1015984210 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1015984211} + - component: {fileID: 1015984213} + - component: {fileID: 1015984212} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1015984211 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1015984210} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2123867962} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1015984212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1015984210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Receiver +--- !u!222 &1015984213 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1015984210} + m_CullTransparentMesh: 1 +--- !u!1 &1036012768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1036012769} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1036012769 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1036012768} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1037768629} + m_Father: {fileID: 1712664732} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 44.6473} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1037768628 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1037768629} + - component: {fileID: 1037768630} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1037768629 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1037768628} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2002711233} + - {fileID: 656132316} + - {fileID: 37453618} + m_Father: {fileID: 1036012769} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: -3.834} + m_SizeDelta: {x: 0, y: 52.3153} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1037768630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1037768628} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2002711234} + toggleTransition: 1 + graphic: {fileID: 656132317} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1101405505 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1101405506} + - component: {fileID: 1101405508} + - component: {fileID: 1101405507} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1101405506 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1101405505} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 150123348} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1101405507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1101405505} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: WebBrowserInput +--- !u!222 &1101405508 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1101405505} + m_CullTransparentMesh: 1 +--- !u!1 &1136357667 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1136357668} + - component: {fileID: 1136357671} + - component: {fileID: 1136357670} + - component: {fileID: 1136357669} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1136357668 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1136357667} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 529049196} + m_Father: {fileID: 661700339} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1136357669 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1136357667} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 781139652} + m_HandleRect: {fileID: 781139651} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1136357670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1136357667} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1136357671 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1136357667} + m_CullTransparentMesh: 1 +--- !u!1 &1189488950 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1189488951} + - component: {fileID: 1189488954} + - component: {fileID: 1189488953} + - component: {fileID: 1189488952} + m_Layer: 5 + m_Name: AR + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1189488951 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1189488950} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1448885558} + m_Father: {fileID: 1648950604} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1189488952 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1189488950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1189488953} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1227338011} + m_TargetAssemblyTypeName: Unity.WebRTC.Samples.SceneSelectUI, Unity.WebRTC.Samples + m_MethodName: OnPressedPeerBandwidthButton + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1189488953 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1189488950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1189488954 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1189488950} + m_CullTransparentMesh: 1 +--- !u!1 &1222010648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1222010649} + - component: {fileID: 1222010651} + - component: {fileID: 1222010650} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1222010649 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222010648} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2087068098} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1222010650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222010648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: localhost +--- !u!222 &1222010651 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222010648} + m_CullTransparentMesh: 1 +--- !u!1 &1225082139 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1225082140} + - component: {fileID: 1225082142} + - component: {fileID: 1225082141} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1225082140 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1225082139} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 789249148} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -207.23682, y: 0} + m_SizeDelta: {x: 141.5264, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1225082141 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1225082139} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Address +--- !u!222 &1225082142 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1225082139} + m_CullTransparentMesh: 1 +--- !u!1 &1227338009 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1227338010} + - component: {fileID: 1227338011} + m_Layer: 5 + m_Name: MenuManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1227338010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1227338009} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1571725903} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1227338011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1227338009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8d6df25b96db2814daa5608049a81529, type: 3} + m_Name: + m_EditorClassIdentifier: + toggleEnableHWCodec: {fileID: 1730536247} + dropdownSignalingType: {fileID: 404516253} + inputFieldSignalingAddress: {fileID: 2087068099} + toggleSignalingSecured: {fileID: 1305239482} + inputFieldSignalingInterval: {fileID: 1584422741} + buttonBidirectional: {fileID: 189517637} + buttonBroadcast: {fileID: 595998595} + buttonGyro: {fileID: 775769960} + buttonRenderPipeline: {fileID: 1661926939} + buttonReceiver: {fileID: 2123867963} + buttonWebBrowserInput: {fileID: 150123349} + buttonAR: {fileID: 1189488952} +--- !u!1 &1241864395 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1241864396} + m_Layer: 5 + m_Name: Type + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1241864396 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241864395} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 595137781} + - {fileID: 404516252} + m_Father: {fileID: 397743427} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.000015423, y: 129.79} + m_SizeDelta: {x: 541.684, y: 80.9345} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1305239480 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1305239481} + - component: {fileID: 1305239482} + m_Layer: 5 + m_Name: SSL + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1305239481 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305239480} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1850475806} + - {fileID: 134408846} + m_Father: {fileID: 397743427} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 153, y: -148} + m_SizeDelta: {x: 300, y: 80} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1305239482 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305239480} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 134408847} + toggleTransition: 1 + graphic: {fileID: 1890844054} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!1 &1448885557 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1448885558} + - component: {fileID: 1448885560} + - component: {fileID: 1448885559} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1448885558 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448885557} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1189488951} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1448885559 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448885557} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: AR +--- !u!222 &1448885560 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448885557} + m_CullTransparentMesh: 1 +--- !u!1 &1454117027 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1454117028} + - component: {fileID: 1454117030} + - component: {fileID: 1454117029} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1454117028 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454117027} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1661926938} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1454117029 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454117027} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: RenderPipeline +--- !u!222 &1454117030 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454117027} + m_CullTransparentMesh: 1 +--- !u!1 &1543731663 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1543731664} + - component: {fileID: 1543731666} + - component: {fileID: 1543731665} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1543731664 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1543731663} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 404516252} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1543731665 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1543731663} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1543731666 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1543731663} + m_CullTransparentMesh: 1 +--- !u!1 &1571725899 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1571725903} + - component: {fileID: 1571725902} + - component: {fileID: 1571725901} + - component: {fileID: 1571725900} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1571725900 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1571725899} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1571725901 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1571725899} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1571725902 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1571725899} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1571725903 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1571725899} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 524198426} + - {fileID: 397743427} + - {fileID: 1227338010} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1582195153 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1582195154} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1582195154 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1582195153} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 65202133} + m_Father: {fileID: 1993818745} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1584422739 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1584422740} + - component: {fileID: 1584422743} + - component: {fileID: 1584422742} + - component: {fileID: 1584422741} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1584422740 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1584422739} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 63719237} + - {fileID: 84985264} + m_Father: {fileID: 1971406369} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 81.18628, y: 0.6794} + m_SizeDelta: {x: 400.3727, y: 63.1884} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1584422741 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1584422739} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1584422742} + m_TextComponent: {fileID: 84985265} + m_Placeholder: {fileID: 63719238} + m_ContentType: 3 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 2 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 2 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 5 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &1584422742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1584422739} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1584422743 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1584422739} + m_CullTransparentMesh: 1 +--- !u!1 &1588795181 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1588795182} + - component: {fileID: 1588795184} + - component: {fileID: 1588795183} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1588795182 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1588795181} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 189517636} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1588795183 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1588795181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Bidirectional +--- !u!222 &1588795184 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1588795181} + m_CullTransparentMesh: 1 +--- !u!1 &1632855333 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1632855334} + - component: {fileID: 1632855336} + - component: {fileID: 1632855335} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1632855334 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1632855333} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 397743427} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1632855335 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1632855333} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1632855336 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1632855333} + m_CullTransparentMesh: 1 +--- !u!1 &1639942806 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1639942807} + m_Layer: 5 + m_Name: HardwareCodec + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1639942807 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639942806} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1730536246} + m_Father: {fileID: 1648950604} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1641369929 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1641369930} + - component: {fileID: 1641369932} + - component: {fileID: 1641369931} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1641369930 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1641369929} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 595998594} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1641369931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1641369929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Broadcast +--- !u!222 &1641369932 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1641369929} + m_CullTransparentMesh: 1 +--- !u!1 &1641724555 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1641724556} + - component: {fileID: 1641724558} + - component: {fileID: 1641724557} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1641724556 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1641724555} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1685035308} + m_Father: {fileID: 1730536246} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 40, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1641724557 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1641724555} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1641724558 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1641724555} + m_CullTransparentMesh: 1 +--- !u!1 &1648950603 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1648950604} + - component: {fileID: 1648950605} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1648950604 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1648950603} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 189517636} + - {fileID: 595998594} + - {fileID: 775769959} + - {fileID: 1661926938} + - {fileID: 2123867962} + - {fileID: 150123348} + - {fileID: 1189488951} + - {fileID: 1639942807} + m_Father: {fileID: 660889755} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 1500} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1648950605 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1648950603} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 100 + m_Right: 100 + m_Top: 100 + m_Bottom: 100 + m_ChildAlignment: 0 + m_StartCorner: 0 + m_StartAxis: 0 + m_CellSize: {x: 300, y: 100} + m_Spacing: {x: 50, y: 50} + m_Constraint: 0 + m_ConstraintCount: 2 +--- !u!1 &1658025073 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1658025075} + - component: {fileID: 1658025074} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1658025074 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1658025073} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1658025075 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1658025073} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1661926937 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1661926938} + - component: {fileID: 1661926941} + - component: {fileID: 1661926940} + - component: {fileID: 1661926939} + m_Layer: 5 + m_Name: RenderPipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1661926938 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1661926937} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1454117028} + m_Father: {fileID: 1648950604} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1661926939 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1661926937} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1661926940} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1227338011} + m_TargetAssemblyTypeName: Unity.WebRTC.Samples.SceneSelectUI, Unity.WebRTC.Samples + m_MethodName: OnPressedMultiPeersButton + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1661926940 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1661926937} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1661926941 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1661926937} + m_CullTransparentMesh: 1 +--- !u!1 &1685035307 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1685035308} + - component: {fileID: 1685035310} + - component: {fileID: 1685035309} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1685035308 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1685035307} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1641724556} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 40, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1685035309 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1685035307} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1685035310 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1685035307} + m_CullTransparentMesh: 1 +--- !u!1 &1712664731 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1712664732} + - component: {fileID: 1712664735} + - component: {fileID: 1712664734} + - component: {fileID: 1712664733} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1712664732 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1712664731} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1036012769} + m_Father: {fileID: 661700339} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -17, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1712664733 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1712664731} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &1712664734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1712664731} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1712664735 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1712664731} + m_CullTransparentMesh: 1 +--- !u!1 &1730536245 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1730536246} + - component: {fileID: 1730536247} + m_Layer: 5 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1730536246 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1730536245} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1641724556} + - {fileID: 2063552481} + m_Father: {fileID: 1639942807} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 300, y: 80} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1730536247 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1730536245} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1641724557} + toggleTransition: 1 + graphic: {fileID: 1685035309} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!1 &1813582002 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1813582003} + - component: {fileID: 1813582006} + - component: {fileID: 1813582005} + - component: {fileID: 1813582004} + m_Layer: 5 + m_Name: Scrollbar Horizontal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1813582003 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813582002} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 749529903} + m_Father: {fileID: 524198426} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1813582004 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813582002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2081036670} + m_HandleRect: {fileID: 2081036669} + m_Direction: 0 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1813582005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813582002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1813582006 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1813582002} + m_CullTransparentMesh: 1 +--- !u!1 &1850475805 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1850475806} + - component: {fileID: 1850475808} + - component: {fileID: 1850475807} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1850475806 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850475805} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1305239481} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -39.405273, y: -0.5} + m_SizeDelta: {x: -213.1846, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1850475807 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850475805} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: SSL +--- !u!222 &1850475808 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850475805} + m_CullTransparentMesh: 1 +--- !u!1 &1890844052 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1890844053} + - component: {fileID: 1890844055} + - component: {fileID: 1890844054} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1890844053 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1890844052} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 134408846} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 40, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1890844054 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1890844052} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1890844055 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1890844052} + m_CullTransparentMesh: 1 +--- !u!1 &1925992335 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1925992338} + - component: {fileID: 1925992337} + - component: {fileID: 1925992336} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1925992336 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1925992335} + m_Enabled: 1 +--- !u!20 &1925992337 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1925992335} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1925992338 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1925992335} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1971406368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1971406369} + m_Layer: 5 + m_Name: Interval + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1971406369 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1971406368} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 43381537} + - {fileID: 1584422740} + m_Father: {fileID: 397743427} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 295, y: -338} + m_SizeDelta: {x: 584, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1988159381 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1988159382} + - component: {fileID: 1988159384} + - component: {fileID: 1988159383} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1988159382 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1988159381} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2087068098} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1988159383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1988159381} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enter text... +--- !u!222 &1988159384 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1988159381} + m_CullTransparentMesh: 1 +--- !u!1 &1993818744 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1993818745} + - component: {fileID: 1993818748} + - component: {fileID: 1993818747} + - component: {fileID: 1993818746} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1993818745 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993818744} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1582195154} + m_Father: {fileID: 524198426} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1993818746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993818744} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 65202134} + m_HandleRect: {fileID: 65202133} + m_Direction: 2 + m_Value: 1 + m_Size: 0.7086667 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1993818747 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993818744} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1993818748 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993818744} + m_CullTransparentMesh: 1 +--- !u!1 &2002711232 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2002711233} + - component: {fileID: 2002711235} + - component: {fileID: 2002711234} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2002711233 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002711232} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1037768629} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0.0000076294} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2002711234 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002711232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2002711235 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002711232} + m_CullTransparentMesh: 1 +--- !u!1 &2063552480 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2063552481} + - component: {fileID: 2063552483} + - component: {fileID: 2063552482} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2063552481 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063552480} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1730536246} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 21.093506, y: -0.5} + m_SizeDelta: {x: -52.187, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2063552482 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063552480} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Hardware codec +--- !u!222 &2063552483 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063552480} + m_CullTransparentMesh: 1 +--- !u!1 &2081036668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2081036669} + - component: {fileID: 2081036671} + - component: {fileID: 2081036670} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2081036669 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2081036668} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 749529903} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2081036670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2081036668} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2081036671 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2081036668} + m_CullTransparentMesh: 1 +--- !u!1 &2087068097 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2087068098} + - component: {fileID: 2087068101} + - component: {fileID: 2087068100} + - component: {fileID: 2087068099} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2087068098 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2087068097} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1988159382} + - {fileID: 1222010649} + m_Father: {fileID: 789249148} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 81.18628, y: 0.6794} + m_SizeDelta: {x: 400.3727, y: 63.1884} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2087068099 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2087068097} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2087068100} + m_TextComponent: {fileID: 1222010650} + m_Placeholder: {fileID: 1988159383} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: localhost + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &2087068100 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2087068097} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2087068101 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2087068097} + m_CullTransparentMesh: 1 +--- !u!1 &2123867961 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2123867962} + - component: {fileID: 2123867965} + - component: {fileID: 2123867964} + - component: {fileID: 2123867963} + m_Layer: 5 + m_Name: Receiver + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2123867962 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2123867961} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1015984211} + m_Father: {fileID: 1648950604} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2123867963 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2123867961} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2123867964} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1227338011} + m_TargetAssemblyTypeName: Unity.WebRTC.Samples.SceneSelectUI, Unity.WebRTC.Samples + m_MethodName: OnPressedMultiVideoRecvButton + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &2123867964 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2123867961} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2123867965 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2123867961} + m_CullTransparentMesh: 1 diff --git a/Samples~/Example/Menu/Menu.unity.meta b/Samples~/Example/Menu/Menu.unity.meta new file mode 100644 index 0000000..361754b --- /dev/null +++ b/Samples~/Example/Menu/Menu.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f74260b9867fa524a9677fe64004f4f9 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Example/Receiver/Receiver.unity b/Samples~/Example/Receiver/Receiver.unity index c0dc024..ad56043 100644 --- a/Samples~/Example/Receiver/Receiver.unity +++ b/Samples~/Example/Receiver/Receiver.unity @@ -43,7 +43,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 @@ -98,7 +98,7 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 0} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -118,9 +118,136 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1001 &50660490 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 528948626} + m_Modifications: + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838175, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Name + value: BackButtonManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7aa5bec5b1e406445af144843fe4d62c, type: 3} +--- !u!224 &50660491 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + m_PrefabInstance: {fileID: 50660490} + m_PrefabAsset: {fileID: 0} --- !u!1 &159113882 GameObject: m_ObjectHideFlags: 0 @@ -157,8 +284,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 975, y: -10} - m_SizeDelta: {x: 300, y: 80} + m_AnchoredPosition: {x: 840, y: -10} + m_SizeDelta: {x: 200, y: 60} m_Pivot: {x: 1, y: 1} --- !u!114 &159113884 MonoBehaviour: @@ -174,6 +301,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -218,6 +346,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -240,81 +369,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 159113882} m_CullTransparentMesh: 0 ---- !u!1 &499727479 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 499727480} - - component: {fileID: 499727482} - - component: {fileID: 499727481} - m_Layer: 5 - m_Name: Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &499727480 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 499727479} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 876847321} - m_Father: {fileID: 1537721409} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 500, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &499727481 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 499727479} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0.392} - m_RaycastTarget: 1 - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &499727482 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 499727479} - m_CullTransparentMesh: 0 --- !u!1 &528948622 GameObject: m_ObjectHideFlags: 0 @@ -363,7 +417,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Name: m_EditorClassIdentifier: - m_UiScaleMode: 0 + m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 m_ReferenceResolution: {x: 800, y: 600} @@ -373,6 +427,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &528948625 Canvas: m_ObjectHideFlags: 0 @@ -407,6 +462,7 @@ RectTransform: m_Children: - {fileID: 1221357425} - {fileID: 1537721409} + - {fileID: 50660491} m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -467,6 +523,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -530,7 +587,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 300, y: 80} + m_SizeDelta: {x: 200, y: 60} m_Pivot: {x: 1, y: 1} --- !u!114 &662432479 MonoBehaviour: @@ -546,6 +603,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -590,6 +648,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -695,85 +754,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &876847320 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 876847321} - - component: {fileID: 876847323} - - component: {fileID: 876847322} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &876847321 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876847320} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 499727480} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 10, y: 10} - m_SizeDelta: {x: -20, y: -20} - m_Pivot: {x: 0, y: 0} ---- !u!114 &876847322 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876847320} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_RaycastTarget: 1 - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 20 - m_FontStyle: 1 - m_BestFit: 0 - m_MinSize: 2 - m_MaxSize: 40 - m_Alignment: 3 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 'Note: Please check the option "hardware encoder support" is off in the - sender side.' ---- !u!222 &876847323 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876847320} - m_CullTransparentMesh: 0 --- !u!1 &935674848 GameObject: m_ObjectHideFlags: 0 @@ -812,7 +792,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 400, y: 80} + m_SizeDelta: {x: 400, y: 60} m_Pivot: {x: 1, y: 1} --- !u!114 &935674850 MonoBehaviour: @@ -828,6 +808,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -893,6 +874,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -967,6 +949,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1016,7 +999,7 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1221357424} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -1026,8 +1009,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -75} - m_SizeDelta: {x: -100, y: -250} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1334313017 GameObject: @@ -1167,6 +1150,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1198,7 +1182,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b0f052816c2714604bd4a5a506eb7f43, type: 3} m_Name: m_EditorClassIdentifier: - m_AspectMode: 3 + m_AspectMode: 4 m_AspectRatio: 1.7778 --- !u!1 &1497684900 GameObject: @@ -1252,6 +1236,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1302,21 +1287,20 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1537721408} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 935674849} - {fileID: 662432478} - {fileID: 159113883} - - {fileID: 499727480} m_Father: {fileID: 528948626} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -100} - m_SizeDelta: {x: -400, y: 100} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 391.5, y: -49.999973} + m_SizeDelta: {x: 783, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1537721410 MonoBehaviour: @@ -1336,13 +1320,14 @@ MonoBehaviour: m_Top: 0 m_Bottom: 0 m_ChildAlignment: 4 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 + m_Spacing: 20 + m_ChildForceExpandWidth: 0 m_ChildForceExpandHeight: 1 m_ChildControlWidth: 0 m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &1809130294 GameObject: m_ObjectHideFlags: 0 @@ -1395,6 +1380,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1467,7 +1453,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 045786cf504bd7347842d6948241cbd0, type: 3} m_Name: m_EditorClassIdentifier: - urlSignaling: ws://localhost + urlSignaling: ws://192.168.11.11 signalingType: Unity.RenderStreaming.Signaling.WebSocketSignaling iceServers: - credential: @@ -1479,7 +1465,7 @@ MonoBehaviour: hardwareEncoderSupport: 0 handlers: - {fileID: 1915034404} - runOnAwake: 1 + runOnAwake: 0 --- !u!224 &1915034403 RectTransform: m_ObjectHideFlags: 0 @@ -1526,6 +1512,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 97627988cbc0b4b15aefdbed5cb090d0, type: 3} m_Name: m_EditorClassIdentifier: + renderStreaming: {fileID: 1915034402} startButton: {fileID: 662432479} stopButton: {fileID: 159113884} connectionIdInput: {fileID: 935674850} diff --git a/Samples~/Example/Receiver/ReceiverSample.cs b/Samples~/Example/Receiver/ReceiverSample.cs index a793f4b..321512e 100644 --- a/Samples~/Example/Receiver/ReceiverSample.cs +++ b/Samples~/Example/Receiver/ReceiverSample.cs @@ -1,12 +1,14 @@ using System; +using Unity.RenderStreaming.Samples; using UnityEngine; using UnityEngine.UI; -namespace Unity.RenderStreaming +namespace Unity.RenderStreaming.Samples { - public class ReceiverSample : MonoBehaviour + class ReceiverSample : MonoBehaviour { #pragma warning disable 0649 + [SerializeField] private RenderStreaming renderStreaming; [SerializeField] private Button startButton; [SerializeField] private Button stopButton; [SerializeField] private InputField connectionIdInput; @@ -26,6 +28,15 @@ void Awake() receiveVideoViewer.OnUpdateReceiveTexture += texture => remoteVideoImage.texture = texture; } + void Start() + { + if (renderStreaming.runOnAwake) + return; + renderStreaming.Run( + hardwareEncoder: RenderStreamingSettings.EnableHWCodec, + signaling: RenderStreamingSettings.Signaling); + } + private void OnStart() { if (string.IsNullOrEmpty(connectionId)) @@ -35,7 +46,7 @@ private void OnStart() } connectionIdInput.interactable = false; - connection.CreateConnection(connectionId, true); + connection.CreateConnection(connectionId); startButton.gameObject.SetActive(false); stopButton.gameObject.SetActive(true); } diff --git a/Samples~/Example/RenderPipeline/HDRP.unity b/Samples~/Example/RenderPipeline/HDRP.unity index 2d269bd..68d4538 100644 --- a/Samples~/Example/RenderPipeline/HDRP.unity +++ b/Samples~/Example/RenderPipeline/HDRP.unity @@ -43,7 +43,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 @@ -99,7 +99,8 @@ LightmapSettings: m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 112000000, guid: 59d415d885d26374eaaf986accb2c3ba, type: 2} - m_UseShadowmask: 0 + m_LightingSettings: {fileID: 4890085278179872738, guid: e4c5668197c5b464a9d07c496fc1f875, + type: 2} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -119,6 +120,8 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} @@ -136,7 +139,7 @@ GameObject: - component: {fileID: 20602989} - component: {fileID: 20602988} m_Layer: 5 - m_Name: Canvas 2 + m_Name: Canvas (Render Streaming Camera 2) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -220,6 +223,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &20602991 Canvas: m_ObjectHideFlags: 0 @@ -255,7 +259,7 @@ RectTransform: - {fileID: 1970538493} - {fileID: 1609928088} m_Father: {fileID: 0} - m_RootOrder: 14 + m_RootOrder: 15 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -314,6 +318,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -367,16 +372,35 @@ MonoBehaviour: m_GameObject: {fileID: 279570607} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3} m_Name: m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 + m_MoveRepeatDelay: 0.5 + m_MoveRepeatRate: 0.1 + m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_PointAction: {fileID: 1054132383583890850, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_MoveAction: {fileID: 3710738434707379630, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_SubmitAction: {fileID: 2064916234097673511, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_CancelAction: {fileID: -1967631576421560919, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_LeftClickAction: {fileID: 8056856818456041789, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_MiddleClickAction: {fileID: 3279352641294131588, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_RightClickAction: {fileID: 3837173908680883260, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_ScrollWheelAction: {fileID: 4502412055082496612, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_TrackedDevicePositionAction: {fileID: 4754684134866288074, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_TrackedDeviceOrientationAction: {fileID: 1025543830046995696, guid: ca9f5fa95ffab41fb9a615ab714db018, + type: 3} + m_DeselectOnBackgroundClick: 1 + m_PointerBehavior: 0 --- !u!114 &279570609 MonoBehaviour: m_ObjectHideFlags: 0 @@ -406,6 +430,81 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &464661990 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 464661991} + - component: {fileID: 464661993} + - component: {fileID: 464661992} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &464661991 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 464661990} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1725123085} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 23.1121, y: 2.9821} + m_SizeDelta: {x: 46.2242, y: 46.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &464661992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 464661990} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &464661993 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 464661990} + m_CullTransparentMesh: 1 --- !u!115 &483944395 MonoScript: m_ObjectHideFlags: 0 @@ -474,6 +573,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -556,6 +656,160 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &775980371 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 775980372} + - component: {fileID: 775980374} + - component: {fileID: 775980373} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &775980372 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775980371} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1725123085} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &775980373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775980371} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &775980374 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775980371} + m_CullTransparentMesh: 1 +--- !u!1 &911749851 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 911749852} + - component: {fileID: 911749854} + - component: {fileID: 911749853} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &911749852 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911749851} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1158655605} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -7.5, y: -0.5} + m_SizeDelta: {x: -35, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &911749853 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911749851} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Camera 1 +--- !u!222 &911749854 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911749851} + m_CullTransparentMesh: 1 --- !u!1 &954474956 GameObject: m_ObjectHideFlags: 0 @@ -618,7 +872,7 @@ GameObject: - component: {fileID: 970442465} - component: {fileID: 970442469} m_Layer: 5 - m_Name: Canvas + m_Name: Canvas (Render Streaming Camera 1) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -663,6 +917,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &970442467 Canvas: m_ObjectHideFlags: 0 @@ -698,7 +953,7 @@ RectTransform: - {fileID: 486043064} - {fileID: 2080445450} m_Father: {fileID: 0} - m_RootOrder: 13 + m_RootOrder: 14 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -787,7 +1042,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1131364781 +--- !u!1 &1083341247 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -795,82 +1050,456 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1131364783} - - component: {fileID: 1131364782} - - component: {fileID: 1131364784} - m_Layer: 0 - m_Name: RenderStreaming + - component: {fileID: 1083341248} + m_Layer: 5 + m_Name: Sliding Area m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1131364782 -MonoBehaviour: +--- !u!224 &1083341248 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1131364781} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 045786cf504bd7347842d6948241cbd0, type: 3} - m_Name: - m_EditorClassIdentifier: - urlSignaling: ws://localhost - signalingType: Unity.RenderStreaming.Signaling.WebSocketSignaling - iceServers: - - credential: - credentialType: 0 - urls: - - stun:stun.l.google.com:19302 - username: - interval: 5 - hardwareEncoderSupport: 0 - handlers: - - {fileID: 1131364784} - runOnAwake: 1 ---- !u!4 &1131364783 -Transform: + m_GameObject: {fileID: 1083341247} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1916037166} + m_Father: {fileID: 1361869887} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1090357714 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1131364781} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -10.119711, y: -5.336665, z: -13.136775} + serializedVersion: 6 + m_Component: + - component: {fileID: 1090357715} + - component: {fileID: 1090357718} + - component: {fileID: 1090357717} + - component: {fileID: 1090357716} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1090357715 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090357714} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 9 + m_Children: + - {fileID: 1767473858} + - {fileID: 1361869887} + m_Father: {fileID: 1158655605} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1131364784 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1090357716 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1131364781} + m_GameObject: {fileID: 1090357714} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c2307e7ad91222841b562bebd81a69a0, type: 3} + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} m_Name: m_EditorClassIdentifier: - streams: - - {fileID: 1299133686} - - {fileID: 1299133687} - - {fileID: 1299133688} - - {fileID: 1635662242} - - {fileID: 1635662243} ---- !u!1 &1166324968 -GameObject: + m_Content: {fileID: 1574019762} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1767473858} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 1361869888} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1090357717 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1166324972} + m_GameObject: {fileID: 1090357714} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1090357718 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090357714} + m_CullTransparentMesh: 1 +--- !u!1 &1096783346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1096783347} + - component: {fileID: 1096783349} + - component: {fileID: 1096783348} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1096783347 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096783346} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1158655605} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -28.033, y: -0.2625} + m_SizeDelta: {x: 46.066, y: 46.0655} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1096783348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096783346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1096783349 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096783346} + m_CullTransparentMesh: 1 +--- !u!1 &1131364781 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1131364783} + - component: {fileID: 1131364782} + - component: {fileID: 1131364784} + - component: {fileID: 1131364785} + m_Layer: 0 + m_Name: RenderStreaming + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1131364782 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1131364781} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 045786cf504bd7347842d6948241cbd0, type: 3} + m_Name: + m_EditorClassIdentifier: + urlSignaling: ws://localhost + signalingType: Unity.RenderStreaming.Signaling.WebSocketSignaling + iceServers: + - credential: + credentialType: 0 + urls: + - stun:stun.l.google.com:19302 + username: + interval: 5 + hardwareEncoderSupport: 0 + handlers: + - {fileID: 1131364784} + runOnAwake: 0 +--- !u!4 &1131364783 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1131364781} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -10.119711, y: -5.336665, z: -13.136775} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1131364784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1131364781} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2307e7ad91222841b562bebd81a69a0, type: 3} + m_Name: + m_EditorClassIdentifier: + streams: + - {fileID: 1299133686} + - {fileID: 1299133687} + - {fileID: 1299133688} + - {fileID: 1635662242} + - {fileID: 1635662243} +--- !u!114 &1131364785 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1131364781} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dabd9aa9b88e3304f9beca84c54d2cda, type: 3} + m_Name: + m_EditorClassIdentifier: + renderStreaming: {fileID: 1131364782} + dropdownCamera: {fileID: 1158655606} + cameras: + - {fileID: 1299133685} + - {fileID: 1635662247} + copyTransform: {fileID: 1297650285} +--- !u!1 &1158655604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1158655605} + - component: {fileID: 1158655608} + - component: {fileID: 1158655607} + - component: {fileID: 1158655606} + m_Layer: 5 + m_Name: Dropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1158655605 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158655604} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 911749852} + - {fileID: 1096783347} + - {fileID: 1090357715} + m_Father: {fileID: 1362474103} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 150, y: -50} + m_SizeDelta: {x: 223.312, y: 57.2242} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1158655606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158655604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1158655607} + m_Template: {fileID: 1090357715} + m_CaptionText: {fileID: 911749853} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 1766702561} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: + - m_Text: Camera 1 + m_Image: {fileID: 0} + - m_Text: Camera 2 + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_AlphaFadeSpeed: 0.15 +--- !u!114 &1158655607 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158655604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1158655608 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158655604} + m_CullTransparentMesh: 1 +--- !u!1 &1166324968 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1166324972} - component: {fileID: 1166324971} - component: {fileID: 1166324970} - component: {fileID: 1166324969} @@ -909,6 +1538,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -933,6 +1563,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1166324971 MeshFilter: m_ObjectHideFlags: 0 @@ -966,7 +1597,7 @@ GameObject: - component: {fileID: 1297650284} - component: {fileID: 1297650283} - component: {fileID: 1297650282} - - component: {fileID: 1297650281} + - component: {fileID: 1297650285} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -974,19 +1605,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1297650281 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1297650280} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 88167b61ef2361446aefab18c3c7a843, type: 3} - m_Name: - m_EditorClassIdentifier: - m_rtCamera: {fileID: 1299133684} --- !u!114 &1297650282 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1046,18 +1664,23 @@ MonoBehaviour: enableFptlForForwardOpaque: 0 enableBigTilePrepass: 0 isFptlEnabled: 0 - clearColorMode: 2 + clearColorMode: 0 backgroundColorHDR: {r: 0.025, g: 0.07, b: 0.19, a: 0} clearDepth: 1 volumeLayerMask: serializedVersion: 2 m_Bits: 4294967295 volumeAnchorOverride: {fileID: 0} - antialiasing: 0 + antialiasing: 2 SMAAQuality: 2 dithering: 1 stopNaNs: 0 taaSharpenStrength: 0.6 + TAAQuality: 1 + taaHistorySharpening: 0.35 + taaAntiFlicker: 0.5 + taaMotionVectorRejection: 0 + taaAntiHistoryRinging: 0 physicalParameters: m_Iso: 200 m_ShutterSpeed: 0.005 @@ -1067,7 +1690,8 @@ MonoBehaviour: m_BarrelClipping: 0.25 m_Anamorphism: 0 flipYMode: 0 - fullscreenPassthrough: 1 + xrRendering: 1 + fullscreenPassthrough: 0 allowDynamicResolution: 0 customRenderingSettings: 0 invertFaceCulling: 0 @@ -1075,6 +1699,7 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 4294967295 hasPersistentHistory: 0 + exposureTarget: {fileID: 0} m_RenderingPathCustomFrameSettings: bitDatas: data1: 68906302766941 @@ -1085,6 +1710,9 @@ MonoBehaviour: maximumLODLevel: 0 maximumLODLevelMode: 0 maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 materialQuality: 0 renderingPathCustomFrameSettingsOverrideMask: mask: @@ -1119,10 +1747,10 @@ Camera: field of view: 67.380135 orthographic: 0 orthographic size: 5 - m_Depth: 10 + m_Depth: -1 m_CullingMask: serializedVersion: 2 - m_Bits: 0 + m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} m_TargetDisplay: 0 @@ -1142,12 +1770,25 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1297650280} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0.956, z: -3.015} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1297650285 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1297650280} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 042622dd8b5b34449b0d20275a1bf1cc, type: 3} + m_Name: + m_EditorClassIdentifier: + origin: {fileID: 1299133685} --- !u!1 &1299133680 GameObject: m_ObjectHideFlags: 0 @@ -1165,7 +1806,7 @@ GameObject: - component: {fileID: 1299133687} - component: {fileID: 1299133688} m_Layer: 0 - m_Name: Render Streaming Camera + m_Name: Render Streaming Camera 1 m_TagString: MainCamera m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1242,6 +1883,11 @@ MonoBehaviour: dithering: 1 stopNaNs: 0 taaSharpenStrength: 0.6 + TAAQuality: 1 + taaHistorySharpening: 0.35 + taaAntiFlicker: 0.5 + taaMotionVectorRejection: 0 + taaAntiHistoryRinging: 0 physicalParameters: m_Iso: 200 m_ShutterSpeed: 0.005 @@ -1251,6 +1897,7 @@ MonoBehaviour: m_BarrelClipping: 0.25 m_Anamorphism: 0 flipYMode: 0 + xrRendering: 1 fullscreenPassthrough: 0 allowDynamicResolution: 0 customRenderingSettings: 0 @@ -1259,6 +1906,7 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 4294967295 hasPersistentHistory: 0 + exposureTarget: {fileID: 0} m_RenderingPathCustomFrameSettings: bitDatas: data1: 68906302766941 @@ -1269,6 +1917,9 @@ MonoBehaviour: maximumLODLevel: 0 maximumLODLevelMode: 0 maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 materialQuality: 0 renderingPathCustomFrameSettingsOverrideMask: mask: @@ -1360,7 +2011,7 @@ Camera: m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 + m_TargetDisplay: 1 m_TargetEye: 3 m_HDR: 0 m_AllowMSAA: 0 @@ -1401,27 +2052,417 @@ MonoBehaviour: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1299133680} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e3379f8b7ab35724b965e26351c2004e, type: 3} - m_Name: - m_EditorClassIdentifier: - streamingSize: {x: 1280, y: 720} ---- !u!114 &1299133688 -MonoBehaviour: + m_GameObject: {fileID: 1299133680} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e3379f8b7ab35724b965e26351c2004e, type: 3} + m_Name: + m_EditorClassIdentifier: + streamingSize: {x: 1280, y: 720} + depth: 0 + antiAliasing: 1 +--- !u!114 &1299133688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1299133680} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0f8d5d29a31dd084aaa8cb13851d7ef8, type: 3} + m_Name: + m_EditorClassIdentifier: + local: 0 + label: +--- !u!1 &1361869886 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1361869887} + - component: {fileID: 1361869890} + - component: {fileID: 1361869889} + - component: {fileID: 1361869888} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1361869887 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1361869886} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1083341248} + m_Father: {fileID: 1090357715} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1361869888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1361869886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1916037167} + m_HandleRect: {fileID: 1916037166} + m_Direction: 2 + m_Value: 0 + m_Size: 0.2 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1361869889 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1361869886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1361869890 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1361869886} + m_CullTransparentMesh: 1 +--- !u!1 &1362474098 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1362474103} + - component: {fileID: 1362474102} + - component: {fileID: 1362474101} + - component: {fileID: 1362474100} + m_Layer: 5 + m_Name: Canvas (Main Camera) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1362474100 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362474098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1362474101 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362474098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1280, y: 720} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1362474102 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362474098} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 1 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1362474103 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362474098} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1451208111} + - {fileID: 1158655605} + m_Father: {fileID: 0} + m_RootOrder: 13 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1001 &1451208110 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1362474103} + m_Modifications: + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838175, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Name + value: BackButtonManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7aa5bec5b1e406445af144843fe4d62c, type: 3} +--- !u!224 &1451208111 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + m_PrefabInstance: {fileID: 1451208110} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1574019761 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1574019762} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1574019762 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1299133680} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0f8d5d29a31dd084aaa8cb13851d7ef8, type: 3} - m_Name: - m_EditorClassIdentifier: - local: 0 - label: + m_GameObject: {fileID: 1574019761} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1725123085} + m_Father: {fileID: 1767473858} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 44.5535} + m_Pivot: {x: 0.5, y: 1} --- !u!1 &1609928085 GameObject: m_ObjectHideFlags: 0 @@ -1455,6 +2496,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1551,7 +2593,7 @@ Camera: m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 + m_TargetDisplay: 2 m_TargetEye: 3 m_HDR: 0 m_AllowMSAA: 0 @@ -1573,6 +2615,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: streamingSize: {x: 1280, y: 720} + depth: 0 + antiAliasing: 1 --- !u!114 &1635662243 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1658,6 +2702,11 @@ MonoBehaviour: dithering: 1 stopNaNs: 0 taaSharpenStrength: 0.6 + TAAQuality: 1 + taaHistorySharpening: 0.35 + taaAntiFlicker: 0.5 + taaMotionVectorRejection: 0 + taaAntiHistoryRinging: 0 physicalParameters: m_Iso: 200 m_ShutterSpeed: 0.005 @@ -1667,6 +2716,7 @@ MonoBehaviour: m_BarrelClipping: 0.25 m_Anamorphism: 0 flipYMode: 0 + xrRendering: 1 fullscreenPassthrough: 0 allowDynamicResolution: 0 customRenderingSettings: 0 @@ -1675,6 +2725,7 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 4294967295 hasPersistentHistory: 0 + exposureTarget: {fileID: 0} m_RenderingPathCustomFrameSettings: bitDatas: data1: 68906302766941 @@ -1685,6 +2736,9 @@ MonoBehaviour: maximumLODLevel: 0 maximumLODLevelMode: 0 maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 materialQuality: 0 renderingPathCustomFrameSettingsOverrideMask: mask: @@ -1748,6 +2802,262 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 20.146002, y: 269.444, z: 0.001} +--- !u!1 &1725123084 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1725123085} + - component: {fileID: 1725123086} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1725123085 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725123084} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 775980372} + - {fileID: 464661991} + - {fileID: 1766702560} + m_Father: {fileID: 1574019762} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 49.1235} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1725123086 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725123084} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 775980373} + toggleTransition: 1 + graphic: {fileID: 464661992} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1766702559 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1766702560} + - component: {fileID: 1766702562} + - component: {fileID: 1766702561} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1766702560 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766702559} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1725123085} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 31.1816, y: 3.0323} + m_SizeDelta: {x: -30.0847, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1766702561 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766702559} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!222 &1766702562 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766702559} + m_CullTransparentMesh: 1 +--- !u!1 &1767473857 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1767473858} + - component: {fileID: 1767473861} + - component: {fileID: 1767473860} + - component: {fileID: 1767473859} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1767473858 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1767473857} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1574019762} + m_Father: {fileID: 1090357715} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -18, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1767473859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1767473857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &1767473860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1767473857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1767473861 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1767473857} + m_CullTransparentMesh: 1 --- !u!1 &1847340766 GameObject: m_ObjectHideFlags: 19 @@ -1791,6 +3101,81 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1916037165 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1916037166} + - component: {fileID: 1916037168} + - component: {fileID: 1916037167} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1916037166 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916037165} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1083341248} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1916037167 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916037165} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1916037168 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916037165} + m_CullTransparentMesh: 1 --- !u!1 &1970538489 GameObject: m_ObjectHideFlags: 0 @@ -1837,6 +3222,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2004,6 +3390,7 @@ Light: m_UseColorTemperature: 1 m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!4 &2035111235 @@ -2032,7 +3419,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 10 + m_Version: 11 m_ObsoleteShadowResolutionTier: 1 m_ObsoleteUseShadowQualitySettings: 0 m_ObsoleteCustomShadowResolution: 1024 @@ -2044,10 +3431,12 @@ MonoBehaviour: m_EnableSpotReflector: 0 m_LuxAtDistance: 1 m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 m_LightDimmer: 1 m_VolumetricDimmer: 1 m_LightUnit: 2 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -2062,6 +3451,9 @@ MonoBehaviour: m_ApplyRangeAttenuation: 1 m_DisplayAreaLightEmissiveMesh: 0 m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 @@ -2080,6 +3472,7 @@ MonoBehaviour: m_LightShadowRadius: 0.5 m_SemiTransparentShadow: 0 m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 m_EvsmExponent: 15 m_EvsmLightLeakBias: 0 m_EvsmVarianceBias: 0.00001 @@ -2110,8 +3503,13 @@ MonoBehaviour: m_NormalBias: 0.75 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 m_ShadowCascadeRatios: - 0.005 - 0.015 @@ -2183,6 +3581,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2257,6 +3656,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2281,6 +3681,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &2076773440 MeshFilter: m_ObjectHideFlags: 0 @@ -2355,6 +3756,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: diff --git a/Samples~/Example/RenderPipeline/HDRP/HDRenderPipelineAsset.asset b/Samples~/Example/RenderPipeline/HDRP/HDRenderPipelineAsset.asset index 347994c..4cf6452 100644 --- a/Samples~/Example/RenderPipeline/HDRP/HDRenderPipelineAsset.asset +++ b/Samples~/Example/RenderPipeline/HDRP/HDRenderPipelineAsset.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0cf1dab834d4ec34195b920ea7bbf9ec, type: 3} m_Name: HDRenderPipelineAsset m_EditorClassIdentifier: - m_Version: 14 + m_Version: 18 m_ObsoleteFrameSettings: overrides: 0 enableShadow: 0 @@ -151,50 +151,66 @@ MonoBehaviour: m_RenderPipelineResources: {fileID: 11400000, guid: 3ce144cff5783da45aa5d4fdc2da14b7, type: 2} m_RenderPipelineRayTracingResources: {fileID: 0} - m_DefaultVolumeProfile: {fileID: 11400000, guid: f940a8037e6cda542891dc1aac1fa4e8, + m_DefaultVolumeProfile: {fileID: 11400000, guid: 1be1f5f2810951e4bb59207715c852cf, + type: 2} + m_LensAttenuation: 0 + m_UseRenderGraph: 1 + m_DefaultLookDevProfile: {fileID: 11400000, guid: 226f2835128e88447866567150b86845, type: 2} - m_DefaultLookDevProfile: {fileID: 0} m_RenderingPathDefaultCameraFrameSettings: bitDatas: - data1: 70280688107357 - data2: 4539628425463136256 + data1: 140649432285021 + data2: 4539628425463136280 lodBias: 1 lodBiasMode: 0 lodBiasQualityLevel: 0 maximumLODLevel: 0 maximumLODLevelMode: 0 maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 materialQuality: 0 m_RenderingPathDefaultBakedOrCustomReflectionFrameSettings: bitDatas: - data1: 69340073328413 - data2: 4539628424389459968 + data1: 139708817506077 + data2: 4539628424389459992 lodBias: 1 lodBiasMode: 0 lodBiasQualityLevel: 0 maximumLODLevel: 0 maximumLODLevelMode: 0 maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 materialQuality: 0 m_RenderingPathDefaultRealtimeReflectionFrameSettings: bitDatas: - data1: 69696415080221 - data2: 4539628424389459968 + data1: 140065159257885 + data2: 4539628424389459992 lodBias: 1 lodBiasMode: 0 lodBiasQualityLevel: 0 maximumLODLevel: 0 maximumLODLevelMode: 0 maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 materialQuality: 0 m_RenderPipelineSettings: supportShadowMask: 1 supportSSR: 0 + supportSSRTransparent: 0 supportSSAO: 1 + supportSSGI: 0 supportSubsurfaceScattering: 1 - increaseSssSampleCount: 0 + sssSampleBudget: + m_Values: 140000002800000050000000 + m_SchemaId: + m_Id: With3Levels supportVolumetrics: 1 - increaseResolutionOfVolumetrics: 0 supportLightLayers: 0 lightLayerName0: Light Layer default lightLayerName1: Light Layer 1 @@ -212,25 +228,42 @@ MonoBehaviour: supportCustomPass: 1 customBufferFormat: 12 supportedLitShaderMode: 2 + planarReflectionResolution: + m_Values: 000100000004000000080000 + m_SchemaId: + m_Id: With3Levels supportDecals: 1 + supportDecalLayers: 0 + decalLayerName0: Decal Layer default + decalLayerName1: Decal Layer 1 + decalLayerName2: Decal Layer 2 + decalLayerName3: Decal Layer 3 + decalLayerName4: Decal Layer 4 + decalLayerName5: Decal Layer 5 + decalLayerName6: Decal Layer 6 + decalLayerName7: Decal Layer 7 msaaSampleCount: 1 supportMotionVectors: 1 supportRuntimeDebugDisplay: 1 + supportRuntimeAOVAPI: 0 supportDitheringCrossFade: 1 supportTerrainHole: 0 + supportProbeVolume: 0 supportRayTracing: 0 + supportedRayTracingMode: 3 + probeVolumeSettings: + atlasResolution: 128 + atlasOctahedralDepthResolution: 2048 lightLoopSettings: cookieAtlasSize: 512 cookieFormat: 74 - pointCookieSize: 128 - cubeCookieTexArraySize: 16 cookieAtlasLastValidMip: 0 cookieTexArraySize: 16 planarReflectionAtlasSize: 4096 reflectionProbeCacheSize: 64 reflectionCubemapSize: 256 reflectionCacheCompressed: 0 - planarReflectionCacheCompressed: 0 + reflectionProbeFormat: 74 skyReflectionSize: 256 skyLightingOverrideLayerMask: serializedVersion: 2 @@ -242,6 +275,7 @@ MonoBehaviour: maxEnvLightsOnScreen: 64 maxDecalsOnScreen: 512 maxPlanarReflectionOnScreen: 16 + maxLightsPerClusterCell: 8 hdShadowInitParams: maxShadowRequests: 128 directionalShadowsDepthBits: 32 @@ -254,6 +288,8 @@ MonoBehaviour: shadowAtlasResolution: 4096 shadowAtlasDepthBits: 32 useDynamicViewportRescale: 1 + cachedPunctualLightShadowAtlas: 2048 + cachedAreaLightShadowAtlas: 1024 shadowResolutionDirectional: m_Values: 00010000000200000004000000080000 m_SchemaId: @@ -296,6 +332,7 @@ MonoBehaviour: xrSettings: singlePass: 1 occlusionMesh: 1 + cameraJitter: 0 postProcessQualitySettings: NearBlurSampleCount: 030000000500000008000000 NearBlurMaxRadius: @@ -309,9 +346,11 @@ MonoBehaviour: - 13 DoFResolution: 040000000200000001000000 DoFHighQualityFiltering: 000101 + DoFPhysicallyBased: 000000 MotionBlurSampleCount: 04000000080000000c000000 BloomRes: 040000000200000002000000 BloomHighQualityFiltering: 000101 + BloomHighQualityPrefiltering: 000001 ChromaticAberrationMaxSamples: 03000000060000000c000000 lightSettings: useContactShadow: @@ -337,6 +376,66 @@ MonoBehaviour: AODirectionCount: 010000000200000004000000 ContactShadowSampleCount: 060000000a00000010000000 SSRMaxRaySteps: 100000002000000040000000 + RTAORayLength: + - 0.5 + - 3 + - 20 + RTAOSampleCount: 010000000200000008000000 + RTAODenoise: 010101 + RTAODenoiserRadius: + - 0.25 + - 0.5 + - 0.65 + RTGIRayLength: + - 50 + - 50 + - 50 + RTGIFullResolution: 000001 + RTGIClampValue: + - 0.5 + - 0.8 + - 1.5 + RTGIUpScaleRadius: 040000000400000004000000 + RTGIDenoise: 010101 + RTGIHalfResDenoise: 010000 + RTGIDenoiserRadius: + - 0.75 + - 0.5 + - 0.25 + RTGISecondDenoise: 010101 + RTGISecondDenoiserRadius: + - 0 + - 0 + - 0 + RTRMinSmoothness: + - 0.6 + - 0.4 + - 0 + RTRSmoothnessFadeStart: + - 0.7 + - 0.5 + - 0 + RTRRayLength: + - 50 + - 50 + - 50 + RTRClampValue: + - 0.8 + - 1 + - 1.2 + RTRUpScaleRadius: 040000000400000003000000 + RTRFullResolution: 000001 + RTRDenoise: 010101 + RTRDenoiserRadius: 080000000c00000010000000 + Fog_ControlMode: 000000000000000000000000 + Fog_Budget: + - 0.166 + - 0.33 + - 0.666 + Fog_DepthRatio: + - 0.666 + - 0.666 + - 0.5 allowShaderVariantStripping: 1 enableSRPBatcher: 1 shaderVariantLogLevel: 0 @@ -344,8 +443,14 @@ MonoBehaviour: m_DefaultMaterialQualityLevel: 4 diffusionProfileSettings: {fileID: 0} diffusionProfileSettingsList: - - {fileID: 11400000, guid: 65a0bcb3474ba7e4cbc66255fadee434, type: 2} - - {fileID: 11400000, guid: 912eec16eb8dfb2429ecdcd9fd3bd773, type: 2} + - {fileID: 11400000, guid: ea2db870d6ddb3e4a9dfb32ab088dd93, type: 2} + - {fileID: 11400000, guid: b44005ed530ab5146843cb7184a65550, type: 2} beforeTransparentCustomPostProcesses: [] + beforeTAACustomPostProcesses: [] beforePostProcessCustomPostProcesses: [] afterPostProcessCustomPostProcesses: [] + virtualTexturingSettings: + streamingCpuCacheSizeInMegaBytes: 256 + streamingGpuCacheSettings: + - format: 0 + sizeInMegaBytes: 128 diff --git a/Samples~/Example/RenderPipeline/RenderPipelineSample.cs b/Samples~/Example/RenderPipeline/RenderPipelineSample.cs new file mode 100644 index 0000000..8d9377a --- /dev/null +++ b/Samples~/Example/RenderPipeline/RenderPipelineSample.cs @@ -0,0 +1,31 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace Unity.RenderStreaming.Samples +{ + class RenderPipelineSample : MonoBehaviour + { + [SerializeField] RenderStreaming renderStreaming; + [SerializeField] Dropdown dropdownCamera; + [SerializeField] Transform[] cameras; + [SerializeField] CopyTransform copyTransform; + + // Start is called before the first frame update + void Start() + { + dropdownCamera.onValueChanged.AddListener(OnChangeCamera); + + if (!renderStreaming.runOnAwake) + { + renderStreaming.Run( + hardwareEncoder: RenderStreamingSettings.EnableHWCodec, + signaling: RenderStreamingSettings.Signaling); + } + } + + void OnChangeCamera(int value) + { + copyTransform.SetOrigin(cameras[value]); + } + } +} diff --git a/Samples~/Example/RenderPipeline/RenderPipelineSample.cs.meta b/Samples~/Example/RenderPipeline/RenderPipelineSample.cs.meta new file mode 100644 index 0000000..ffa55ce --- /dev/null +++ b/Samples~/Example/RenderPipeline/RenderPipelineSample.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dabd9aa9b88e3304f9beca84c54d2cda +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Example/RenderPipeline/URP.unity b/Samples~/Example/RenderPipeline/URP.unity index e135770..a81b050 100644 --- a/Samples~/Example/RenderPipeline/URP.unity +++ b/Samples~/Example/RenderPipeline/URP.unity @@ -43,7 +43,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 0 m_GISettings: serializedVersion: 2 @@ -98,7 +98,8 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 4890085278179872738, guid: 04536d9b3adf0e04cbbf2e260ac1e0a8, + type: 2} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -118,6 +119,8 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} @@ -155,6 +158,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: streamingSize: {x: 1280, y: 720} + depth: 16 + antiAliasing: 1 --- !u!114 &83609153 MonoBehaviour: m_ObjectHideFlags: 0 @@ -197,6 +202,7 @@ MonoBehaviour: m_StopNaN: 0 m_Dithering: 0 m_ClearDepth: 1 + m_AllowXRRendering: 1 m_RequiresDepthTexture: 0 m_RequiresColorTexture: 0 m_Version: 2 @@ -277,7 +283,7 @@ Camera: m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 + m_TargetDisplay: 2 m_TargetEye: 3 m_HDR: 1 m_AllowMSAA: 1 @@ -300,6 +306,211 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 20.146002, y: 269.444, z: 0.001} +--- !u!1 &381121855 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 381121856} + - component: {fileID: 381121859} + - component: {fileID: 381121858} + - component: {fileID: 381121857} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &381121856 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 381121855} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2109491554} + m_Father: {fileID: 1723898810} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &381121857 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 381121855} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1892420093} + m_HandleRect: {fileID: 1892420092} + m_Direction: 2 + m_Value: 0 + m_Size: 0.2 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &381121858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 381121855} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &381121859 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 381121855} + m_CullTransparentMesh: 1 +--- !u!1 &538589895 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 538589896} + - component: {fileID: 538589898} + - component: {fileID: 538589897} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &538589896 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 538589895} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1093707679} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 31.1816, y: 3.0323} + m_SizeDelta: {x: -30.0847, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &538589897 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 538589895} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!222 &538589898 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 538589895} + m_CullTransparentMesh: 1 --- !u!1 &642263330 GameObject: m_ObjectHideFlags: 0 @@ -333,6 +544,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -426,6 +638,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -529,6 +742,7 @@ Light: m_UseColorTemperature: 0 m_BoundingSphereOverride: {x: 1.1754944e-38, y: 0, z: 0, w: 6.018715e-36} m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!4 &705507995 @@ -558,6 +772,81 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_UsePipelineSettings: 1 +--- !u!1 &714348652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 714348653} + - component: {fileID: 714348655} + - component: {fileID: 714348654} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &714348653 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 714348652} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1093707679} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 23.1121, y: 2.9821} + m_SizeDelta: {x: 46.2242, y: 46.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &714348654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 714348652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &714348655 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 714348652} + m_CullTransparentMesh: 1 --- !u!1 &725451149 GameObject: m_ObjectHideFlags: 0 @@ -575,7 +864,7 @@ GameObject: - component: {fileID: 725451156} - component: {fileID: 725451157} m_Layer: 0 - m_Name: Render Streaming Camera + m_Name: Render Streaming Camera 1 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -631,6 +920,7 @@ MonoBehaviour: m_StopNaN: 0 m_Dithering: 0 m_ClearDepth: 1 + m_AllowXRRendering: 1 m_RequiresDepthTexture: 0 m_RequiresColorTexture: 0 m_Version: 2 @@ -711,7 +1001,7 @@ Camera: m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 + m_TargetDisplay: 1 m_TargetEye: 3 m_HDR: 1 m_AllowMSAA: 1 @@ -745,6 +1035,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: streamingSize: {x: 1280, y: 720} + depth: 16 + antiAliasing: 1 --- !u!114 &725451157 MonoBehaviour: m_ObjectHideFlags: 0 @@ -858,7 +1150,7 @@ GameObject: - component: {fileID: 790088859} - component: {fileID: 790088858} m_Layer: 5 - m_Name: Canvas 2 + m_Name: Canvas (Render Streaming Camera 2) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -942,6 +1234,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &790088861 Canvas: m_ObjectHideFlags: 0 @@ -977,7 +1270,7 @@ RectTransform: - {fileID: 1599603502} - {fileID: 642263333} m_Father: {fileID: 0} - m_RootOrder: 9 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -1038,6 +1331,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1124,6 +1418,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1197,6 +1492,7 @@ MonoBehaviour: m_StopNaN: 0 m_Dithering: 0 m_ClearDepth: 1 + m_AllowXRRendering: 1 m_RequiresDepthTexture: 0 m_RequiresColorTexture: 0 m_Version: 2 @@ -1209,7 +1505,7 @@ Camera: m_GameObject: {fileID: 963194225} m_Enabled: 1 serializedVersion: 2 - m_ClearFlags: 4 + m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 m_GateFitMode: 2 @@ -1228,10 +1524,10 @@ Camera: field of view: 60 orthographic: 0 orthographic size: 5 - m_Depth: -1 + m_Depth: 0 m_CullingMask: serializedVersion: 2 - m_Bits: 0 + m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} m_TargetDisplay: 0 @@ -1251,7 +1547,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 963194225} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalPosition: {x: 0, y: 1, z: -2.68} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} @@ -1266,11 +1562,11 @@ MonoBehaviour: m_GameObject: {fileID: 963194225} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 88167b61ef2361446aefab18c3c7a843, type: 3} + m_Script: {fileID: 11500000, guid: 042622dd8b5b34449b0d20275a1bf1cc, type: 3} m_Name: m_EditorClassIdentifier: - m_rtCamera: {fileID: 725451154} ---- !u!1 &1080657943 + origin: {fileID: 725451150} +--- !u!1 &971772675 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1278,81 +1574,252 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1080657947} - - component: {fileID: 1080657946} - - component: {fileID: 1080657945} - - component: {fileID: 1080657944} - m_Layer: 0 - m_Name: Sphere + - component: {fileID: 971772676} + - component: {fileID: 971772678} + - component: {fileID: 971772677} + m_Layer: 5 + m_Name: Label m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!135 &1080657944 -SphereCollider: +--- !u!224 &971772676 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1080657943} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.5 - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1080657945 -MeshRenderer: + m_GameObject: {fileID: 971772675} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1638945164} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -7.5, y: -0.5} + m_SizeDelta: {x: -35, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &971772677 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1080657943} + m_GameObject: {fileID: 971772675} m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 95833e6631d7f03489d158ef6606b4dd, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!33 &1080657946 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1080657943} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1080657947 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Camera 1 +--- !u!222 &971772678 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 971772675} + m_CullTransparentMesh: 1 +--- !u!1 &1030228531 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1030228532} + - component: {fileID: 1030228535} + - component: {fileID: 1030228534} + - component: {fileID: 1030228533} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1030228532 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1030228531} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1583681245} + m_Father: {fileID: 1723898810} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -18, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1030228533 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1030228531} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &1030228534 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1030228531} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1030228535 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1030228531} + m_CullTransparentMesh: 1 +--- !u!1 &1080657943 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1080657947} + - component: {fileID: 1080657946} + - component: {fileID: 1080657945} + - component: {fileID: 1080657944} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &1080657944 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080657943} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1080657945 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080657943} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 95833e6631d7f03489d158ef6606b4dd, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1080657946 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080657943} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1080657947 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1080657943} @@ -1363,6 +1830,93 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1093707678 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1093707679} + - component: {fileID: 1093707680} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1093707679 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093707678} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1881713156} + - {fileID: 714348653} + - {fileID: 538589896} + m_Father: {fileID: 1583681245} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 49.1235} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1093707680 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093707678} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1881713157} + toggleTransition: 1 + graphic: {fileID: 714348654} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 --- !u!1 &1215389819 GameObject: m_ObjectHideFlags: 0 @@ -1377,7 +1931,7 @@ GameObject: - component: {fileID: 1215389820} - component: {fileID: 1215389824} m_Layer: 5 - m_Name: Canvas + m_Name: Canvas (Render Streaming Camera 1) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1422,6 +1976,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &1215389822 Canvas: m_ObjectHideFlags: 0 @@ -1457,7 +2012,7 @@ RectTransform: - {fileID: 920982462} - {fileID: 1287993067} m_Father: {fileID: 0} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -1555,6 +2110,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1577,7 +2133,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1287993066} m_CullTransparentMesh: 0 ---- !u!1 &1599603498 +--- !u!1 &1388245326 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1585,59 +2141,322 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1599603502} - - component: {fileID: 1599603501} - - component: {fileID: 1599603500} - - component: {fileID: 1599603499} + - component: {fileID: 1388245331} + - component: {fileID: 1388245330} + - component: {fileID: 1388245329} + - component: {fileID: 1388245328} m_Layer: 5 - m_Name: Image + m_Name: Canvas (Main Camera) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!225 &1599603499 -CanvasGroup: +--- !u!114 &1388245328 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1599603498} + m_GameObject: {fileID: 1388245326} m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 0 - m_BlocksRaycasts: 0 - m_IgnoreParentGroups: 0 ---- !u!114 &1599603500 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1388245329 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1599603498} + m_GameObject: {fileID: 1388245326} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1599603501 + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1280, y: 720} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1388245330 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1388245326} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 963194227} + m_PlaneDistance: 1 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1388245331 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1388245326} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1428748534} + - {fileID: 1638945164} + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1001 &1428748533 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1388245331} + m_Modifications: + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838175, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Name + value: BackButtonManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7aa5bec5b1e406445af144843fe4d62c, type: 3} +--- !u!224 &1428748534 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + m_PrefabInstance: {fileID: 1428748533} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1583681244 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1583681245} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1583681245 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1583681244} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1093707679} + m_Father: {fileID: 1030228532} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 44.5535} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1599603498 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1599603502} + - component: {fileID: 1599603501} + - component: {fileID: 1599603500} + - component: {fileID: 1599603499} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!225 &1599603499 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599603498} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!114 &1599603500 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599603498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1599603501 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1665,6 +2484,81 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 100} m_SizeDelta: {x: -200, y: 100} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1621739405 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1621739406} + - component: {fileID: 1621739408} + - component: {fileID: 1621739407} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1621739406 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1621739405} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1638945164} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -28.033, y: -0.2625} + m_SizeDelta: {x: 46.066, y: 46.0655} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1621739407 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1621739405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1621739408 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1621739405} + m_CullTransparentMesh: 1 --- !u!1 &1623734773 GameObject: m_ObjectHideFlags: 0 @@ -1676,6 +2570,7 @@ GameObject: - component: {fileID: 1623734775} - component: {fileID: 1623734774} - component: {fileID: 1623734776} + - component: {fileID: 1623734777} m_Layer: 0 m_Name: RenderStreaming m_TagString: Untagged @@ -1707,7 +2602,7 @@ MonoBehaviour: hardwareEncoderSupport: 0 handlers: - {fileID: 1623734776} - runOnAwake: 1 + runOnAwake: 0 --- !u!4 &1623734775 Transform: m_ObjectHideFlags: 0 @@ -1740,6 +2635,454 @@ MonoBehaviour: - {fileID: 725451157} - {fileID: 83609152} - {fileID: 83609153} +--- !u!114 &1623734777 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623734773} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dabd9aa9b88e3304f9beca84c54d2cda, type: 3} + m_Name: + m_EditorClassIdentifier: + renderStreaming: {fileID: 1623734774} + dropdownCamera: {fileID: 1638945165} + cameras: + - {fileID: 725451150} + - {fileID: 83609158} + copyTransform: {fileID: 963194229} +--- !u!1 &1638945163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1638945164} + - component: {fileID: 1638945167} + - component: {fileID: 1638945166} + - component: {fileID: 1638945165} + m_Layer: 5 + m_Name: Dropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1638945164 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1638945163} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 971772676} + - {fileID: 1621739406} + - {fileID: 1723898810} + m_Father: {fileID: 1388245331} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 150, y: -50} + m_SizeDelta: {x: 223.312, y: 57.2242} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1638945165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1638945163} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1638945166} + m_Template: {fileID: 1723898810} + m_CaptionText: {fileID: 971772677} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 538589897} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: + - m_Text: Camera 1 + m_Image: {fileID: 0} + - m_Text: Camera 2 + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_AlphaFadeSpeed: 0.15 +--- !u!114 &1638945166 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1638945163} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1638945167 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1638945163} + m_CullTransparentMesh: 1 +--- !u!1 &1723898809 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1723898810} + - component: {fileID: 1723898813} + - component: {fileID: 1723898812} + - component: {fileID: 1723898811} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1723898810 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723898809} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1030228532} + - {fileID: 381121856} + m_Father: {fileID: 1638945164} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1723898811 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723898809} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1583681245} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1030228532} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 381121857} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1723898812 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723898809} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1723898813 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723898809} + m_CullTransparentMesh: 1 +--- !u!1 &1881713155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1881713156} + - component: {fileID: 1881713158} + - component: {fileID: 1881713157} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1881713156 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1881713155} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1093707679} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1881713157 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1881713155} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1881713158 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1881713155} + m_CullTransparentMesh: 1 +--- !u!1 &1892420091 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1892420092} + - component: {fileID: 1892420094} + - component: {fileID: 1892420093} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1892420092 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1892420091} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2109491554} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1892420093 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1892420091} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1892420094 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1892420091} + m_CullTransparentMesh: 1 +--- !u!1 &2109491553 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2109491554} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2109491554 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2109491553} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1892420092} + m_Father: {fileID: 381121856} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &2130134330 GameObject: m_ObjectHideFlags: 0 @@ -1788,6 +3131,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1812,6 +3156,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &2130134333 MeshFilter: m_ObjectHideFlags: 0 diff --git a/Samples~/Example/Scripts.meta b/Samples~/Example/Scripts.meta new file mode 100644 index 0000000..9b4d79e --- /dev/null +++ b/Samples~/Example/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 969594526916b2c469cdf8695fb8e5e8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Example/Scripts/BackButton.cs b/Samples~/Example/Scripts/BackButton.cs new file mode 100644 index 0000000..71a8d75 --- /dev/null +++ b/Samples~/Example/Scripts/BackButton.cs @@ -0,0 +1,41 @@ +using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEngine.InputSystem; + +namespace Unity.RenderStreaming.Samples +{ + internal class BackButton : MonoBehaviour + { + [SerializeField] + GameObject m_BackButton; + public GameObject backButton + { + get => m_BackButton; + set => m_BackButton = value; + } + + void Start() + { + if (Application.CanStreamedLevelBeLoaded("Menu")) + { + m_BackButton.SetActive(true); + } + } + + void Update() + { + if (Keyboard.current != null && Keyboard.current[Key.Escape].wasPressedThisFrame) + { + BackButtonPressed(); + } + } + + public void BackButtonPressed() + { + if (Application.CanStreamedLevelBeLoaded("Menu")) + { + SceneManager.LoadScene("Menu", LoadSceneMode.Single); + } + } + } +} diff --git a/Samples~/Example/Scripts/BackButton.cs.meta b/Samples~/Example/Scripts/BackButton.cs.meta new file mode 100644 index 0000000..d819dbd --- /dev/null +++ b/Samples~/Example/Scripts/BackButton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fdb45a16251639a4db94706f0e117a8a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Example/Scripts/CopyTransform.cs b/Samples~/Example/Scripts/CopyTransform.cs new file mode 100644 index 0000000..fd0c04e --- /dev/null +++ b/Samples~/Example/Scripts/CopyTransform.cs @@ -0,0 +1,17 @@ +using UnityEngine; + +class CopyTransform : MonoBehaviour +{ + [SerializeField] private Transform origin; + + void Update() + { + transform.position = origin.position; + transform.rotation = origin.rotation; + } + + public void SetOrigin(Transform value) + { + origin = value; + } +} diff --git a/Samples~/Example/Scripts/CopyTransform.cs.meta b/Samples~/Example/Scripts/CopyTransform.cs.meta new file mode 100644 index 0000000..a1d7dce --- /dev/null +++ b/Samples~/Example/Scripts/CopyTransform.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 042622dd8b5b34449b0d20275a1bf1cc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Example/Scripts/SceneSelectUI.cs b/Samples~/Example/Scripts/SceneSelectUI.cs new file mode 100644 index 0000000..b2277e1 --- /dev/null +++ b/Samples~/Example/Scripts/SceneSelectUI.cs @@ -0,0 +1,238 @@ +using System; +using System.Collections; +using System.Globalization; +using System.Threading; +using Unity.RenderStreaming.Signaling; +using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEngine.UI; +using Gyroscope = UnityEngine.InputSystem.Gyroscope; + +#if URS_USE_AR_FOUNDATION +using UnityEngine.XR.ARFoundation; +#endif + +namespace Unity.RenderStreaming.Samples +{ + internal enum SignalingType + { + WebSocket, + Http, + Furioos + } + + internal static class RenderStreamingSettings + { + private static bool s_enableHWCodec = false; + private static SignalingType s_signalingType = SignalingType.WebSocket; + private static string s_signalingAddress = "localhost"; + private static float s_signalingInterval = 5; + private static bool s_signalingSecured = false; + + public static bool EnableHWCodec + { + get { return s_enableHWCodec; } + set { s_enableHWCodec = value; } + } + + public static SignalingType SignalingType + { + get { return s_signalingType; } + set { s_signalingType = value; } + } + + public static string SignalingAddress + { + get { return s_signalingAddress; } + set { s_signalingAddress = value; } + } + + public static bool SignalingSecured + { + get { return s_signalingSecured; } + set { s_signalingSecured = value; } + } + + public static float SignalingInterval + { + get { return s_signalingInterval; } + set { s_signalingInterval = value; } + } + + public static ISignaling Signaling + { + get + { + switch (s_signalingType) + { + case SignalingType.Furioos: + { + var schema = s_signalingSecured ? "https" : "http"; + return new FurioosSignaling( + $"{schema}://{s_signalingAddress}", s_signalingInterval, SynchronizationContext.Current); + } + case SignalingType.WebSocket: + { + var schema = s_signalingSecured ? "wss" : "ws"; + return new WebSocketSignaling( + $"{schema}://{s_signalingAddress}", s_signalingInterval, SynchronizationContext.Current); + } + case SignalingType.Http: + { + var schema = s_signalingSecured ? "https" : "http"; + return new HttpSignaling( + $"{schema}://{s_signalingAddress}", s_signalingInterval, SynchronizationContext.Current); + } + } + throw new InvalidOperationException(); + } + } + } + + internal class SceneSelectUI : MonoBehaviour + { + [SerializeField] private Toggle toggleEnableHWCodec; + [SerializeField] private Dropdown dropdownSignalingType; + [SerializeField] private InputField inputFieldSignalingAddress; + [SerializeField] private Toggle toggleSignalingSecured; + [SerializeField] private InputField inputFieldSignalingInterval; + + [SerializeField] private Button buttonBidirectional; + [SerializeField] private Button buttonBroadcast; + [SerializeField] private Button buttonGyro; + [SerializeField] private Button buttonRenderPipeline; + [SerializeField] private Button buttonReceiver; + [SerializeField] private Button buttonWebBrowserInput; + [SerializeField] private Button buttonAR; + + void Start() + { + toggleEnableHWCodec.isOn = RenderStreamingSettings.EnableHWCodec; + dropdownSignalingType.value = (int)RenderStreamingSettings.SignalingType; + inputFieldSignalingAddress.text = RenderStreamingSettings.SignalingAddress; + toggleSignalingSecured.isOn = RenderStreamingSettings.SignalingSecured; + inputFieldSignalingInterval.text = RenderStreamingSettings.SignalingInterval.ToString(CultureInfo.InvariantCulture); + + toggleEnableHWCodec.onValueChanged.AddListener(OnChangeHWCodec); + dropdownSignalingType.onValueChanged.AddListener(OnChangeSignalingType); + inputFieldSignalingAddress.onValueChanged.AddListener(OnChangeSignalingAddress); + toggleSignalingSecured.onValueChanged.AddListener(OnChangeSignalingSecured); + inputFieldSignalingInterval.onValueChanged.AddListener(OnChangeSignalingInterval); + + buttonBidirectional.onClick.AddListener(OnPressedBidirectional); + buttonBroadcast.onClick.AddListener(OnPressedBroadcast); + buttonGyro.onClick.AddListener(OnPressedGyro); + buttonRenderPipeline.onClick.AddListener(OnPressedRenderPipeline); + buttonReceiver.onClick.AddListener(OnPressedReceiver); + buttonWebBrowserInput.onClick.AddListener(OnPressedWebBrowserInput); + buttonAR.onClick.AddListener(OnPressedAR); + +#if UNITY_EDITOR + buttonGyro.interactable = false; +#else + // Gyro input is not supported on this device. + if (Gyroscope.current == null) + { + buttonGyro.interactable = false; + } +#endif + + +#if !URS_USE_URP_RUNTIME && !URS_USE_HDRP_RUNTIME + buttonRenderPipeline.interactable = false; +#endif + +#if URS_USE_AR_FOUNDATION + StartCoroutine(CheckARAvailability(available => { buttonAR.interactable = available; })); +#else + buttonAR.interactable = false; +#endif + } + + +#if URS_USE_AR_FOUNDATION + IEnumerator CheckARAvailability(Action callback) + { + if ((ARSession.state == ARSessionState.None) || + (ARSession.state == ARSessionState.CheckingAvailability)) + { + yield return ARSession.CheckAvailability(); + } + + callback?.Invoke(ARSession.state == ARSessionState.Ready); + } +#endif + + private void OnChangeHWCodec(bool enable) + { + RenderStreamingSettings.EnableHWCodec = enable; + } + + private void OnChangeSignalingType(int value) + { + RenderStreamingSettings.SignalingType = + (SignalingType)Enum.GetValues(typeof(SignalingType)).GetValue(value); + } + + private void OnChangeSignalingAddress(string value) + { + RenderStreamingSettings.SignalingAddress = value; + } + + private void OnChangeSignalingSecured(bool value) + { + RenderStreamingSettings.SignalingSecured = value; + } + + private void OnChangeSignalingInterval(string value) + { + if (float.TryParse(value, out float _value)) + { + RenderStreamingSettings.SignalingInterval = _value; + } + else + { + RenderStreamingSettings.SignalingInterval = 5; + } + } + + private void OnPressedBidirectional() + { + SceneManager.LoadScene("Bidirectional", LoadSceneMode.Single); + } + private void OnPressedBroadcast() + { + SceneManager.LoadScene("Broadcast", LoadSceneMode.Single); + } + private void OnPressedGyro() + { + SceneManager.LoadScene("Gyro", LoadSceneMode.Single); + } + private void OnPressedRenderPipeline() + { +#if URS_USE_URP_RUNTIME + SceneManager.LoadScene("URP", LoadSceneMode.Single); +#elif URS_USE_HDRP_RUNTIME + SceneManager.LoadScene("HDRP", LoadSceneMode.Single); +#else + throw new InvalidOperationException("HDRP or URP package is not found in this project."); +#endif + } + private void OnPressedReceiver() + { + SceneManager.LoadScene("Receiver", LoadSceneMode.Single); + } + private void OnPressedWebBrowserInput() + { + SceneManager.LoadScene("WebBrowserInput", LoadSceneMode.Single); + } + private void OnPressedAR() + { +#if UNITY_2020_1_OR_NEWER + SceneManager.LoadScene("ARFoundation4.0", LoadSceneMode.Single); +#else + SceneManager.LoadScene("ARFoundation2.1", LoadSceneMode.Single); +#endif + } + } +} diff --git a/Samples~/Example/Scripts/SceneSelectUI.cs.meta b/Samples~/Example/Scripts/SceneSelectUI.cs.meta new file mode 100644 index 0000000..00c67c7 --- /dev/null +++ b/Samples~/Example/Scripts/SceneSelectUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8d6df25b96db2814daa5608049a81529 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Example/ARFoundation/Unity.RenderStreaming.ARFoundationSample.asmdef b/Samples~/Example/Unity.RenderStreaming.Samples.asmdef similarity index 52% rename from Samples~/Example/ARFoundation/Unity.RenderStreaming.ARFoundationSample.asmdef rename to Samples~/Example/Unity.RenderStreaming.Samples.asmdef index 37241b9..ec71f80 100644 --- a/Samples~/Example/ARFoundation/Unity.RenderStreaming.ARFoundationSample.asmdef +++ b/Samples~/Example/Unity.RenderStreaming.Samples.asmdef @@ -1,9 +1,11 @@ { - "name": "Unity.RenderStreaming.ARFoundationSample", + "name": "Unity.RenderStreaming.Sample", + "rootNamespace": "", "references": [ "Unity.InputSystem", "Unity.RenderStreaming.Runtime", - "Unity.XR.ARFoundation" + "Unity.XR.ARFoundation", + "Unity.WebRTC" ], "includePlatforms": [], "excludePlatforms": [], @@ -17,7 +19,17 @@ "name": "com.unity.xr.arfoundation", "expression": "1.0.0", "define": "URS_USE_AR_FOUNDATION" - } + }, + { + "name": "com.unity.render-pipelines.universal", + "expression": "", + "define": "URS_USE_URP_RUNTIME" + }, + { + "name": "com.unity.render-pipelines.high-definition", + "expression": "", + "define": "URS_USE_HDRP_RUNTIME" + } ], "noEngineReferences": false } \ No newline at end of file diff --git a/Samples~/Example/ARFoundation/Unity.RenderStreaming.ARFoundationSample.asmdef.meta b/Samples~/Example/Unity.RenderStreaming.Samples.asmdef.meta similarity index 100% rename from Samples~/Example/ARFoundation/Unity.RenderStreaming.ARFoundationSample.asmdef.meta rename to Samples~/Example/Unity.RenderStreaming.Samples.asmdef.meta diff --git a/Samples~/Example/WebBrowserInput/WebBrowserInput.unity b/Samples~/Example/WebBrowserInput/WebBrowserInput.unity index 3ce6763..42d3913 100644 --- a/Samples~/Example/WebBrowserInput/WebBrowserInput.unity +++ b/Samples~/Example/WebBrowserInput/WebBrowserInput.unity @@ -38,12 +38,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 0 m_GISettings: serializedVersion: 2 @@ -98,7 +98,7 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 2101387566} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -118,9 +118,86 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &464661990 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 464661991} + - component: {fileID: 464661993} + - component: {fileID: 464661992} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &464661991 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 464661990} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1725123085} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 23.1121, y: 2.9821} + m_SizeDelta: {x: 46.2242, y: 46.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &464661992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 464661990} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &464661993 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 464661990} + m_CullTransparentMesh: 1 --- !u!1 &683131289 GameObject: m_ObjectHideFlags: 0 @@ -246,7 +323,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &705507993 GameObject: @@ -324,6 +401,7 @@ Light: m_UseColorTemperature: 0 m_BoundingSphereOverride: {x: 1.1754944e-38, y: 0, z: 0, w: 6.018715e-36} m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!4 &705507995 @@ -373,6 +451,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -430,7 +509,7 @@ GameObject: - component: {fileID: 725451156} - component: {fileID: 725451152} m_Layer: 0 - m_Name: Render Streaming Camera + m_Name: Render Streaming Camera 1 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -478,6 +557,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 705507993} + m_TargetAssemblyTypeName: m_MethodName: SetActive m_Mode: 6 m_Arguments: @@ -493,6 +573,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 705507993} + m_TargetAssemblyTypeName: m_MethodName: SetActive m_Mode: 6 m_Arguments: @@ -508,6 +589,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 683131290} + m_TargetAssemblyTypeName: m_MethodName: Play m_Mode: 1 m_Arguments: @@ -595,7 +677,7 @@ Camera: m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 + m_TargetDisplay: 1 m_TargetEye: 3 m_HDR: 1 m_AllowMSAA: 1 @@ -629,6 +711,83 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: streamingSize: {x: 1280, y: 720} + depth: 16 + antiAliasing: 1 +--- !u!1 &775980371 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 775980372} + - component: {fileID: 775980374} + - component: {fileID: 775980373} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &775980372 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775980371} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1725123085} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &775980373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775980371} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &775980374 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775980371} + m_CullTransparentMesh: 1 --- !u!1 &783215601 GameObject: m_ObjectHideFlags: 0 @@ -714,6 +873,85 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &911749851 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 911749852} + - component: {fileID: 911749854} + - component: {fileID: 911749853} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &911749852 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911749851} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1158655605} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -7.5, y: -0.5} + m_SizeDelta: {x: -35, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &911749853 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911749851} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Camera 1 +--- !u!222 &911749854 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911749851} + m_CullTransparentMesh: 1 --- !u!1 &920982461 GameObject: m_ObjectHideFlags: 0 @@ -768,6 +1006,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -829,10 +1068,10 @@ MonoBehaviour: m_GameObject: {fileID: 963194225} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 88167b61ef2361446aefab18c3c7a843, type: 3} + m_Script: {fileID: 11500000, guid: 042622dd8b5b34449b0d20275a1bf1cc, type: 3} m_Name: m_EditorClassIdentifier: - m_rtCamera: {fileID: 725451154} + origin: {fileID: 725451150} --- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 @@ -842,7 +1081,7 @@ Camera: m_GameObject: {fileID: 963194225} m_Enabled: 1 serializedVersion: 2 - m_ClearFlags: 4 + m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 m_GateFitMode: 2 @@ -864,7 +1103,7 @@ Camera: m_Depth: -1 m_CullingMask: serializedVersion: 2 - m_Bits: 0 + m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} m_TargetDisplay: 0 @@ -883,13 +1122,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 963194225} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalRotation: {x: -0.02296006, y: 0.9760592, z: -0.17338917, w: -0.12929617} + m_LocalPosition: {x: 2.454, y: 1.436, z: 2.861} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 20.146, y: 195.092, z: 0.001} --- !u!1 &1048105216 GameObject: m_ObjectHideFlags: 0 @@ -938,6 +1177,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -962,6 +1202,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1048105219 MeshFilter: m_ObjectHideFlags: 0 @@ -1031,6 +1272,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1055,6 +1297,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1080657946 MeshFilter: m_ObjectHideFlags: 0 @@ -1077,7 +1320,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1112556112 +--- !u!1 &1083341247 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1085,68 +1328,290 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1112556119} - - component: {fileID: 1112556118} - - component: {fileID: 1112556117} - - component: {fileID: 1112556114} - - component: {fileID: 1112556113} - m_Layer: 0 - m_Name: Render Streaming Camera (1) + - component: {fileID: 1083341248} + m_Layer: 5 + m_Name: Sliding Area m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1112556113 +--- !u!224 &1083341248 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1083341247} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1916037166} + m_Father: {fileID: 1361869887} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1090357714 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1090357715} + - component: {fileID: 1090357718} + - component: {fileID: 1090357717} + - component: {fileID: 1090357716} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1090357715 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090357714} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1767473858} + - {fileID: 1361869887} + m_Father: {fileID: 1158655605} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1090357716 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1112556112} + m_GameObject: {fileID: 1090357714} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5bf104a15f68aae49b67b198ea88131e, type: 3} + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} m_Name: m_EditorClassIdentifier: - local: 0 - label: - arrayButtonClickEvent: - - elementId: 1 - click: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 705507993} - m_MethodName: SetActive - m_Mode: 6 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 1 - m_CallState: 2 - - elementId: 2 - click: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 705507993} - m_MethodName: SetActive - m_Mode: 6 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 + m_Content: {fileID: 1574019762} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1767473858} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 1361869888} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1090357717 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090357714} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1090357718 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090357714} + m_CullTransparentMesh: 1 +--- !u!1 &1096783346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1096783347} + - component: {fileID: 1096783349} + - component: {fileID: 1096783348} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1096783347 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096783346} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1158655605} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -28.033, y: -0.2625} + m_SizeDelta: {x: 46.066, y: 46.0655} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1096783348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096783346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1096783349 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096783346} + m_CullTransparentMesh: 1 +--- !u!1 &1112556112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1112556119} + - component: {fileID: 1112556118} + - component: {fileID: 1112556117} + - component: {fileID: 1112556114} + - component: {fileID: 1112556113} + m_Layer: 0 + m_Name: Render Streaming Camera 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1112556113 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112556112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5bf104a15f68aae49b67b198ea88131e, type: 3} + m_Name: + m_EditorClassIdentifier: + local: 0 + label: + arrayButtonClickEvent: + - elementId: 1 + click: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 705507993} + m_TargetAssemblyTypeName: + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + - elementId: 2 + click: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 705507993} + m_TargetAssemblyTypeName: + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 m_CallState: 2 - elementId: 3 click: m_PersistentCalls: m_Calls: - m_Target: {fileID: 683131290} + m_TargetAssemblyTypeName: m_MethodName: Play m_Mode: 1 m_Arguments: @@ -1170,6 +1635,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: streamingSize: {x: 1280, y: 720} + depth: 16 + antiAliasing: 1 --- !u!114 &1112556117 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1247,7 +1714,7 @@ Camera: m_Bits: 4294967295 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 + m_TargetDisplay: 2 m_TargetEye: 3 m_HDR: 1 m_AllowMSAA: 1 @@ -1322,6 +1789,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0, g: 0, b: 0, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1348,6 +1816,142 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1127658835} m_CullTransparentMesh: 0 +--- !u!1 &1158655604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1158655605} + - component: {fileID: 1158655608} + - component: {fileID: 1158655607} + - component: {fileID: 1158655606} + m_Layer: 5 + m_Name: Dropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1158655605 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158655604} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 911749852} + - {fileID: 1096783347} + - {fileID: 1090357715} + m_Father: {fileID: 1362474103} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 150, y: -50} + m_SizeDelta: {x: 223.312, y: 57.2242} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1158655606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158655604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1158655607} + m_Template: {fileID: 1090357715} + m_CaptionText: {fileID: 911749853} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 1766702561} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: + - m_Text: Camera 1 + m_Image: {fileID: 0} + - m_Text: Camera 2 + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_AlphaFadeSpeed: 0.15 +--- !u!114 &1158655607 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158655604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1158655608 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158655604} + m_CullTransparentMesh: 1 --- !u!1 &1187697324 GameObject: m_ObjectHideFlags: 0 @@ -1408,6 +2012,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0, g: 0, b: 0, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1440,7 +2045,7 @@ GameObject: - component: {fileID: 1215389820} - component: {fileID: 1215389824} m_Layer: 5 - m_Name: Canvas + m_Name: Canvas (Render Streaming Camera 1) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1485,6 +2090,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &1215389822 Canvas: m_ObjectHideFlags: 0 @@ -1520,7 +2126,7 @@ RectTransform: - {fileID: 920982462} - {fileID: 1287993067} m_Father: {fileID: 0} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -1580,7 +2186,7 @@ GameObject: - component: {fileID: 1263705290} - component: {fileID: 1263705289} m_Layer: 5 - m_Name: Canvas (1) + m_Name: Canvas (Render Streaming Camera 2) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1664,6 +2270,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &1263705292 Canvas: m_ObjectHideFlags: 0 @@ -1699,7 +2306,7 @@ RectTransform: - {fileID: 1781893192} - {fileID: 710664490} m_Father: {fileID: 0} - m_RootOrder: 9 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -1758,6 +2365,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1780,7 +2388,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1287993066} m_CullTransparentMesh: 0 ---- !u!1 &1623734773 +--- !u!1 &1361869886 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1788,41 +2396,430 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1623734775} - - component: {fileID: 1623734776} - - component: {fileID: 1623734774} - m_Layer: 0 - m_Name: RenderStreaming + - component: {fileID: 1361869887} + - component: {fileID: 1361869890} + - component: {fileID: 1361869889} + - component: {fileID: 1361869888} + m_Layer: 5 + m_Name: Scrollbar m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1623734774 +--- !u!224 &1361869887 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1361869886} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1083341248} + m_Father: {fileID: 1090357715} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1361869888 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1623734773} + m_GameObject: {fileID: 1361869886} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c2307e7ad91222841b562bebd81a69a0, type: 3} + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} m_Name: m_EditorClassIdentifier: - streams: - - {fileID: 725451155} - - {fileID: 725451156} - - {fileID: 725451152} - - {fileID: 1112556114} - - {fileID: 1112556113} ---- !u!4 &1623734775 -Transform: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1916037167} + m_HandleRect: {fileID: 1916037166} + m_Direction: 2 + m_Value: 0 + m_Size: 0.2 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1361869889 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1623734773} + m_GameObject: {fileID: 1361869886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1361869890 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1361869886} + m_CullTransparentMesh: 1 +--- !u!1 &1362474098 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1362474103} + - component: {fileID: 1362474102} + - component: {fileID: 1362474101} + - component: {fileID: 1362474100} + m_Layer: 5 + m_Name: Canvas (Main Camera) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1362474100 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362474098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1362474101 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362474098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1280, y: 720} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1362474102 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362474098} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 963194227} + m_PlaneDistance: 1 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1362474103 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362474098} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1451208111} + - {fileID: 1158655605} + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1001 &1451208110 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1362474103} + m_Modifications: + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4037113455314838175, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + propertyPath: m_Name + value: BackButtonManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7aa5bec5b1e406445af144843fe4d62c, type: 3} +--- !u!224 &1451208111 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4037113455314838168, guid: 7aa5bec5b1e406445af144843fe4d62c, + type: 3} + m_PrefabInstance: {fileID: 1451208110} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1574019761 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1574019762} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1574019762 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1574019761} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1725123085} + m_Father: {fileID: 1767473858} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 44.5535} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1623734773 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1623734775} + - component: {fileID: 1623734776} + - component: {fileID: 1623734774} + - component: {fileID: 1623734777} + m_Layer: 0 + m_Name: RenderStreaming + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1623734774 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623734773} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2307e7ad91222841b562bebd81a69a0, type: 3} + m_Name: + m_EditorClassIdentifier: + streams: + - {fileID: 725451155} + - {fileID: 725451156} + - {fileID: 725451152} + - {fileID: 1112556114} + - {fileID: 1112556113} +--- !u!4 &1623734775 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623734773} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} @@ -1842,7 +2839,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 045786cf504bd7347842d6948241cbd0, type: 3} m_Name: m_EditorClassIdentifier: - urlSignaling: ws://localhost + urlSignaling: ws://192.168.11.11 signalingType: Unity.RenderStreaming.Signaling.WebSocketSignaling iceServers: - credential: @@ -1854,7 +2851,281 @@ MonoBehaviour: hardwareEncoderSupport: 0 handlers: - {fileID: 1623734774} - runOnAwake: 1 + runOnAwake: 0 +--- !u!114 &1623734777 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623734773} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48404be219cb34e4fb0c9d344475820a, type: 3} + m_Name: + m_EditorClassIdentifier: + renderStreaming: {fileID: 1623734776} + dropdownCamera: {fileID: 1158655606} + cameras: + - {fileID: 725451150} + - {fileID: 1112556119} + copyTransform: {fileID: 963194226} +--- !u!1 &1725123084 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1725123085} + - component: {fileID: 1725123086} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1725123085 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725123084} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 775980372} + - {fileID: 464661991} + - {fileID: 1766702560} + m_Father: {fileID: 1574019762} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 49.1235} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1725123086 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725123084} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 775980373} + toggleTransition: 1 + graphic: {fileID: 464661992} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1766702559 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1766702560} + - component: {fileID: 1766702562} + - component: {fileID: 1766702561} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1766702560 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766702559} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1725123085} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 31.1816, y: 3.0323} + m_SizeDelta: {x: -30.0847, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1766702561 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766702559} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!222 &1766702562 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766702559} + m_CullTransparentMesh: 1 +--- !u!1 &1767473857 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1767473858} + - component: {fileID: 1767473861} + - component: {fileID: 1767473860} + - component: {fileID: 1767473859} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1767473858 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1767473857} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1574019762} + m_Father: {fileID: 1090357715} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -18, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1767473859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1767473857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &1767473860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1767473857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1767473861 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1767473857} + m_CullTransparentMesh: 1 --- !u!1 &1781893188 GameObject: m_ObjectHideFlags: 0 @@ -1901,6 +3172,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1943,3 +3215,139 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 100} m_SizeDelta: {x: -200, y: 100} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1916037165 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1916037166} + - component: {fileID: 1916037168} + - component: {fileID: 1916037167} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1916037166 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916037165} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1083341248} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1916037167 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916037165} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1916037168 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916037165} + m_CullTransparentMesh: 1 +--- !u!850595691 &2101387566 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 3 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_TextureCompression: 1 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 diff --git a/Samples~/Example/WebBrowserInput/WebBrowserInputSample.cs b/Samples~/Example/WebBrowserInput/WebBrowserInputSample.cs new file mode 100644 index 0000000..67f40ce --- /dev/null +++ b/Samples~/Example/WebBrowserInput/WebBrowserInputSample.cs @@ -0,0 +1,31 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace Unity.RenderStreaming.Samples +{ + class WebBrowserInputSample : MonoBehaviour + { + [SerializeField] RenderStreaming renderStreaming; + [SerializeField] Dropdown dropdownCamera; + [SerializeField] Transform[] cameras; + [SerializeField] CopyTransform copyTransform; + + // Start is called before the first frame update + void Start() + { + dropdownCamera.onValueChanged.AddListener(OnChangeCamera); + + if (!renderStreaming.runOnAwake) + { + renderStreaming.Run( + hardwareEncoder: RenderStreamingSettings.EnableHWCodec, + signaling: RenderStreamingSettings.Signaling); + } + } + + void OnChangeCamera(int value) + { + copyTransform.SetOrigin(cameras[value]); + } + } +} diff --git a/Samples~/Example/WebBrowserInput/WebBrowserInputSample.cs.meta b/Samples~/Example/WebBrowserInput/WebBrowserInputSample.cs.meta new file mode 100644 index 0000000..99be2af --- /dev/null +++ b/Samples~/Example/WebBrowserInput/WebBrowserInputSample.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 48404be219cb34e4fb0c9d344475820a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/Runtime/InputRemotingTest.cs b/Tests/Runtime/InputRemotingTest.cs index 9a8e1d1..3552989 100644 --- a/Tests/Runtime/InputRemotingTest.cs +++ b/Tests/Runtime/InputRemotingTest.cs @@ -21,7 +21,7 @@ public void Serialize() type = InputRemoting.MessageType.NewEvents, data = new byte[] {1, 2, 3, 4, 5}, }; - + var bytes = MessageSerializer.Serialize(ref message1); Assert.That(bytes, Is.Not.Null); @@ -98,7 +98,8 @@ private RenderStreamingDependencies CreateDependencies() iceServers = new[] { new RTCIceServer { urls = new[] { "stun:stun.l.google.com:19302" } } }, }, encoderType = EncoderType.Software, - startCoroutine = _test.component.StartCoroutine + startCoroutine = _test.component.StartCoroutine, + resentOfferInterval = 1.0f, }; } @@ -122,7 +123,7 @@ public IEnumerator UnitySetUp() bool isCreatedConnection1 = false; bool isCreatedConnection2 = false; _target1.onCreatedConnection += _ => { isCreatedConnection1 = true; }; - _target2.onFoundConnection += _ => { isCreatedConnection2 = true; }; + _target2.onCreatedConnection += _ => { isCreatedConnection2 = true; }; // _target1 is Receiver in private mode _target1.CreateConnection(connectionId); @@ -138,7 +139,7 @@ public IEnumerator UnitySetUp() // send offer automatically after creating channel _channel2 = _target2.CreateChannel(connectionId, "_test"); - // send offer manually + // send offer manually _target2.SendOffer(connectionId); yield return new WaitUntil(() => _target1.IsConnected(connectionId)); diff --git a/Tests/Runtime/PrivateSignalingTest.cs b/Tests/Runtime/PrivateSignalingTest.cs index ab3ba63..4091866 100644 --- a/Tests/Runtime/PrivateSignalingTest.cs +++ b/Tests/Runtime/PrivateSignalingTest.cs @@ -113,9 +113,9 @@ public void OneTimeTearDown() return; } - m_ServerProcess.Kill(); - m_ServerProcess.WaitForExit(); - m_ServerProcess.Dispose(); + m_ServerProcess?.Kill(); + m_ServerProcess?.WaitForExit(); + m_ServerProcess?.Dispose(); m_ServerProcess = null; } @@ -155,8 +155,7 @@ public IEnumerator UnitySetUp() MediaStream stream = WebRTC.Audio.CaptureStream(); peer1.AddTrack(stream.GetTracks().First()); - RTCOfferOptions offerOptions = new RTCOfferOptions(); - var op1 = peer1.CreateOffer(ref offerOptions); + var op1 = peer1.CreateOffer(); yield return op1; m_DescOffer = op1.Desc; var op2 = peer1.SetLocalDescription(ref m_DescOffer); @@ -164,8 +163,7 @@ public IEnumerator UnitySetUp() var op3 = peer2.SetRemoteDescription(ref m_DescOffer); yield return op3; - RTCAnswerOptions answerOptions = new RTCAnswerOptions(); - var op4 = peer2.CreateAnswer(ref answerOptions); + var op4 = peer2.CreateAnswer(); yield return op4; m_DescAnswer = op4.Desc; var op5 = peer2.SetLocalDescription(ref m_DescAnswer); @@ -194,8 +192,8 @@ public void TearDown() m_Context = null; } - [UnityTest] - public IEnumerator CheckPeerExists() + [UnityTest, Timeout(10000)] + public IEnumerator OnConnect() { bool startRaised1 = false; bool startRaised2 = false; @@ -210,43 +208,65 @@ public IEnumerator CheckPeerExists() const string connectionId = "12345"; string receiveConnectionId1 = null; string receiveConnectionId2 = null; - bool receivePeerExists1 = false; - bool receivePeerExists2 = false; + bool receivePolite1 = false; + bool receivePolite2 = false; + bool raiseOnDestroy1 = false; + bool raiseOnDestroy2 = false; - signaling1.OnCreateConnection += (s, id, peerExists) => + signaling1.OnCreateConnection += (s, id, polite) => { receiveConnectionId1 = id; - receivePeerExists1 = peerExists; + receivePolite1 = polite; + }; + signaling1.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy1 = id == receiveConnectionId1; }; signaling1.OpenConnection(connectionId); yield return new WaitUntil(() => !string.IsNullOrEmpty(receiveConnectionId1)); - Assert.AreEqual(connectionId, receiveConnectionId1); - Assert.IsFalse(receivePeerExists1); - signaling2.OnCreateConnection += (s, id, peerExists) => + signaling2.OnCreateConnection += (s, id, polite) => { receiveConnectionId2 = id; - receivePeerExists2 = peerExists; + receivePolite2 = polite; + }; + signaling2.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy2 = id == receiveConnectionId2; }; signaling2.OpenConnection(connectionId); yield return new WaitUntil(() => !string.IsNullOrEmpty(receiveConnectionId2)); - Assert.AreEqual(connectionId, receiveConnectionId2); - Assert.IsTrue(receivePeerExists2); + + Assert.That(receiveConnectionId1, Is.EqualTo(connectionId)); + Assert.That(receiveConnectionId2, Is.EqualTo(connectionId)); + Assert.That(receivePolite1, Is.False); + Assert.That(receivePolite2, Is.True); + + // wait first connection list on http + yield return new WaitForSeconds(1); signaling1.CloseConnection(receiveConnectionId1); + + yield return new WaitUntil(() => raiseOnDestroy1 && raiseOnDestroy2); + Assert.That(raiseOnDestroy1, Is.True); + Assert.That(raiseOnDestroy2, Is.True); + signaling2.CloseConnection(receiveConnectionId2); signaling1.Stop(); signaling2.Stop(); yield return new WaitForSeconds(1); } - [UnityTest] + + [UnityTest, Timeout(10000)] public IEnumerator OnOffer() { bool startRaised1 = false; bool startRaised2 = false; bool offerRaised2 = false; const string connectionId = "12345"; + bool raiseOnDestroy1 = false; + bool raiseOnDestroy2 = false; string connectionId1 = null; string connectionId2 = null; @@ -256,19 +276,31 @@ public IEnumerator OnOffer() signaling2.Start(); yield return new WaitUntil(() => startRaised1 && startRaised2); - signaling1.OnCreateConnection += (s, id, peerExists) => { connectionId1 = id; }; + signaling1.OnCreateConnection += (s, id, polite) => + { + connectionId1 = id; + }; + signaling1.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy1 = id == connectionId1; + }; signaling1.OpenConnection(connectionId); yield return new WaitUntil(() => !string.IsNullOrEmpty(connectionId1)); signaling2.OnOffer += (s, e) => { offerRaised2 = true; }; - - LogAssert.Expect(LogType.Error, new Regex(".")); signaling1.SendOffer(connectionId, m_DescOffer); - yield return new WaitForSeconds(5); + yield return new WaitForSeconds(3); // Do not receive offer other signaling if not connected same sendoffer connectionId in private mode Assert.IsFalse(offerRaised2); - signaling2.OnCreateConnection += (s, id, peerExists) => { connectionId2 = id; }; + signaling2.OnCreateConnection += (s, id, polite) => + { + connectionId2 = id; + }; + signaling2.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy2 = id == connectionId2; + }; signaling2.OpenConnection(connectionId); yield return new WaitUntil(() => !string.IsNullOrEmpty(connectionId2)); @@ -279,13 +311,18 @@ public IEnumerator OnOffer() yield return new WaitUntil(() => offerRaised2); signaling1.CloseConnection(connectionId1); + + yield return new WaitUntil(() => raiseOnDestroy1 && raiseOnDestroy2); + Assert.That(raiseOnDestroy1, Is.True); + Assert.That(raiseOnDestroy2, Is.True); + signaling2.CloseConnection(connectionId2); signaling1.Stop(); signaling2.Stop(); yield return new WaitForSeconds(1); } - [UnityTest] + [UnityTest, Timeout(10000)] public IEnumerator OnAnswer() { bool startRaised1 = false; @@ -293,6 +330,8 @@ public IEnumerator OnAnswer() bool offerRaised = false; bool answerRaised = false; const string connectionId = "12345"; + bool raiseOnDestroy1 = false; + bool raiseOnDestroy2 = false; string connectionId1 = null; string connectionId2 = null; @@ -302,12 +341,30 @@ public IEnumerator OnAnswer() signaling2.Start(); yield return new WaitUntil(() => startRaised1 && startRaised2); - signaling1.OnCreateConnection += (s, id, peerExists) => { connectionId1 = id; }; + signaling1.OnCreateConnection += (s, id, polite) => + { + connectionId1 = id; + }; + signaling1.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy1 = id == connectionId1; + }; signaling1.OpenConnection(connectionId); - signaling2.OnCreateConnection += (s, id, peerExists) => { connectionId2 = id; }; + + signaling2.OnCreateConnection += (s, id, polite) => + { + connectionId2 = id; + }; + signaling2.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy2 = id == connectionId2; + }; signaling2.OpenConnection(connectionId); + yield return new WaitUntil(() => !string.IsNullOrEmpty(connectionId1) && !string.IsNullOrEmpty(connectionId2)); + Assert.That(connectionId1, Is.EqualTo(connectionId)); + Assert.That(connectionId2, Is.EqualTo(connectionId)); signaling2.OnOffer += (s, e) => { offerRaised = true; }; signaling1.SendOffer(connectionId1, m_DescOffer); @@ -318,6 +375,11 @@ public IEnumerator OnAnswer() yield return new WaitUntil(() => answerRaised); signaling1.CloseConnection(connectionId1); + + yield return new WaitUntil(() => raiseOnDestroy1 && raiseOnDestroy2); + Assert.That(raiseOnDestroy1, Is.True); + Assert.That(raiseOnDestroy2, Is.True); + signaling2.CloseConnection(connectionId2); signaling1.Stop(); signaling2.Stop(); @@ -325,7 +387,7 @@ public IEnumerator OnAnswer() } - [UnityTest] + [UnityTest, Timeout(10000)] public IEnumerator OnCandidate() { bool startRaised1 = false; @@ -335,6 +397,8 @@ public IEnumerator OnCandidate() bool candidateRaised1 = false; bool candidateRaised2 = false; const string connectionId = "12345"; + bool raiseOnDestroy1 = false; + bool raiseOnDestroy2 = false; string connectionId1 = null; string connectionId2 = null; @@ -344,12 +408,30 @@ public IEnumerator OnCandidate() signaling2.Start(); yield return new WaitUntil(() => startRaised1 && startRaised2); - signaling1.OnCreateConnection += (s, id, peerExists) => { connectionId1 = id; }; + signaling1.OnCreateConnection += (s, id, polite) => + { + connectionId1 = id; + }; + signaling1.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy1 = id == connectionId1; + }; signaling1.OpenConnection(connectionId); - signaling2.OnCreateConnection += (s, id, peerExists) => { connectionId2 = id; }; + + signaling2.OnCreateConnection += (s, id, polite) => + { + connectionId2 = id; + }; + signaling2.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy2 = id == connectionId2; + }; signaling2.OpenConnection(connectionId); + yield return new WaitUntil(() => !string.IsNullOrEmpty(connectionId1) && !string.IsNullOrEmpty(connectionId2)); + Assert.That(connectionId1, Is.EqualTo(connectionId)); + Assert.That(connectionId2, Is.EqualTo(connectionId)); signaling2.OnOffer += (s, e) => { offerRaised = true; }; signaling1.SendOffer(connectionId1, m_DescOffer); @@ -368,13 +450,18 @@ public IEnumerator OnCandidate() yield return new WaitUntil(() => candidateRaised2); signaling1.CloseConnection(connectionId1); + + yield return new WaitUntil(() => raiseOnDestroy1 && raiseOnDestroy2); + Assert.That(raiseOnDestroy1, Is.True); + Assert.That(raiseOnDestroy2, Is.True); + signaling2.CloseConnection(connectionId2); signaling1.Stop(); signaling2.Stop(); yield return new WaitForSeconds(1); } - [UnityTest] + [UnityTest, Timeout(10000)] public IEnumerator NotReceiveOwnOfferAnswer() { bool startRaised1 = false; @@ -386,6 +473,8 @@ public IEnumerator NotReceiveOwnOfferAnswer() bool candidateRaised1 = false; bool candidateRaised2 = false; const string connectionId = "12345"; + bool raiseOnDestroy1 = false; + bool raiseOnDestroy2 = false; string connectionId1 = null; string connectionId2 = null; @@ -395,23 +484,45 @@ public IEnumerator NotReceiveOwnOfferAnswer() signaling2.Start(); yield return new WaitUntil(() => startRaised1 && startRaised2); - signaling1.OnCreateConnection += (s, id, peerExists) => { connectionId1 = id; }; - signaling2.OnCreateConnection += (s, id, peerExists) => { connectionId2 = id; }; + signaling1.OnCreateConnection += (s, id, polite) => + { + connectionId1 = id; + }; + signaling1.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy1 = id == connectionId1; + }; signaling1.OpenConnection(connectionId); + + signaling2.OnCreateConnection += (s, id, polite) => + { + connectionId2 = id; + }; + signaling2.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy2 = id == connectionId2; + }; signaling2.OpenConnection(connectionId); + yield return new WaitUntil(() => !string.IsNullOrEmpty(connectionId1) && !string.IsNullOrEmpty(connectionId2)); + Assert.That(connectionId1, Is.EqualTo(connectionId)); + Assert.That(connectionId2, Is.EqualTo(connectionId)); signaling1.OnOffer += (s, e) => { offerRaised1 = true; }; signaling2.OnOffer += (s, e) => { offerRaised2 = true; }; signaling1.SendOffer(connectionId1, m_DescOffer); - yield return new WaitUntil(() => offerRaised2); + // check each signaling invoke onOffer + yield return new WaitForSeconds(signaling1.Interval * 5); Assert.That(offerRaised1, Is.False, () => "Receive own offer on private mode"); + Assert.That(offerRaised2, Is.True); signaling1.OnAnswer += (s, e) => { answerRaised1 = true; }; signaling2.OnAnswer += (s, e) => { answerRaised2 = true; }; signaling2.SendAnswer(connectionId1, m_DescAnswer); - yield return new WaitUntil(() => answerRaised1); + // check each signaling invoke onAnswer + yield return new WaitForSeconds(signaling2.Interval * 5); + Assert.That(answerRaised1, Is.True); Assert.That(answerRaised2, Is.False, () => "Receive own answer on private mode"); signaling2.OnIceCandidate += (s, e) => { candidateRaised1 = true; }; @@ -423,6 +534,11 @@ public IEnumerator NotReceiveOwnOfferAnswer() yield return new WaitUntil(() => candidateRaised2); signaling1.CloseConnection(connectionId1); + + yield return new WaitUntil(() => raiseOnDestroy1 && raiseOnDestroy2); + Assert.That(raiseOnDestroy1, Is.True); + Assert.That(raiseOnDestroy2, Is.True); + signaling2.CloseConnection(connectionId2); signaling1.Stop(); signaling2.Stop(); diff --git a/Tests/Runtime/RenderStreamingInternalTest.cs b/Tests/Runtime/RenderStreamingInternalTest.cs index c1c707b..d586fa7 100644 --- a/Tests/Runtime/RenderStreamingInternalTest.cs +++ b/Tests/Runtime/RenderStreamingInternalTest.cs @@ -39,6 +39,9 @@ public void TearDown() UnityEngine.Object.Destroy(test.gameObject); } + // workaround: More time for SetDescription process + const float ResendOfferInterval = 1.0f; + private RenderStreamingDependencies CreateDependencies() { return new RenderStreamingDependencies @@ -46,10 +49,11 @@ private RenderStreamingDependencies CreateDependencies() signaling = new MockSignaling(), config = new RTCConfiguration { - iceServers = new[] { new RTCIceServer { urls = new[] { "stun:stun.l.google.com:19302" } } }, + iceServers = new[] {new RTCIceServer {urls = new[] {"stun:stun.l.google.com:19302"}}}, }, encoderType = EncoderType.Software, - startCoroutine = test.component.StartCoroutine + startCoroutine = test.component.StartCoroutine, + resentOfferInterval = ResendOfferInterval, }; } @@ -151,11 +155,11 @@ public IEnumerator OpenConnectionThrowException(TestMode mode) target.Dispose(); } - // todo(kazuki): the software encoder is not supported on Linux + //todo:: crash in dispose process on standalone linux [TestCase(TestMode.PublicMode, ExpectedResult = null)] [TestCase(TestMode.PrivateMode, ExpectedResult = null)] [UnityTest, Timeout(10000)] - [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxEditor, RuntimePlatform.LinuxPlayer })] + [UnityPlatform(exclude = new[] {RuntimePlatform.LinuxPlayer})] public IEnumerator AddTrack(TestMode mode) { MockSignaling.Reset(mode == TestMode.PrivateMode); @@ -179,7 +183,8 @@ public IEnumerator AddTrack(TestMode mode) var camera = camObj.AddComponent(); VideoStreamTrack track = camera.CaptureStreamTrack(1280, 720, 0); - target.AddTrack(connectionId, track); + var transceiver = target.AddTrack(connectionId, track); + Assert.That(transceiver.Direction, Is.EqualTo(RTCRtpTransceiverDirection.SendOnly)); target.RemoveTrack(connectionId, track); bool isDeletedConnection = false; @@ -228,11 +233,11 @@ public IEnumerator AddTrackThrowException(TestMode mode) target.Dispose(); } - // todo(kazuki): the software encoder is not supported on Linux + //todo:: crash in dispose process on standalone linux [TestCase(TestMode.PublicMode, ExpectedResult = null)] [TestCase(TestMode.PrivateMode, ExpectedResult = null)] - [UnityTest] - [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxEditor, RuntimePlatform.LinuxPlayer })] + [UnityTest, Timeout(10000)] + [UnityPlatform(exclude = new[] {RuntimePlatform.LinuxPlayer})] public IEnumerator AddTrackMultiple(TestMode mode) { MockSignaling.Reset(mode == TestMode.PrivateMode); @@ -255,12 +260,14 @@ public IEnumerator AddTrackMultiple(TestMode mode) var camObj = new GameObject("Camera"); var camera = camObj.AddComponent(); VideoStreamTrack track = camera.CaptureStreamTrack(1280, 720, 0); - target.AddTrack(connectionId, track); + var transceiver1 = target.AddTrack(connectionId, track); + Assert.That(transceiver1.Direction, Is.EqualTo(RTCRtpTransceiverDirection.SendOnly)); var camObj2 = new GameObject("Camera2"); var camera2 = camObj2.AddComponent(); VideoStreamTrack track2 = camera2.CaptureStreamTrack(1280, 720, 0); - target.AddTrack(connectionId, track2); + var transceiver2 = target.AddTrack(connectionId, track2); + Assert.That(transceiver2.Direction, Is.EqualTo(RTCRtpTransceiverDirection.SendOnly)); target.DeleteConnection(connectionId); bool isDeletedConnection = false; @@ -309,9 +316,9 @@ public IEnumerator CreateChannel(TestMode mode) channel.Dispose(); } - // todo(kazuki): the software encoder is not supported on Linux + //todo:: crash in dispose process on standalone linux [UnityTest, Timeout(10000)] - [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxEditor, RuntimePlatform.LinuxPlayer })] + [UnityPlatform(exclude = new[] {RuntimePlatform.LinuxPlayer})] public IEnumerator OnAddReceiverPrivateMode() { MockSignaling.Reset(true); @@ -332,7 +339,7 @@ public IEnumerator OnAddReceiverPrivateMode() bool isCreatedConnection1 = false; bool isCreatedConnection2 = false; target1.onCreatedConnection += _ => { isCreatedConnection1 = true; }; - target2.onFoundConnection += _ => { isCreatedConnection2 = true; }; + target2.onCreatedConnection += _ => { isCreatedConnection2 = true; }; var connectionId = "12345"; @@ -359,6 +366,7 @@ public IEnumerator OnAddReceiverPrivateMode() // send offer automatically after adding a Track var transceiver = target2.AddTrack(connectionId, track); Assert.That(transceiver, Is.Not.Null); + Assert.That(transceiver.Direction, Is.EqualTo(RTCRtpTransceiverDirection.SendOnly)); yield return new WaitUntil(() => isAddReceiver1 && isGotAnswer2); Assert.That(isAddReceiver1, Is.True); @@ -381,9 +389,9 @@ public IEnumerator OnAddReceiverPrivateMode() UnityEngine.Object.Destroy(camObj); } - // todo(kazuki): the software encoder is not supported on Linux + //todo:: crash in dispose process on standalone linux [UnityTest, Timeout(10000)] - [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxEditor, RuntimePlatform.LinuxPlayer })] + [UnityPlatform(exclude = new[] {RuntimePlatform.LinuxPlayer})] public IEnumerator OnAddReceiverPublicMode() { MockSignaling.Reset(false); @@ -413,7 +421,7 @@ public IEnumerator OnAddReceiverPublicMode() yield return new WaitUntil(() => isCreatedConnection1); Assert.That(isCreatedConnection1, Is.True); - target1.SendOffer(connectionId); + target1.AddTransceiver(connectionId, TrackKind.Video, RTCRtpTransceiverDirection.RecvOnly); // target2 is sender in private mode yield return new WaitUntil(() => isOnGotOffer2); @@ -427,7 +435,8 @@ public IEnumerator OnAddReceiverPublicMode() var camObj = new GameObject("Camera"); var camera = camObj.AddComponent(); VideoStreamTrack track = camera.CaptureStreamTrack(1280, 720, 0); - target2.AddTrack(connectionId, track); + var transceiver2 = target2.AddTrack(connectionId, track); + Assert.That(transceiver2.Direction, Is.EqualTo(RTCRtpTransceiverDirection.SendOnly)); target2.SendAnswer(connectionId); yield return new WaitUntil(() => isAddReceiver1 & isGotAnswer1); @@ -449,7 +458,7 @@ public IEnumerator OnAddReceiverPublicMode() UnityEngine.Object.DestroyImmediate(camObj); } - [UnityTest, Timeout(3000)] + [UnityTest, Timeout(10000)] public IEnumerator OnAddChannelPrivateMode() { MockSignaling.Reset(true); @@ -468,7 +477,7 @@ public IEnumerator OnAddChannelPrivateMode() bool isCreatedConnection1 = false; bool isCreatedConnection2 = false; target1.onCreatedConnection += _ => { isCreatedConnection1 = true; }; - target2.onFoundConnection += _ => { isCreatedConnection2 = true; }; + target2.onCreatedConnection += _ => { isCreatedConnection2 = true; }; var connectionId = "12345"; @@ -481,17 +490,19 @@ public IEnumerator OnAddChannelPrivateMode() yield return new WaitUntil(() => isCreatedConnection2); bool isAddChannel1 = false; + bool isGotOffer1 = false; bool isGotAnswer2 = false; target1.onAddChannel += (_, _channel) => { isAddChannel1 = true; }; - target1.onGotOffer += (_, sdp) => { target1.SendAnswer(connectionId); }; + target1.onGotOffer += (_, sdp) => { isGotOffer1 = true; }; target2.onGotAnswer += (_, sdp) => { isGotAnswer2 = true; }; // send offer automatically after creating channel RTCDataChannel channel = target2.CreateChannel(connectionId, "test"); Assert.That(channel, Is.Not.Null); - // send offer manually - target2.SendOffer(connectionId); + yield return new WaitUntil(() => isGotOffer1); + Assert.That(isGotOffer1, Is.True); + target1.SendAnswer(connectionId); yield return new WaitUntil(() => isAddChannel1 && isGotAnswer2); Assert.That(isAddChannel1, Is.True); @@ -511,5 +522,275 @@ public IEnumerator OnAddChannelPrivateMode() target1.Dispose(); target2.Dispose(); } + + [UnityTest, Timeout(10000)] + public IEnumerator SendOfferThrowExceptionPrivateMode() + { + MockSignaling.Reset(true); + + var dependencies1 = CreateDependencies(); + var dependencies2 = CreateDependencies(); + var target1 = new RenderStreamingInternal(ref dependencies1); + var target2 = new RenderStreamingInternal(ref dependencies2); + + bool isStarted1 = false; + bool isStarted2 = false; + target1.onStart += () => { isStarted1 = true; }; + target2.onStart += () => { isStarted2 = true; }; + yield return new WaitUntil(() => isStarted1 && isStarted2); + + bool isCreatedConnection1 = false; + bool isCreatedConnection2 = false; + target1.onCreatedConnection += _ => { isCreatedConnection1 = true; }; + target2.onCreatedConnection += _ => { isCreatedConnection2 = true; }; + + var connectionId = "12345"; + + // target1 is Receiver in private mode + target1.CreateConnection(connectionId); + yield return new WaitUntil(() => isCreatedConnection1); + + // target2 is sender in private mode + target2.CreateConnection(connectionId); + yield return new WaitUntil(() => isCreatedConnection2); + + bool isGotOffer1 = false; + bool isGotAnswer2 = false; + target1.onGotOffer += (_, sdp) => { isGotOffer1 = true; }; + target2.onGotAnswer += (_, sdp) => { isGotAnswer2 = true; }; + + target2.SendOffer(connectionId); + + // each peer are not stable, signaling process not complete. + yield return new WaitUntil(() => isGotOffer1); + Assert.That(target1.IsStable(connectionId), Is.False); + Assert.That(target2.IsStable(connectionId), Is.False); + Assert.That(() => target1.SendOffer(connectionId), Throws.TypeOf()); + + target1.SendAnswer(connectionId); + yield return new WaitUntil(() => isGotAnswer2); + Assert.That(isGotAnswer2, Is.True); + + // If target1 processes resent Offer from target2, target1 is not stable. + Assert.That(target2.IsStable(connectionId), Is.True); + + target1.DeleteConnection(connectionId); + target2.DeleteConnection(connectionId); + + bool isDeletedConnection1 = false; + bool isDeletedConnection2 = false; + target1.onDeletedConnection += _ => { isDeletedConnection1 = true; }; + target2.onDeletedConnection += _ => { isDeletedConnection2 = true; }; + yield return new WaitUntil(() => isDeletedConnection1 && isDeletedConnection2); + Assert.That(isDeletedConnection1, Is.True); + Assert.That(isDeletedConnection2, Is.True); + + target1.Dispose(); + target2.Dispose(); + } + + [UnityTest, Timeout(10000)] + public IEnumerator SwapTransceiverPrivateMode() + { + MockSignaling.Reset(true); + + var dependencies1 = CreateDependencies(); + var dependencies2 = CreateDependencies(); + var target1 = new RenderStreamingInternal(ref dependencies1); + var target2 = new RenderStreamingInternal(ref dependencies2); + + bool isStarted1 = false; + bool isStarted2 = false; + target1.onStart += () => { isStarted1 = true; }; + target2.onStart += () => { isStarted2 = true; }; + yield return new WaitUntil(() => isStarted1 && isStarted2); + + bool isCreatedConnection1 = false; + bool isCreatedConnection2 = false; + target1.onCreatedConnection += _ => { isCreatedConnection1 = true; }; + target2.onCreatedConnection += _ => { isCreatedConnection2 = true; }; + + var connectionId = "12345"; + + // target1 has impolite peer (request first) + target1.CreateConnection(connectionId); + yield return new WaitUntil(() => isCreatedConnection1); + + // target2 has polite peer (request second) + target2.CreateConnection(connectionId); + yield return new WaitUntil(() => isCreatedConnection2); + + bool isGotOffer1 = false; + bool isGotOffer2 = false; + bool isGotAnswer1 = false; + target1.onGotOffer += (_, sdp) => { isGotOffer1 = true; }; + target2.onGotOffer += (_, sdp) => { isGotOffer2 = true; }; + target1.onGotAnswer += (_, sdp) => { isGotAnswer1 = true; }; + + target1.AddTransceiver(connectionId, TrackKind.Audio, RTCRtpTransceiverDirection.SendRecv); + target2.AddTransceiver(connectionId, TrackKind.Audio, RTCRtpTransceiverDirection.SendRecv); + + // check each target invoke onGotOffer + yield return new WaitForSeconds(ResendOfferInterval * 5); + + // ignore offer because impolite peer + Assert.That(isGotOffer1, Is.False, $"{nameof(isGotOffer1)} is not False."); + // accept offer because polite peer + Assert.That(isGotOffer2, Is.True, $"{nameof(isGotOffer2)} is not True."); + + target2.SendAnswer(connectionId); + + yield return new WaitUntil(() => isGotAnswer1); + Assert.That(isGotAnswer1, Is.True, $"{nameof(isGotAnswer1)} is not True."); + + target1.DeleteConnection(connectionId); + target2.DeleteConnection(connectionId); + + bool isDeletedConnection1 = false; + bool isDeletedConnection2 = false; + target1.onDeletedConnection += _ => { isDeletedConnection1 = true; }; + target2.onDeletedConnection += _ => { isDeletedConnection2 = true; }; + yield return new WaitUntil(() => isDeletedConnection1 && isDeletedConnection2); + Assert.That(isDeletedConnection1, Is.True, $"{nameof(isDeletedConnection1)} is not True."); + Assert.That(isDeletedConnection2, Is.True, $"{nameof(isDeletedConnection1)} is not True."); + + target1.Dispose(); + target2.Dispose(); + } + + [TestCase(TestMode.PublicMode, ExpectedResult = null)] + [TestCase(TestMode.PrivateMode, ExpectedResult = null)] + [UnityTest, Timeout(10000)] + public IEnumerator ResendOfferUntilGotAnswer(TestMode mode) + { + MockSignaling.Reset(mode == TestMode.PrivateMode); + + var dependencies1 = CreateDependencies(); + var dependencies2 = CreateDependencies(); + var target1 = new RenderStreamingInternal(ref dependencies1); + var target2 = new RenderStreamingInternal(ref dependencies2); + + bool isStarted1 = false; + bool isStarted2 = false; + target1.onStart += () => { isStarted1 = true; }; + target2.onStart += () => { isStarted2 = true; }; + yield return new WaitUntil(() => isStarted1 && isStarted2); + + bool isCreatedConnection1 = false; + bool isCreatedConnection2 = false; + target1.onCreatedConnection += _ => { isCreatedConnection1 = true; }; + target2.onCreatedConnection += _ => { isCreatedConnection2 = true; }; + + var connectionId = "12345"; + + target1.CreateConnection(connectionId); + yield return new WaitUntil(() => isCreatedConnection1); + target2.CreateConnection(connectionId); + yield return new WaitUntil(() => isCreatedConnection2); + + int countGotOffer2 = 0; + target2.onGotOffer += (_, sdp) => { countGotOffer2++; }; + target1.SendOffer(connectionId); + yield return new WaitUntil(() => countGotOffer2 > 1); + + bool isGotAnswer1 = false; + target1.onGotAnswer += (_, sdp) => { isGotAnswer1 = true; }; + target2.SendAnswer(connectionId); + yield return new WaitUntil(() => isGotAnswer1); + + yield return new WaitForSeconds(ResendOfferInterval * 2); + var currentCount = countGotOffer2; + yield return new WaitForSeconds(ResendOfferInterval * 2); + Assert.That(countGotOffer2, Is.EqualTo(currentCount), + $"{nameof(currentCount)} is not Equal {nameof(countGotOffer2)}"); + + target1.DeleteConnection(connectionId); + target2.DeleteConnection(connectionId); + + bool isDeletedConnection1 = false; + bool isDeletedConnection2 = false; + target1.onDeletedConnection += _ => { isDeletedConnection1 = true; }; + target2.onDeletedConnection += _ => { isDeletedConnection2 = true; }; + yield return new WaitUntil(() => isDeletedConnection1 && isDeletedConnection2); + Assert.That(isDeletedConnection1, Is.True, $"{nameof(isDeletedConnection1)} is not True."); + Assert.That(isDeletedConnection2, Is.True, $"{nameof(isDeletedConnection1)} is not True."); + + target1.Dispose(); + target2.Dispose(); + } + + [UnityTest, Timeout(10000)] + public IEnumerator ReNegotiationAfterReceivingFirstOffer() + { + MockSignaling.Reset(true); + + var dependencies1 = CreateDependencies(); + var dependencies2 = CreateDependencies(); + var target1 = new RenderStreamingInternal(ref dependencies1); + var target2 = new RenderStreamingInternal(ref dependencies2); + + bool isStarted1 = false; + bool isStarted2 = false; + target1.onStart += () => { isStarted1 = true; }; + target2.onStart += () => { isStarted2 = true; }; + yield return new WaitUntil(() => isStarted1 && isStarted2); + + bool isCreatedConnection1 = false; + bool isCreatedConnection2 = false; + target1.onCreatedConnection += _ => { isCreatedConnection1 = true; }; + target2.onCreatedConnection += _ => { isCreatedConnection2 = true; }; + + var connectionId = "12345"; + + // target1 has impolite peer (request first) + target1.CreateConnection(connectionId); + yield return new WaitUntil(() => isCreatedConnection1); + + // target2 has polite peer (request second) + target2.CreateConnection(connectionId); + yield return new WaitUntil(() => isCreatedConnection2); + + bool isGotOffer1 = false; + bool isGotOffer2 = false; + bool isGotAnswer1 = false; + bool isGotAnswer2 = false; + target1.onGotOffer += (_, sdp) => { isGotOffer1 = true; }; + target2.onGotOffer += (_, sdp) => { isGotOffer2 = true; }; + target1.onGotAnswer += (_, sdp) => { isGotAnswer1 = true; }; + target2.onGotAnswer += (_, sdp) => { isGotAnswer2 = true; }; + + target1.AddTransceiver(connectionId, TrackKind.Video, RTCRtpTransceiverDirection.SendOnly); + target1.AddTransceiver(connectionId, TrackKind.Video, RTCRtpTransceiverDirection.RecvOnly); + target2.AddTransceiver(connectionId, TrackKind.Video, RTCRtpTransceiverDirection.SendOnly); + target2.AddTransceiver(connectionId, TrackKind.Video, RTCRtpTransceiverDirection.RecvOnly); + + yield return new WaitUntil(() => isGotOffer2); + Assert.That(isGotOffer2, Is.True, $"{nameof(isGotOffer2)} is not True."); + target2.SendAnswer(connectionId); + + yield return new WaitUntil(() => isGotAnswer1); + Assert.That(isGotAnswer1, Is.True, $"{nameof(isGotAnswer1)} is not True."); + + yield return new WaitUntil(() => isGotOffer1); + Assert.That(isGotOffer1, Is.True, $"{nameof(isGotOffer1)} is not True."); + target1.SendAnswer(connectionId); + + yield return new WaitUntil(() => isGotAnswer2); + Assert.That(isGotAnswer2, Is.True, $"{nameof(isGotAnswer2)} is not True."); + + target1.DeleteConnection(connectionId); + target2.DeleteConnection(connectionId); + + bool isDeletedConnection1 = false; + bool isDeletedConnection2 = false; + target1.onDeletedConnection += _ => { isDeletedConnection1 = true; }; + target2.onDeletedConnection += _ => { isDeletedConnection2 = true; }; + yield return new WaitUntil(() => isDeletedConnection1 && isDeletedConnection2); + Assert.That(isDeletedConnection1, Is.True, $"{nameof(isDeletedConnection1)} is not True."); + Assert.That(isDeletedConnection2, Is.True, $"{nameof(isDeletedConnection1)} is not True."); + + target1.Dispose(); + target2.Dispose(); + } } } diff --git a/Tests/Runtime/Signaling/MockSignaling.cs b/Tests/Runtime/Signaling/MockSignaling.cs index 33a9fed..f9e1dd7 100644 --- a/Tests/Runtime/Signaling/MockSignaling.cs +++ b/Tests/Runtime/Signaling/MockSignaling.cs @@ -32,6 +32,7 @@ public async Task Add(MockSignaling signaling) list.Add(signaling); signaling.OnStart?.Invoke(signaling); } + public async Task Remove(MockSignaling signaling) { await Task.Delay(MillisecondsDelay); @@ -41,17 +42,22 @@ public async Task Remove(MockSignaling signaling) public async Task OpenConnection(MockSignaling signaling, string connectionId) { await Task.Delay(MillisecondsDelay); - signaling.OnCreateConnection?.Invoke(signaling, connectionId, false); + signaling.OnCreateConnection?.Invoke(signaling, connectionId, true); } public async Task CloseConnection(MockSignaling signaling, string connectionId) { await Task.Delay(MillisecondsDelay); - signaling.OnDestroyConnection?.Invoke(signaling, connectionId); + foreach (var element in list) + { + element.OnDestroyConnection?.Invoke(element, connectionId); + } } + public async Task Offer(MockSignaling owner, DescData data) { await Task.Delay(MillisecondsDelay); + data.polite = false; foreach (var signaling in list.Where(e => e != owner)) { signaling.OnOffer?.Invoke(signaling, data); @@ -87,6 +93,7 @@ public async Task Add(MockSignaling signaling) await Task.Delay(MillisecondsDelay); signaling.OnStart?.Invoke(signaling); } + public async Task Remove(MockSignaling signaling) { await Task.Delay(MillisecondsDelay); @@ -96,12 +103,14 @@ public async Task OpenConnection(MockSignaling signaling, string connectionId) { await Task.Delay(MillisecondsDelay); bool peerExists = connectionIds.TryGetValue(connectionId, out var list); - if(!peerExists) + if (!peerExists) { list = new List(); connectionIds.Add(connectionId, list); } + list.Add(signaling); + signaling.OnCreateConnection?.Invoke(signaling, connectionId, peerExists); } @@ -113,12 +122,17 @@ public async Task CloseConnection(MockSignaling signaling, string connectionId) { Debug.LogError($"{connectionId} This connection id is not used."); } + + foreach (var element in list) + { + element.OnDestroyConnection?.Invoke(element, connectionId); + } + list.Remove(signaling); if (list.Count == 0) { connectionIds.Remove(connectionId); } - signaling.OnDestroyConnection?.Invoke(signaling, connectionId); } List FindList(MockSignaling owner, string connectionId) @@ -127,11 +141,13 @@ List FindList(MockSignaling owner, string connectionId) { return null; } + list = list.Where(e => e != owner).ToList(); if (list.Count == 0) { return null; } + return list; } @@ -141,10 +157,12 @@ public async Task Offer(MockSignaling owner, DescData data) var list = FindList(owner, data.connectionId); if (list == null) { - Debug.LogError($"{data.connectionId} This connection id is not ready other session."); + Debug.LogWarning($"{data.connectionId} This connection id is not ready other session."); return; } - foreach (var signaling in list) + + data.polite = true; + foreach (var signaling in list.Where(x => x != owner)) { signaling.OnOffer?.Invoke(signaling, data); } @@ -156,10 +174,11 @@ public async Task Answer(MockSignaling owner, DescData data) var list = FindList(owner, data.connectionId); if (list == null) { - Debug.LogError($"{data.connectionId} This connection id is not ready other session."); + Debug.LogWarning($"{data.connectionId} This connection id is not ready other session."); return; } - foreach (var signaling in list) + + foreach (var signaling in list.Where(x => x != owner)) { signaling.OnAnswer?.Invoke(signaling, data); } @@ -174,6 +193,7 @@ public async Task Candidate(MockSignaling owner, CandidateData data) Debug.LogWarning($"{data.connectionId} This connection id is not ready other session."); return; } + foreach (var signaling in list.Where(e => e != owner)) { signaling.OnIceCandidate?.Invoke(signaling, data); @@ -195,6 +215,10 @@ public static void Reset(bool enablePrivateMode) } } + public string Url { get { return string.Empty; } } + + public float Interval { get { return 0.1f; } } + static MockSignaling() { manager = new MockPublicSignalingManager(); @@ -219,7 +243,7 @@ public void Stop() public void OpenConnection(string connectionId) { - if(string.IsNullOrEmpty(connectionId)) + if (string.IsNullOrEmpty(connectionId)) throw new ArgumentException("connectionId is null or empty."); manager.OpenConnection(this, connectionId); } diff --git a/Tests/Runtime/SignalingEventProviderTest.cs b/Tests/Runtime/SignalingEventProviderTest.cs index c9b119d..566e7a9 100644 --- a/Tests/Runtime/SignalingEventProviderTest.cs +++ b/Tests/Runtime/SignalingEventProviderTest.cs @@ -20,19 +20,6 @@ public void OnCreatedConnection(SignalingEventData data) } } - class FoundConnectionHandlerTest : MonoBehaviour, - IMonoBehaviourTest, IFoundConnectionHandler - { - public bool IsTestFinished { get; private set; } - public SignalingEventData Data { get; private set; } - - public void OnFoundConnection(SignalingEventData data) - { - IsTestFinished = true; - this.Data = data; - } - } - class DeletedConnectionHandlerTest : MonoBehaviour, IMonoBehaviourTest, IDeletedConnectionHandler { @@ -125,7 +112,6 @@ class MockDelegate : IRenderStreamingDelegate { public event Action onStart; public event Action onCreatedConnection; - public event Action onFoundConnection; public event Action onDeletedConnection; public event Action onGotOffer; public event Action onGotAnswer; @@ -143,10 +129,6 @@ public void RaiseOnCreatedConnection(string connectionId) { onCreatedConnection?.Invoke(connectionId); } - public void RaiseOnFoundConnection(string connectionId) - { - onFoundConnection?.Invoke(connectionId); - } public void RaiseOnDeletedConnection(string connectionId) { onDeletedConnection?.Invoke(connectionId); @@ -232,18 +214,6 @@ public void OnCreatedConnection() UnityEngine.Object.DestroyImmediate(test.gameObject); } - [Test] - public void OnFoundConnection() - { - var connectionId = "12345"; - var test = new MonoBehaviourTest(); - m_provider.Subscribe(test.component); - _mDelegate.RaiseOnFoundConnection(connectionId); - Assert.That(test.component.IsTestFinished, Is.True); - Assert.That(test.component.Data.connectionId, Is.EqualTo(connectionId)); - UnityEngine.Object.DestroyImmediate(test.gameObject); - } - [Test] public void OnDeletedConnection() { diff --git a/Tests/Runtime/SignalingHandlerTest.cs b/Tests/Runtime/SignalingHandlerTest.cs index 2b3b6d6..c8eae8d 100644 --- a/Tests/Runtime/SignalingHandlerTest.cs +++ b/Tests/Runtime/SignalingHandlerTest.cs @@ -36,8 +36,9 @@ protected override MediaStreamTrack CreateTrack() } } - class StreamReceiverTest : StreamReceiverBase + class VideoStreamReceiverTest : StreamReceiverBase { + public override TrackKind Kind { get { return TrackKind.Video; } } } class DataChannelTest : DataChannelBase @@ -75,7 +76,8 @@ private static RenderStreamingDependencies CreateDependencies(MonoBehaviour beha iceServers = new[] { new RTCIceServer { urls = new[] { "stun:stun.l.google.com:19302" } } }, }, encoderType = EncoderType.Software, - startCoroutine = behaviour.StartCoroutine + startCoroutine = behaviour.StartCoroutine, + resentOfferInterval = 1.0f, }; } @@ -108,9 +110,9 @@ public void SetUp() MockSignaling.Reset(false); } - // todo(kazuki): the software encoder is not supported on Linux + //todo:: crash in dispose process on standalone linux [Test] - [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxEditor, RuntimePlatform.LinuxPlayer })] + [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxPlayer})] public void AddStreamSource() { var container = TestContainer.Create("test"); @@ -138,9 +140,9 @@ public void AddDataChannel() container.Dispose(); } - // todo(kazuki): the software encoder is not supported on Linux - [UnityTest, Timeout(3000)] - [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxEditor, RuntimePlatform.LinuxPlayer })] + //todo:: crash in dispose process on standalone linux + [UnityTest, Timeout(10000)] + [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxPlayer})] public IEnumerator ReceiveStream() { string connectionId = "12345"; @@ -155,19 +157,19 @@ public IEnumerator ReceiveStream() container1.test.component.AddComponent(streamer); - var receiver = container2.test.gameObject.AddComponent(); + var receiver = container2.test.gameObject.AddComponent(); bool isStartedStream2 = false; bool isStoppedStream2 = false; receiver.OnStartedStream += _ => isStartedStream2 = true; receiver.OnStoppedStream += _ => isStoppedStream2 = true; container2.test.component.AddComponent(receiver); - container2.test.component.CreateConnection(connectionId, true); + container2.test.component.CreateConnection(connectionId); yield return new WaitUntil(() => isStartedStream2 && isStartedStream1); Assert.That(isStartedStream1, Is.True); Assert.That(isStartedStream2, Is.True); - + Assert.That(receiver.Track, Is.Not.Null); Assert.That(receiver.Receiver, Is.Not.Null); @@ -193,9 +195,9 @@ public void SetUp() MockSignaling.Reset(true); } - // todo(kazuki): the software encoder is not supported on Linux - [UnityTest, Timeout(3000)] - [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxEditor, RuntimePlatform.LinuxPlayer })] + //todo:: crash in dispose process on standalone linux + [UnityTest, Timeout(10000)] + [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxPlayer})] public IEnumerator AddStreamSource() { string connectionId = "12345"; @@ -217,7 +219,7 @@ public IEnumerator AddStreamSource() container.Dispose(); } - [UnityTest, Timeout(3000)] + [UnityTest, Timeout(10000)] public IEnumerator AddDataChannel() { string connectionId = "12345"; @@ -243,9 +245,9 @@ public IEnumerator AddDataChannel() container.Dispose(); } - // todo(kazuki): the software encoder is not supported on Linux - [UnityTest, Timeout(3000)] - [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxEditor, RuntimePlatform.LinuxPlayer })] + //todo:: crash in dispose process on standalone linux + [UnityTest, Timeout(10000)] + [UnityPlatform(exclude = new[] { RuntimePlatform.LinuxPlayer})] public IEnumerator ReceiveStream() { string connectionId = "12345"; @@ -265,7 +267,7 @@ public IEnumerator ReceiveStream() yield return new WaitUntil(() => isStartedStream0); Assert.That(isStartedStream0, Is.True); - var receiver = container2.test.gameObject.AddComponent(); + var receiver = container2.test.gameObject.AddComponent(); bool isStartedStream1 = false; bool isStoppedStream1 = false; receiver.OnStartedStream += _ => isStartedStream1 = true; @@ -295,7 +297,9 @@ public IEnumerator ReceiveStream() container2.Dispose(); } - [UnityTest, Timeout(3000)] + //todo(kazuki):: Unknown error is occurred on Android + [UnityTest, Timeout(10000)] + [UnityPlatform(exclude = new[] { RuntimePlatform.Android })] public IEnumerator ReceiveDataChannel() { string connectionId = "12345"; diff --git a/Tests/Runtime/SignalingTest.cs b/Tests/Runtime/SignalingTest.cs index f418819..322643b 100644 --- a/Tests/Runtime/SignalingTest.cs +++ b/Tests/Runtime/SignalingTest.cs @@ -68,6 +68,7 @@ public void OneTimeSetUp() MockSignaling.Reset(false); return; } + m_ServerProcess = new Process(); string fileName = TestUtility.GetWebAppLocationFromEnv(); @@ -108,7 +109,10 @@ public void OneTimeTearDown() { return; } - m_ServerProcess.Kill(); + m_ServerProcess?.Kill(); + m_ServerProcess?.WaitForExit(); + m_ServerProcess?.Dispose(); + m_ServerProcess = null; } ISignaling CreateSignaling(Type type, SynchronizationContext mainThread) @@ -146,8 +150,7 @@ public IEnumerator UnitySetUp() MediaStream stream = WebRTC.Audio.CaptureStream(); peer1.AddTrack(stream.GetTracks().First()); - RTCOfferOptions offerOptions = new RTCOfferOptions(); - var op1 = peer1.CreateOffer(ref offerOptions); + var op1 = peer1.CreateOffer(); yield return op1; m_DescOffer = op1.Desc; var op2 = peer1.SetLocalDescription(ref m_DescOffer); @@ -155,8 +158,7 @@ public IEnumerator UnitySetUp() var op3 = peer2.SetRemoteDescription(ref m_DescOffer); yield return op3; - RTCAnswerOptions answerOptions = new RTCAnswerOptions(); - var op4 = peer2.CreateAnswer(ref answerOptions); + var op4 = peer2.CreateAnswer(); yield return op4; m_DescAnswer = op4.Desc; var op5 = peer2.SetLocalDescription(ref m_DescAnswer); @@ -186,7 +188,7 @@ public void TearDown() m_Context = null; } - [UnityTest] + [UnityTest, Timeout(10000)] public IEnumerator OnConnect() { bool startRaised1 = false; @@ -196,20 +198,20 @@ public IEnumerator OnConnect() signaling1.Start(); yield return new WaitUntil(() => startRaised1); - signaling1.OnCreateConnection += (s, connectionId, peerExists) => { connectionId1 = connectionId; }; + signaling1.OnCreateConnection += (s, connectionId, polite) => { connectionId1 = connectionId; }; signaling1.OpenConnection(Guid.NewGuid().ToString()); yield return new WaitUntil(() => !string.IsNullOrEmpty(connectionId1)); Assert.IsNotEmpty(connectionId1); } - [UnityTest] + [UnityTest, Timeout(10000)] public IEnumerator OnOffer() { bool startRaised1 = false; bool startRaised2 = false; bool offerRaised = false; - bool peerExists1 = false; - bool peerExists2 = false; + bool raiseOnDestroy1 = false; + bool raiseOnDestroy2 = false; string connectionId1 = null; string connectionId2 = null; const string _connectionId = "12345"; @@ -220,15 +222,21 @@ public IEnumerator OnOffer() signaling2.Start(); yield return new WaitUntil(() => startRaised1 && startRaised2); - signaling1.OnCreateConnection += (s, connectionId, peerExists) => { + signaling1.OnCreateConnection += (s, connectionId, polite) => { connectionId1 = connectionId; - peerExists1 = peerExists; + }; + signaling1.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy1 = id == connectionId1; }; signaling1.OpenConnection(_connectionId); - signaling2.OnCreateConnection += (s, connectionId, peerExists) => { + signaling2.OnCreateConnection += (s, connectionId, polite) => { connectionId2 = connectionId; - peerExists2 = peerExists; + }; + signaling1.OnDestroyConnection += (signaling, id) => + { + raiseOnDestroy2 = id == connectionId2; }; signaling2.OpenConnection(_connectionId); yield return new WaitUntil(() => @@ -236,14 +244,19 @@ public IEnumerator OnOffer() Assert.That(connectionId1, Is.EqualTo(_connectionId)); Assert.That(connectionId2, Is.EqualTo(_connectionId)); - Assert.That(peerExists1, Is.False); - Assert.That(peerExists2, Is.False); + signaling2.OnOffer += (s, e) => { offerRaised = true; }; signaling1.SendOffer(connectionId1, m_DescOffer); yield return new WaitUntil(() => offerRaised); + + signaling1.CloseConnection(connectionId1); + + yield return new WaitUntil(() => raiseOnDestroy1 && raiseOnDestroy2); + Assert.That(raiseOnDestroy1, Is.True); + Assert.That(raiseOnDestroy2, Is.True); } - [UnityTest] + [UnityTest, Timeout(10000)] public IEnumerator OnAnswer() { bool startRaised1 = false; @@ -259,9 +272,13 @@ public IEnumerator OnAnswer() signaling2.Start(); yield return new WaitUntil(() => startRaised1 && startRaised2); - signaling1.OnCreateConnection += (s, connectionId, peerExists) => { connectionId1 = connectionId; }; + signaling1.OnCreateConnection += (s, connectionId, polite) => { + connectionId1 = connectionId; + }; signaling1.OpenConnection(Guid.NewGuid().ToString()); - signaling2.OnCreateConnection += (s, connectionId, peerExists) => { connectionId2 = connectionId; }; + signaling2.OnCreateConnection += (s, connectionId, polite) => { + connectionId2 = connectionId; + }; signaling2.OpenConnection(Guid.NewGuid().ToString()); yield return new WaitUntil(() => !string.IsNullOrEmpty(connectionId1) && !string.IsNullOrEmpty(connectionId2)); @@ -275,7 +292,7 @@ public IEnumerator OnAnswer() yield return new WaitUntil(() => answerRaised); } - [UnityTest] + [UnityTest, Timeout(10000)] public IEnumerator OnCandidate() { bool startRaised1 = false; @@ -293,9 +310,13 @@ public IEnumerator OnCandidate() signaling2.Start(); yield return new WaitUntil(() => startRaised1 && startRaised2); - signaling1.OnCreateConnection += (s, connectionId, peerExists) => { connectionId1 = connectionId; }; + signaling1.OnCreateConnection += (s, connectionId, polite) => { + connectionId1 = connectionId; + }; signaling1.OpenConnection(Guid.NewGuid().ToString()); - signaling2.OnCreateConnection += (s, connectionId, peerExists) => { connectionId2 = connectionId; }; + signaling2.OnCreateConnection += (s, connectionId, polite) => { + connectionId2 = connectionId; + }; signaling2.OpenConnection(Guid.NewGuid().ToString()); yield return new WaitUntil(() => !string.IsNullOrEmpty(connectionId1) && !string.IsNullOrEmpty(connectionId2)); diff --git a/Tests/Runtime/Unity.RenderStreaming.RuntimeTests.asmdef b/Tests/Runtime/Unity.RenderStreaming.RuntimeTests.asmdef index 88c949e..1143268 100644 --- a/Tests/Runtime/Unity.RenderStreaming.RuntimeTests.asmdef +++ b/Tests/Runtime/Unity.RenderStreaming.RuntimeTests.asmdef @@ -1,5 +1,6 @@ { "name": "Unity.RenderStreaming.RuntimeTests", + "rootNamespace": "", "references": [ "GUID:27619889b8ba8c24980f49ee34dbb44a", "GUID:0acc523941302664db1f4e527237feb3", @@ -9,6 +10,7 @@ "GUID:75469ad4d38634e559750d17036d5f7c" ], "includePlatforms": [ + "Android", "Editor", "iOS", "LinuxStandalone64", diff --git a/package.json b/package.json index 9a84f37..825f46a 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "com.unity.renderstreaming", "displayName": "Unity Render Streaming", - "version": "3.0.1-preview", + "version": "3.1.0-exp.1", "unity": "2019.4", "description": "This is a package for using Unity Render Streaming technology. It contains two samples to use the technology.", "dependencies": { - "com.unity.webrtc": "2.3.3-preview", - "com.unity.inputsystem": "1.0.0" + "com.unity.webrtc": "2.4.0-exp.3", + "com.unity.inputsystem": "1.0.2" }, "samples": [ { @@ -16,11 +16,11 @@ } ], "upmCi": { - "footprint": "cbe62f773b614ee573138d157bab396293a30dd7" + "footprint": "d47f4de104cf93ed0627e7a158a7e875267f36dd" }, "repository": { "url": "https://github.com/Unity-Technologies/UnityRenderStreaming.git", "type": "git", - "revision": "ec92d7059723d64dc86c6bf77d22be7d2b8c1411" + "revision": "6fec81c32121665032afe9f092164e059e242a7c" } }