diff --git a/README.md b/README.md index 9b6b645f..ecd394c7 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ Check our [contribution guidelines](CONTRIBUTING.md) for information on how to c |**[Photon Realtime](/Transports/com.community.netcode.transport.photon-realtime)**| Desktop, Mobile, WebGL\** | :heavy_check_mark: | :heavy_check_mark: | | |**[Facepunch](/Transports/com.community.netcode.transport.facepunch)**| Steam | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |**[Multipeer Connectivity](/Transports/com.community.netcode.transport.multipeer-connectivity)**| iOS | :heavy_check_mark: | :heavy_check_mark: | | +|**[Pico](/Transports/com.community.netcode.transport.pico)**| PICO ||| :heavy_check_mark: | \* Needs manual binary compilation.
\** Other platforms such as console platforms are also supported but require communication with Exit Games. diff --git a/Transports/com.community.netcode.transport.pico/CHANGELOG.md b/Transports/com.community.netcode.transport.pico/CHANGELOG.md new file mode 100644 index 00000000..bb1fed11 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog +All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) + +## 0.0.1 +First version of the \ transport as a Unity package. \ No newline at end of file diff --git a/Transports/com.community.netcode.transport.pico/CHANGELOG.md.meta b/Transports/com.community.netcode.transport.pico/CHANGELOG.md.meta new file mode 100644 index 00000000..fd70f03b --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/CHANGELOG.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 425e6e13b3ac94548b5f04c1c4158d3e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/LICENSE.md b/Transports/com.community.netcode.transport.pico/LICENSE.md new file mode 100644 index 00000000..ea4b0085 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/LICENSE.md @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2021 Unity Technologies + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/Transports/com.community.netcode.transport.pico/LICENSE.md.meta b/Transports/com.community.netcode.transport.pico/LICENSE.md.meta new file mode 100644 index 00000000..dd8bf437 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/LICENSE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b53ebb1dba8e44f4d994b4e054b03d10 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/README.md b/Transports/com.community.netcode.transport.pico/README.md new file mode 100644 index 00000000..1cf52ca6 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/README.md @@ -0,0 +1,202 @@ +# PicoTransport +## 1. Overview +The PicoTransport module implements the INetworkTransport interface for Netcode, facilitating the integration between Netcode and PICO room services. +By utilizing PicoTransport, developers can leverage Netcode and PICO room services to develop multiplayer PICO applications. The overall structure is illustrated below: +![add package](doc-images/struct-1.png) + +## 2. Preparation +### 2.1. PICO VR Environment Setup +- Follow the["Quick Start"](https://developer-global.pico-interactive.com/document/unity/) section in the PICO official documentation to set up the basic PICO VR environment and create a new VR project. +![fast-start](doc-images/fast-start-en.PNG) +>PICO relies on some preview packages, such as 'XR Interaction Toolkit'. Please enable the preview package option to install these packages as shown in the following image: +>![preview-package](doc-images/preview-package.PNG) +>To work around the bug in the PICO Unity Integration SDK v2.x.x that causes the failure to retrieve PICO user information when running in the Unity Editor, you can temporarily comment out the call to CLIB.ppf_User_GetPresenceIsJoinable in the User.cs script located in PICO.Platform/Platform/Scripts/Models at line 85. This will bypass the bug and allow you to proceed with the examples. +![pico-error](doc-images/pico-platform-error.png) + +### 2.2. PICO Multiplayer Service Activation +- Apply for a developer account on the [PICO platform](https://developer-global.pico-interactive.com/) and create an app. +- After creating the app, activate the PICO matchmaking(room) services for this app: +![open-matchmaking-service](doc-images/open-matchmaking-service-en.png) +- Create a PICO matchmaking pool as needed in the 'Matchmaking Service' section. +>To run the included examples, **it is essential to create a matchmaking pool named 'test_pool_basic_2' and set the options 'Managed Rooms' and 'Allow Matching Into the Same Room' as shown in the image below**: +>![set-matchmaking-pool](doc-images/set-matchmaking-pool-en.png) + +### 2.3. Unity Project Configuration +Configure the 'PICO Platform' and 'PC Debug' settings: +![pxr-sdk-setting](doc-images/pxr-sdk-setting.png) +- Disable the 'UserEntitlementCheck' option in the platform SDK settings ('PXR_SDK' > 'Platform Settings'): +![uncheck-entitlement-check](doc-images/uncheck-entitlement-check.png) +- Set the Access Token in the 'PC Debug' settings ('PXR_SDK' > 'PC Debug Settings'):: +![pc-debug-setting](doc-images/pc-debug-setting.png) +Retrieve the Access Token from the [PICO Developer Dashboard](https://developer-global.pico-interactive.com/): +![app-accesstoken](doc-images/app-accesstoken-en.png) +- After making the configuration changes, close and reopen the Unity Editor (required for PICO PC Debug) + +## 3. Quick Start +### 3.1 Example Features +The 'SimpleMode' example is derived from the netcode goldenpath and is designed to synchronize capsule representations of different clients on PICO devices. This example utilizes the PICO Platform services and PicoTransport. Specifically, the participating clients join the same PICO named room and use the PICO Platform's message sending and receiving API to achieve Netcode communication. + +### 3.2 Import PicoTransport and Example Project +Download the PicoTransport package and save it locally. Then, in the Unity Editor, go to the menu 'Windows' > 'Package Manager'. +In the Package Manager window, click on '+' > 'Add package from disk'. +![add-package-from-disk](doc-images/add-package-from-disk.png) +Select the PicoTransport directory that was downloaded, and choose the package.json file to import PicoTransport. After importing PicoTransport, proceed to import the Samples into the project as well. +![import-samples](doc-images/import-samples.png) + +### 3.3 Run the SimpleMode Example +#### 3.3.1. Run in the Editor +- Open the 'SimpleMode' scene: +![path-of-simplemode-scene](doc-images/path-of-simplemode-scene.png) +- Make sure the necessary configurations are set in the Unity Editor: +![run-in-editor-simplemode](doc-images/run-in-editor-simplemode.png) +- Click the 'Play' button to run the scene and add the current scene to the build scenes when prompted +![build-simplemode-scene](doc-images/build-simplemode-scene.png) +- Click the 'StartRoom' button (or the 'StartHost' button in the NetworkManager component) to spawn a red capsule in the scene. This indicates that the Netcode host is running successfully. Click the 'Move' button to randomly move the capsule representing the host: +![simplemode-move](doc-images/simplemode-move.png) +To test the interaction between two Netcode clients, let's proceed with the following steps to build an instance for running on a PICO device. + +#### 3.3.2. Build and Run on a PICO Device +- In the Unity Editor, go to the menu and select 'File' > 'Build Settings...'. In the build settings window, remove the basic XR scene added during the preparation step and check only the 'SampleMode' scene: +![build-simplemode](doc-images/build-simplemode-scene.png) +- Switch the platform to Android (ensure that the platform settings match the instructions in the [Quick Start](https://developer-global.pico-interactive.com/document/unity/) section of the official PICO documentation). +In the Android tab, click on 'Switch Platform' to switch to the Android platform. If the location indicated by the red box shows 'Build', it means the current platform is already set to Android and there is no need to switch. +![build-simplemode-buildrun](doc-images/build-simplemode-buildrun.png) +- Connect your PICO device and select it in the 'Run Device' dropdown menu. Click on 'Build And Run'. When prompted to specify the output directory for the generated APK, create a new 'output' folder to store it. +![build-simplemode-buildrun-2](doc-images/build-simplemode-buildrun-2.png) + +#### 3.3.3. Unity Editor and PICO Device Debugging +After the 'Build And Run' process is complete, you can start debugging between the PICO device and the Unity Editor. +Put on the PICO device and click the 'Join Room' button. The PICO device will join the room created by the Editor (the room name in the example is 'abc'). Two red capsules will appear in the room, one representing the host in the Editor and the other representing the client on the PICO device. Click the 'Move' button in the Editor or on the PICO device to see the capsule positions synchronized between the Editor and the PICO device: +![simplemode-inroom](doc-images/simplemode-inroom.png) +>If there is an initialization failure on the device with a message stating "Signature Mismatch," you can upload the APK package to the PICO developer platform to sync the signature information. +>Note: When the PICO device screen is off, the Netcode logic also stops. Therefore, if the PICO device acts as the host of the room ('Start Room'), make sure the PICO app is awake when the client moves. This way, the host remains active and can handle the Netcode synchronization messages sent by the client. + +### 3.4 Other Examples +#### 3.4.1 MatchmakingRoom +The 'MatchmakingRoom' example differs from the 'SimpleMode' example in the following ways: +- In the 'SimpleMode' scene, there is no matchmaking process. The clients join the same PICO named room by using a pre-agreed room name. In the 'Matchmaking' scene, the clients gather together through PICO's matchmaking service and then join the same PICO matchmaking room. +- Since the 'SimpleMode' scene does not require a matchmaking process, PicoTransport operates in "Simple Mode" where it encapsulates the process of creating and joining rooms internally. Developers do not need to worry about the specific calls to PICO.CoreService/PICO.GameService, but only need to configure the agreed room name. +On the other hand, in the 'MatchmakingRoom' scene, developers explicitly call PICO's Platform service APIs for matchmaking and joining the room. In the 'Matchmaking' scene, PicoTransport works in "External Room" mode because it needs to interact with the PICO room managed by the developer. For a more detailed comparison between the "Simple" and "External Room" modes, refer to the [Working Modes](#41-working-modes) section in the PicoTransport documentation. +##### Running the MatchmakingRoom Example + - Build this scene to your PICO device, selecting only the 'MatchmakingRoom' scene during the build process: +![matchmakingroom-buildrun](doc-images/matchmakingroom-buildrun.png) + - Run it in the Unity Editor, click the 'InitPicoSDK' button, and it will initialize PICO internally and join the 'test_pool_basic_2' matchmaking pool configured in section [2.2](#22-pico-multiplayer-service-activation). After successfully joining the matchmaking pool, the UI will display the UID and wait for other clients to join: +![matchmakingroom-waiting](doc-images/matchmakingroom-waiting.png) + - On the PICO device, click the 'InitPicoSDK' button to join the matchmaking pool. Since the matchmaking conditions are met, the PICO matchmaking service will match the client in the Editor with the client in the PICO device and create a matchmaking room for them to join. At this point, the UI will display the 'JoinRoom' button: +![matchmakingroom-joinroom](doc-images/matchmakingroom-joinroom.png) + - Click the 'JoinRoom' button in both the Editor and on the PICO device to join the PICO matchmaking room. Once in the room, the position synchronization by NetCode will start, as shown in the following image. Click the 'Submit position' button to move the capsule and synchronize the positions between the two clients: +![matchmakingroom-inroom](doc-images/matchmakingroom-inroom.png) +>Note: +>1. PICO's matchmaking rooms have a time limit. If both sides don't click 'JoinRoom' to join the room, the room will be destroyed on the PICO server after 10 seconds. After that, any attempt to join the room will fail, and you will be returned to the initial interface. +>2. When a Netcode client joins, it needs to handshake with the host before starting the normal synchronization communication process. Therefore, if the client clicks 'JoinRoom' before the host joins the room, the client will be stuck in the room interface. The reason is that the host has not joined the room yet and cannot handle the messages sent by the client. Only when the host also clicks 'JoinRoom', the handshake between the two Netcode clients can be completed, and the red capsules representing both sides will be created, starting the normal communication and synchronization process. + +#### 3.4.2 Multiplayer +The 'Multiplayer' example is similar to the 'MatchmakingRoom' example. In the 'Multiplayer' scene, PicoTransport also works in "External Room" mode and uses PICO's matchmaking service to gather together. Compared to 'MatchmakingRoom', 'Multiplayer' synchronizes more information, such as player actions, making it a more realistic example. +##### Running the Multiplayer Example +- Build this scene to your PICO device and run it, **making sure to add the 'Init', 'Start', and 'Fight' scenes in order (indices 0/1/2)**: +![multiplayer-buildrun](doc-images/multiplayer-buildrun.png) +- Run it in the Unity Editor and click the 'Start' button to start the matchmaking process: +![multiplayer-start](doc-images/multiplayer-start.png) +After successfully joining the matchmaking, it will display 'InMatching...' to indicate that it is waiting for other players to join: +![multiplayer-inmatchmaking](doc-images/multiplayer-inmatchmaking.png) +- On the PICO device, click the 'Start' button to join the matchmaking. Since the matchmaking conditions are met, the PICO matchmaking service will match the client in the Editor with the client in the PICO device and create a matchmaking room. Once both clients enter this matchmaking room, the position synchronization for NetCode will start. Move to the green area on the right to exit the current scene: +![multiplayer-inroom](doc-images/multiplayer-inroom.png) + +### 3.5 Behavior in Special Scenarios +Two factors can affect the behavior in weak network conditions: 1. The host/server-centric topology of NetCode; 2. How PICO rooms handle player disconnections. +#### 3.5.1 NetCode Factors: +- NetCode relies on the host (owner of the PICO room) as the logical control center. The logic can only proceed when there is a host in the room. If a client joins the room before the host is ready, the client will be stuck waiting for the host. +- When the host leaves, the entire game session ends, and the client will also exit the game session. +#### 3.5.2 PICO Room Factors: +- When a client actively leaves a PICO room, the server immediately removes the player from the room (other players in the scene will see them leaving). +- If a client stops sending heartbeats for more than 10 seconds (which can happen in poor network conditions), the server will remove the player from the PICO room. +- If a PICO room is empty (no players) for more than 10 seconds, the room will be deleted, and any join requests to that room will fail. +#### 3.5.3 Behavior in Examples: +- After a successful match, if a client joins the room before the host, the client will not see any capsules in the scene because the handshake between the client and the host cannot be completed. Once the host joins, the handshake will be completed, and the capsules representing both sides will appear in the scene. If the host does not join within 10 seconds, the client will exit due to a handshake timeout. +- If a client leaves the room but the host is still in the room, the client can rejoin the same room. +- If the host leaves the room, the client will detect the host's departure and voluntarily exit the room. +- If the host leaves the room, within 10 seconds the PICO server still keeps the room, and the host can rejoin the room. +- If the room is empty for more than 10 seconds, the server will close the room. Any join requests from the host or clients will fail, and they will return to the initial interface. +- In case of a network disconnection: + - If the connection is restored within 10 seconds, the logic will continue normally. + - If a client fails to reconnect within 10 seconds or keeps failing to reconnect: + - The timed-out client will return to the initial interface. + - The other clients still in the room will see the disconnected client leaving the scene if they were the host, or they will exit themselves if the disconnected client was the host. + +## 4. PicoTransport Usage Instructions +### 4.1 Working Modes +The application logic can be divided into two parts: the logic outside the room (including entering the room) and the logic inside the room. +The logic outside the room does not involve NetCode. The purpose of this part of the logic is to gather players together and join them in the same PICO room so that they can exchange messages. +The logic after entering the room, which is related to synchronization, needs to be supported by NetCode. In the room, PicoTransport acts as the communication layer for NetCode, responsible for supporting low-level message communication. +PicoTransport has two working modes, 'SimpleMode' and 'ExternalRoom' mode, which are related to these two parts of the logic: +- In 'SimpleMode', there is no logic outside the room. The developer only needs to set a common room name, and PicoTransport will handle the rest internally, including gathering suitable players together and joining them into the same PICO named room. In this mode, the PICO room is transparent to the developer. +- In 'ExternalRoom' mode, the developer needs to handle the logic outside the room. This mode provides more flexibility, allowing the developer to control how players gather together, such as using friend invitations or matchmaking services, etc. However, the cost of this flexibility is more development work. The developer needs to handle the matching and joining process themselves and explicitly manage the room and handle message events inside the room. For PicoTransport, it is important that the developer forward messages and events between NetCode and the external room, as described in [Driving Transport in External Room Mode](#43-driving-picotransport-in-externalroom-mode). + +### 4.2 Using PicoTransport + +##### 4.2.1 Import and Use PicoTransport +- Download the package to your local machine. +- In the Unity Editor, go to 'Windows' > 'Package Manager'. In the Package Manager window, click on '+' > 'Add package from disk'. +![add-package-from-disk](doc-images/add-package-from-disk.png) + Select the PicoTransport directory you just downloaded and choose the package.json file to import PicoTransport. +- After importing PicoTransport, import the samples as needed. +![import-samples](doc-images/import-samples.png) +- Set the 'Network Transport' of the NetworkManager to PicoTransport. +![use-transport-component](doc-images/use-transport-component.png) + +##### 4.2.2 Configuring the PicoTransport Component +- Simple Mode + In 'Simple' mode, developers only need to configure the PicoTransport component and do not need to write additional code to access the PICO platform services. The configuration options are as follows: + [simplemode-config](doc-images/simplemode-config.png) + +| Configuration Option | Value | Description | +|---------|-----------|-----| +| WorkMode | Simple | Select the Simple mode.| +| RoomName | Room Name | Choose a room name that is appropriate for your business and notify all players in a suitable way. Internally, this configuration specifies the name of the named PICO room. | +| Password | Room Password | The password for the named PICO room. If not set, the room will have no password.| + +- External Room Mode + In 'ExternalRoom' mode, developers need to write code to call the various PICO platform services to join the PICO room, as well as receive and handle messages and events from the PICO room to drive the operation of PicoTransport. See [Driving Transport in External Room Mode](#43-driving-picotransport-in-externalroom-mode) for more details. +![externalmode-config](doc-images/externalmode-config.PNG) + +| Configuration Option | Value | Description | +|---------|-----------|-----| +| WorkMode | External Room | Select the ExternalRoom mode.| + +### 4.3 Driving PicoTransport in ExternalRoom Mode + In contrast to 'SimpleMode', in 'ExternalRoom' mode, developers use the functionalities provided by the PICO SDK to create and manage PICO rooms. This process needs to be completed before calling Netcode's StartHost/StartClient. + After joining the PICO room, the client calls StartHost or StartClient to start Netcode. Developers need to do two things in their code: + - Forward the received room events and messages to PicoTransport. +>Events: player enter and leave PICO room events, as well as the room player list. +>Messages: Netcode messages from players in the same room. + - When PicoTransport needs to send messages, call the PICO room service API to send the message to the specified target player. +![seq-external-mod](doc-images/seq-external-mod.png) +To accomplish these two tasks, PicoTransport provides an adapter class called ExternalRoomTransportDriver. The main interfaces of this class are as follows: + +| Interface/Event | Purpose | When to Call | +|---------|-----------|-----| +| Init | Initialize PicoTransport | After finding suitable players and successfully joining the same room.
For example, in the OnComplete callback of PICO SDK's RoomService.Join2. | +| HandleRoomInfoUpdate | Notify PicoTransport of the changes in the PICO room | When the room information changes, such as when someone enters the room.
For example, in the callback set by RoomService.SetUpdateNotificationCallback.| +| Update | Drive the process periodically | Called every frame.
This function call HandleMsgFromRoom to receive messages from the PICO room and pass them to PicoTransport. | +| OnDriverEvent | Event notification |Possible events include: Error, Shutdown, BeforeReenter/AfterReenter.
BeforeReenter/AfterReenter are called before and after the previous host leaves and the client restarts Netcode. | + +>The logic outside the room is a prerequisite for the operation of the 'ExternalRoom' mode, but this logic is not included in PicoTransport. +>In the PicoTransport example, a helper class called 'Netcode.Transports.Pico.ExternalModeSDKUser' is used. +>This class encapsulates the initialization of the PICO platform SDK, token retrieval, PICO User retrieval, PICO Game service initialization, PICO matchmaking, entering the room, and other related APIs. It also registers callbacks to handle messages and events from the PICO services. +>Developers can use ExternalModeSDKUser to call PICO services to complete the process of joining a room. They can also modify this class as needed to use other PICO platform service functionalities such as destination/RTC, etc. + +>Main interfaces of ExternalModeSDKUser:: +>| Interface Name | Purpose | +>|---------|-----------| +>| StartPicoGame | Initialize the PICO platform, retrieve the access token, retrieve the logged-in user, and call game initialize. | +>| StartMatchmaking/StartJoinRoom/StartLeaveRoom | Join matchmaking, join room, leave room. | +>| StartNetcode/StopNetcode | Start Netcode. This function internally calls StartHost/StartClient of Netcode based on whether it is the PICO room host or not. | +>| OnStatusChange | Callback when the status changes, such as platform initialization completed, successful matchmaking, etc. | + +### 4.4 Notes and Recommendations: +- If the host leaves the PICO room, the current Netcode session of all clients should end. However, in PICO, clients other than the original host remain in the PICO room without exiting. At this point, developers have two options: + - Make these clients also exit the PICO room, ending the entire game. + - Let the new PICO room owner start StartHost, and other members in the room restart StartClient. This way, Netcode can be started again and the original game can continue. To do this, developers need to handle the host leaving event appropriately and save and restore the game state. PicoTransport provides some support for this by calling StartHost/StartClient again depending on whether it is the new PICO room owner or not. Please refer to the 'Multiplayer' code for more details. +- PicoTransport internally handles the sending and receiving of messages within the PICO room. The business logic should not use the message sending and receiving functions of the PICO SDK's NetworkService. +- To work around the bug in the PICO Unity Integration SDK v2.x.x that causes the failure to retrieve PICO user information when running in the Unity Editor, you can temporarily comment out the call to CLIB.ppf_User_GetPresenceIsJoinable in the User.cs script located in PICO.Platform/Platform/Scripts/Models at line 85. This will bypass the bug and allow you to proceed with the examples. +![pico-error](doc-images/pico-platform-error.png) diff --git a/Transports/com.community.netcode.transport.pico/README.md.meta b/Transports/com.community.netcode.transport.pico/README.md.meta new file mode 100644 index 00000000..284f0c66 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4ff9e8d69659330418658ec9b32d22fc +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/README.zh-CN.md b/Transports/com.community.netcode.transport.pico/README.zh-CN.md new file mode 100644 index 00000000..e6129023 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/README.zh-CN.md @@ -0,0 +1,206 @@ +# PicoTransport说明 +## 1. 概要介绍 +PICO transport实现Netcode的INetworkTransport接口,完成Netcode和PICO房间服务的对接。 +通过PICO transport,开发者可以使用Netcode+PICO房间服务开发多人联网的PICO应用, 整体结构如下: +![add package](doc-images/struct-1.png) + +## 2. 准备工作 +### 2.1. PICO VR基本环境 +- 跟随PICO官方文档中的["快速开始"](https://developer-cn.pico-interactive.com/document/unity)一节, 完成基本的PICO VR环境设置,并新建一个VR项目 +![fast-start](doc-images/fast-start.PNG) +>PICO依赖一些preview的package, 比如‘XR Interaction Toolkit’:,请打开preview package开关以安装这些package,如下图所示: +>![preview-package](doc-images/preview-package.PNG) +>在PICO Unity Integration SDK v2.x.x中有一个bug,该bug会导致在Unity Editor中运行时取PICO user信息失败。为了运行后续的例子,请临时注释掉对CLIB.ppf_User_GetPresenceIsJoinable的调用(PICO.Platform/Platform/Scripts/Models/User.cs:85),以绕过此bug: +![pico-error](doc-images/pico-platform-error.png) + +### 2.2. PICO多人联网服务开通 +- 在[PICO平台](https://developer-cn.pico-interactive.com/)上申请开发者帐号,创建app +- 创建app后,开通此app的PICO匹配和房间服务: +![open-matchmaking-service](doc-images/open-matchmaking-service.png) +- 在'匹配服务'中按需新建PICO匹配池 +>为了运行附带的例子,**请务必创建一个名字为test_pool_basic_2的匹配池, 并设置‘管理房间'以及'允许多次匹配到此房间'选项**,如下图所示: +>![set-matchmaking-pool](doc-images/set-matchmaking-pool.png) + +### 2.3. Unity工程中的配置 +- 配置PICO sdk以及PC Debug: +![pxr-sdk-setting](doc-images/pxr-sdk-setting.png) +- 在平台sdk设置('PXR_SDK' > 'Platform Settings')中取消选项'UserEntitlementCheck': +![uncheck-entitlement-check](doc-images/uncheck-entitlement-check.png) +- PC Debug设置Access Token('PXR_SDK'>'PC Debug Settings'): +![pc-debug-setting](doc-images/pc-debug-setting.png) +Access Token请从[PICO开发者平台](https://developer-cn.pico-interactive.com/)查询获取: +![app-accesstoken](doc-images/app-accesstoken.png) +- 完成配置修改后,关闭并重新打开Unity Editor(PC Debug需要) + +## 3. 快速开始 +### 3.1 例子功能 +SimpleMode例子修改自netcode goldenpath,功能是在PICO设备上同步代表不同客户端的胶囊体。该例子内部使用了PICO Platform服务和PicoTransport,具体而言: 参与方clients加入同一个PICO命名房间,而后使用PICO Platform的消息收发接口实现Netcode通信。 + +### 3.2 导入PICO transport和例子工程 +下载Packageg保存至本地, 然后在Unity Editor中,从菜单栏选择'Windows' > 'Package Manager' +在 Package Manager 窗口中,点击 '+' > 'Add package from disk' +![add-package-from-disk](doc-images/add-package-from-disk.png) +选择刚刚下载的PicoTransport目录,选中package.json导入PicoTransport。导入PicoTransport后,继续将Samples也导入工程。 +![import-samples](doc-images/import-samples.png) + +### 3.3 运行SimpleMode例子 +#### 3.3.1. 在Editor中运行 +- 至下图路径打开'SimpleMode'场景: +![path-of-simplemode-scene](doc-images/path-of-simplemode-scene.png) +- 在Unity Editor中确认相关配置如下: +![run-in-editor-simplemode](doc-images/run-in-editor-simplemode.png) +- 点击Play按钮运行场景,按提示将当前场景加入build scenes。 +![build-simplemode-scene](doc-images/build-simplemode-scene.png) +- 点击'StartRoom'按钮(或者NetworkManager组件中的StartHost按钮),场景中出现一个红色胶囊,此时Netcode host已正常运行, 点击Move会随机移动代表host的胶囊: +![simplemode-move](doc-images/simplemode-move.png) +为了测试双人netcode交互,让我们再编译一个实例到PICO设备上,请按以下步骤继续操作。 + + +#### 3.3.2. 编译到PICO设备运行 +- Unity Editor菜单栏中选择'File' > 'Build Settings ...',在build setting界面中,将之前准备工作中加入的基本XR场景移除,只勾选添加SampleMode场景: +![build-simplemode](doc-images/build-simplemode-scene.png) +- 将平台切换至android(确保相关平台配置与[2.1](#21-pico-vr基本环境)节中的官方'快速开始'一节相符)。 +在Android页签中,点击'Switch Platform'切换至安卓平台,如果红框所示位置为'Build',则当前已是Android平台,无需切换。 +![build-simplemode-buildrun](doc-images/build-simplemode-buildrun.png) +- 连接PICO设备,在'Run Device'中选择自己的PICO设备,点击'Build And Run'。提示生成apk存放路径时,新建一个output目录存放。 +![build-simplemode-buildrun-2](doc-images/build-simplemode-buildrun-2.png) + +#### 3.3.3. Unity Editor与PICO设备联调 +'Build And Run'结束后,可以开始PICO设备与Editor的联调。 +戴上PICO设备,点击'Join Room'按钮,此时PICO设备端会加入Editor建立的房间(例子中的房间名为'abc'), +房间中出现两个红色胶囊,一个为editor中的host,一个为PICO设备中的client。在Editor或PICO中点击'Move'按钮,可以看到胶囊位置在Editor和PICO设备间同步变化: +![simplemode-inroom](doc-images/simplemode-inroom.png) +>如果设备上初始化失败,提示“签名不一致”可以将 apk 包上传到开发者平台同步签名信息 +>注意: PICO设备熄屏时netcode逻辑也停止,所以如果是PICO设备作为host开启的房间('Start Room'),则client移动时要保证PICO上的app亮屏,这样,host处于运行状态,才能处理client发来的netcode同步消息 + +### 3.4 其它例子 +#### 3.4.1 MatchmakingRoom +MatchmakingRoom例子与SimpleMode例子的区别在于: +- SimpleMode场景中没有匹配步骤,相关clients通过事先约定的房间名字,加入同一个PICO命名房间。而在Matchmaking场景中,clients是通过PICO的匹配服务聚集到一起,然后加入同一个PICO匹配房间。 +- 由于SimpleMode场景无需匹配过程,所以该场景中PicoTransport工作于'Simple Mode'模式,'Simple Mode'模式下PicoTransport内部封装了创建和进入房间的过程,开发者无需关心PICO.CoreService/PICO.GameService的具体调用,只配置约定的房间名字即可。 + 反之,在MatchmakingRoom场景中,开发者显式地调用PICO的Platform服务API进行匹配和进房间操作。在Matchmaking场景中,由于PicoTransport需要和开发者管理的PICO房间交互,所以该场景下的PicoTransport工作于'External Room'模式。‘Simple'和'External Room'两种模式的更详细区别参见[4.使用说明](#4-picotransport使用说明)一节。 +##### 运行MatchmakingRoom例子 + - 编译该场景至PICO设备上,build时仅勾选‘MatchmakingRoom'场景: +![matchmakingroom-buildrun](doc-images/matchmakingroom-buildrun.png) + - Editor中运行,点击'InitPicoSDK'按钮,此时内部会进行PICO的初始化,并将自身加入[2.2节](#22-pico多人联网服务开通)中配置的'test_pool_basic_2'匹配池。加入匹配池成功后,界面提示自身uid,并等待其它client加入匹配: +![matchmakingroom-waiting](doc-images/matchmakingroom-waiting.png) + - 在PICO设备中,点击'InitPicoSDK'按钮,加入到匹配池中去。由于匹配条件满足,PICO匹配服务会将editor与PICO设备中的两个client匹配到一起,并创建匹配房间等待这两个client加入。此时界面显示'JoinRoom'按钮: +![matchmakingroom-joinroom](doc-images/matchmakingroom-joinroom.png) + - 在Editor和PICO中分别点击JoinRoom加入PICO匹配房间。加入房间后会开始NetCode的位置同步,如下图所示。点击'Submit position'移动代表自身的胶囊,并在两个client间进行位置同步 +![matchmakingroom-inroom](doc-images/matchmakingroom-inroom.png) +>注意: +>1. PICO的匹配房间有保留时间限制,如果迟迟不点'JoinRoom'加入房间,则10秒后该房间会在PICO服务器侧销毁,此后再试图加入房间会失败,并回到初始界面。 +>2. Netcode的client加入时,需要与host握手,只有握手完成才能开始正常的同步通信过程。所以如果在host加入房间之前,client一侧先点了'JoinRoom',则client会卡在房间内界面。其原因是, host还未加入房间,不能处理client发过来的消息, 只有等host也'JoinRoom'后,双方的netcode握手才能完成,代表双方的红色胶囊才会生成出来,并开始正常的通信同步。 + +#### 3.4.2 Multiplayer +multiplayer例子与MatchmakingRoom类似,场景中PicoTransport也工作于'ExternalRoom'模式,并使用PICO的匹配服务聚集到一起。相比MatchmakingRoom,Multiplayer同步了更多的信息,比如玩家的动作,所以是一个更为实际些的例子。 +##### 运行Multiplayer例子 +- 编译该场景至PICO设备上并运行,**注意依次添加‘Init', 'Start'和'Fight'场景(序号0/1/2)**: +![multiplayer-buildrun](doc-images/multiplayer-buildrun.png) +- Editor中运行,点击'Start'按钮,开始加入匹配: +![multiplayer-start](doc-images/multiplayer-start.png) +加入匹配成功后,提示'InMatching...',表示正在等待其它玩家参与匹配: +![multiplayer-inmatchmaking](doc-images/multiplayer-inmatchmaking.png) +- PICO设备中点击'Start'按钮以加入匹配 +此时,由于匹配条件满足,PICO匹配服务将editor与PICO中的两个client匹配到一起,创建匹配房间。双方client进入此匹配房间后,开始Netcode的移动同步。移动到右侧绿色区域可以离开当前场景: +![multiplayer-inroom](doc-images/multiplayer-inroom.png) + +### 3.5 特殊情况下的例子表现 +有两方面因素会影响弱网情况下的表现: 1.Netcode以host/server为中心的拓扑结构; 2.PICO房间对玩家离开的处理; +#### 3.5.1 Netcode因素: +- netcode以host(PICO房间的owner)作为逻辑控制中心点,必须有host在房间内,逻辑才能正常进行。所以如果client先加入房间,而另一侧host还未准备好的话,则client会卡住并等待host +- netcode中host离开时,整个游戏session结束,此时client也将退出游戏session +#### 3.5.2 PICO房间因素: +- client主动退出PICO房间,服务器立刻将玩家从PICO房间中删去(场景中的其它人会看到其离开) +- client停止心跳超过10秒(网络状况不佳时可能发生此情况),服务器会将玩家从PICO房间中删去 +- PICO房间内空置(没有人)超过10秒, 此房间会删去,加入此房间的请求会失败 +#### 3.5.3 这两方面因素影响下的例子场景表现: +- 匹配成功后,host尚未加入的情况下,client先'join room',与host的netcode握手不能完成,场景中不会显示任何胶囊体。此后,在host也加入后,netcode的握手会完成,代表双方的胶囊体会出现在场景中。超过10秒host仍未进入,则10秒后client会因为握手超时退出 +- client离开房间但host还在房间中,client可以重新join回到该房间 +- host离开房间, client发现host离开后自己也主动退出 +- host离开房间,10秒内PICO服务器的房间仍存在,host可以重新加入房间 +- 房间空置超过10秒,服务器会关闭此房间,此时host/client的join room请求都会失败,回到初始界面 +- 网络断开时: + - 10秒内重连上,逻辑继续正常进行; + - client超过10秒重连上或者一直重连不上 + - 超时的client自身:回到初始界面 + - 另一侧网络正常的client端:如果对端为host,则自身退出; 如果对端为client,则会看到对方从场景中离开 + +## 4. PicoTransport使用说明 +### 4.1 工作模式 +应用逻辑可分成两部分: 房间外逻辑(包括进房间)和房间内逻辑。 +房间外逻辑不涉及Netcode,这一部分逻辑的目的是将玩家聚集到一起并加入同一PICO房间,这样相关玩家之间才能够进行消息的收发。 +与Netcode有关的是进入房间以后的同步逻辑,这一部分逻辑需要由Netcode来支持。在房间内逻辑阶段中,PicoTransport作为Netcode的通信层,负责支持Netcode的底层消息通信。 +与这两部分逻辑相关,PicoTransport有两种工作模式: 'SimpleMode'和'ExternalRoom'模式: +- 在'Simple'模式下,没有房间外逻辑。开发者只负责设定好一个共同的房间名字,其它逻辑都由PicoTransport在内部完成,包括: 将合适的玩家聚集到一起,将他们加入同一PICO命名房间等。在这一模式下,PICO房间对开发者透明。 +- 在'ExternalRoom'模式下,开发者需要负责房间外逻辑。该模式提供了更多的自由度,开发者可以控制玩家如何聚集到一起,比如使用好友邀请,或者使用匹配服务等等。但自由度的代价是开发工作量,开发者需要自行完成匹配和加入房间的过程,并且显式地管理房间和处理房间内的消息事件。对于PicoTransport,重要的是,开发者需要在Netcode与外部房间之间进行消息和事件的转发,具体见[4.3节](#43-externalroom模式下驱动picotransport工作)。 + +### 4.2 使用PicoTransport + +##### 4.2.1 导入并使用PicoTransport +- 下载Packageg至本地 +- 在Unity Editor中,从菜单选择'Windows' > 'Package Manager' + 在Package Manager窗口中,点击'+' > 'Add package from disk' +![add-package-from-disk](doc-images/add-package-from-disk.png) + 选择刚刚下载的PicoTransport目录,选中package.json导入PicoTransport +- 导入PicoTransport后,按需导入Samples +![import-samples](doc-images/import-samples.png) +- 将NetworkManager的transport设为PicoTransport +![use-transport-component](doc-images/use-transport-component.png) + +##### 4.2.2 配置PicoTransport组件 +- Simple模式 + 'Simple'模式中,开发者只需要配置PicoTransport组件,不需要额外写代码访问PICO platform服务。配置项如下: +![simplemode-config](doc-images/simplemode-config.png) + +| 配置项 | 配置值 | 说明 | +|---------|-----------|-----| +| WorkMode | Simple | 选择Simple模式| +| RoomName | 房间名 | 由业务选择并以合适的方式通知给所有玩家,在内部,该配置指明named PICO room的名字 | +| Password | 房间口令 | named PICO room的口令,如果不设置,则房间无口令| + +- ExternalRoom模式 + 'ExternalRoom'模式中,开发者需要编写代码自行调用PICO平台各项服务以加入PICO房间,同时接收处理PICO房间的消息和事件,驱动PicoTransport运行,具体见[4.3节](#43-externalroom模式下驱动picotransport工作)。 +![externalmode-config](doc-images/externalmode-config.PNG) + +| 配置项 | 配置值 | 说明 | +|---------|-----------|-----| +| WorkMode | External Room | 选择'ExternalRoom'模式| + +### 4.3 ExternalRoom模式下驱动PicoTransport工作 + 与'SimpleMode'不同,在'ExternalRoom'模式时,开发者自行使用PICO SDK提供的功能创建PICO房间并管理,该过程需要在调用Netcode StartHost/StartClient之前完成。 + 加入PICO房间之后,client调用StartHost或者StartClient启动Netcode。Netcode运行过程中,开发者需要在代码中完成两件事: + - 将收到的房间变化信息和消息转给PicoTransport +>事件包括: 玩家进入和离开PICO房间事件,以及房间玩家列表 +>消息包括: 来自同房间玩家的Netcode消息 + - 在PicoTransport需要发送消息时,调用PICO房间服务接口把消息发给指定目标玩家 +![seq-external-mod](doc-images/seq-external-mod.png) +为了完成这两件事,PicoTransport提供了适配类ExternalRoomTransportDriver, 该类的主要接口如下: + +| 接口/事件 | 作用 | 调用时机 | +|---------|-----------|-----| +| Init | 初始化PicoTransport | 找到合适的其它玩家,并一起成功加入同一房间之后
例如在PICO SDK RoomService.Join2的OnComplete中 | +| HandleRoomInfoUpdate | 将PICO房间的信息变化通知给PicoTransport | 房间信息变化时,例如人员进入房间
例如在RoomService.SetUpdateNotificationCallback所设置的回调中调用 | +| Update | 定时驱动 | 每帧反复调用
该函数内部调用HandleMsgFromRoom以接收PICO房间发来的消息并传给PicoTransport | +| OnDriverEvent | 事件通知 |可能事件包括: Error、Shutdown、BeforeReenter/AfterReenter
其中BeforeReenter/AfterReenter在之前的host离开,client重新start netcode之前和之后被调用 | + +>房间外逻辑是‘ExternalRoom'模式工作的前提,但这部分逻辑不包含在PicoTransport中。 +>在PicoTransport例子中,使用了一个辅助类'Netcode.Transports.Pico.ExternalModeSDKUser'。 +>该类封装PICO platform SDK初始化,token获取,PICO User获取,PICO Game服务初始化,PICO匹配和进房间等等相关接口,同时注册了回调以处理来自PICO服务的消息与事件。 +>开发者可以使用ExternalModeSDKUser来调用PICO服务以完成进房间流程,也可以按需修改此类,以使用其它PICO平台服务功能,比如destnation/RTC等等。 + +>ExternalModeSDKUser的主要接口: +>| 接口名 | 作用 | +>|---------|-----------| +>| StartPicoGame | 初始化PICO platform, 取access token, 取logged in user, 调用game initialize | +>| StartMatchmaking/StartJoinRoom/StartLeaveRoom | 加入匹配、加入房间、离开房间 | +>| StartNetcode/StopNetcode | 开始Netcode,该函数内部会根据自身是否为PICO房主,分别调用Netcode的StartHost/StartClient | +>| OnStatusChange | 状态发生变化时的回调,例如平台初始化完成,加入匹配成功等 | + +### 4.4 说明与建议: +- 如果host离开了PICO房间,则所有client的当前Netcode session都应结束。不过,在PICO中,原host之外的clients仍然在PICO房间内而没有退出。此时,开发者有两个选择: + - 让这些clients也退出PICO房间,结束整个游戏; + - 由新的PICO房间房主重新StartHost,其它在房间中的普通成员则重新StartClient,通过这种方式再次开始Netcode,并继续原来的游戏。为此,开发者需要适当处理host离开事件,并保存和恢复游戏状态。PicoTransport对此作了一定支持,即在原host离开时,根据自身是否为新的PICO房主,分别重新调用StartHost/StartClient。具体请参考Multiplayer代码。 +- PicoTransport内部接管了PICO房间内的消息收发,业务不要再使用PICO SDK NetworkService中的收发消息函数。 +- 在PICO Unity Integration SDK v2.x.x中有一个bug,该bug会导致在Unity Editor中运行时取PICO user信息失败。为了运行后续的例子,请临时注释掉对CLIB.ppf_User_GetPresenceIsJoinable的调用(PICO.Platform/Platform/Scripts/Models/User.cs:85),以绕过此bug: +![pico-error](doc-images/pico-platform-error.png) diff --git a/Transports/com.community.netcode.transport.pico/README.zh-CN.md.meta b/Transports/com.community.netcode.transport.pico/README.zh-CN.md.meta new file mode 100644 index 00000000..d9517920 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/README.zh-CN.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 72f09057882d30f45b3a6e83b39d843b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime.meta b/Transports/com.community.netcode.transport.pico/Runtime.meta new file mode 100644 index 00000000..6230babb --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cdab29e83ab424d4b90ade30aab97a2c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/Editor.meta b/Transports/com.community.netcode.transport.pico/Runtime/Editor.meta new file mode 100644 index 00000000..56ecf71a --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1edc42a9c923a9f43a6020d529163ed6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/Editor/PicoTransportEditor.cs b/Transports/com.community.netcode.transport.pico/Runtime/Editor/PicoTransportEditor.cs new file mode 100644 index 00000000..7c313423 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/Editor/PicoTransportEditor.cs @@ -0,0 +1,50 @@ +#if UNITY_EDITOR +using UnityEditor; +using Netcode.Transports.Pico; + +namespace Netcode.Transport.Pico +{ + [CustomEditor(typeof(PicoTransport))] + [CanEditMultipleObjects] + public class PicoTransportEditor : Editor + { + SerializedProperty _workMode; + SerializedProperty _independentInfo; + SerializedProperty _transportLogLevel; + void OnEnable() + { + _workMode = serializedObject.FindProperty("WorkMode"); + _independentInfo = serializedObject.FindProperty("SimpleModeInfo"); + _transportLogLevel = serializedObject.FindProperty("TransportLogLevel"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + EditorGUILayout.PropertyField(_workMode); + EditorGUILayout.PropertyField(_transportLogLevel); + PicoTransport.SetLogLevel((PicoTransport.LogLevel)_transportLogLevel.enumValueIndex); + PicoTransport.EWorkMode tmpWorkMode = (PicoTransport.EWorkMode)_workMode.enumValueIndex; + switch (tmpWorkMode) + { + case PicoTransport.EWorkMode.ExternalRoom: + { + EditorGUILayout.LabelField("ExternalRoom Mode"); + } + break; + case PicoTransport.EWorkMode.Simple: + { + EditorGUILayout.LabelField("Simple Mode"); + EditorGUILayout.PropertyField(_independentInfo, true); + } + break; + default: + EditorGUILayout.LabelField("invalid work mode"); + return; + } + serializedObject.ApplyModifiedProperties(); + } //OnInspectorGUI() + + } +} +#endif diff --git a/Transports/com.community.netcode.transport.pico/Runtime/Editor/PicoTransportEditor.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/Editor/PicoTransportEditor.cs.meta new file mode 100644 index 00000000..8216fa20 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/Editor/PicoTransportEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f7f6bdd51660bea43a1d10617407ef05 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode.meta b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode.meta new file mode 100644 index 00000000..e7ecc17b --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7080a94ee9e2ace458921722dc5dd872 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.Handler.cs b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.Handler.cs new file mode 100644 index 00000000..a70a1c40 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.Handler.cs @@ -0,0 +1,323 @@ +using UnityEngine; + +using Pico.Platform.Models; +using Pico.Platform; +using System; +using static Netcode.Transports.Pico.PicoTransport; + +namespace Netcode.Transports.Pico +{ + public partial class ExternalModeSDKUser + { + bool _isLastSessionMsg = true; + long _restartTimeoutTick = 0; + + private void Update() + { + if (EGameState.InRoom == _curGameState.CurState) + { + if (_transportDriver != null) + { + _transportDriver.Update(); + } + } + if (_restartTimeoutTick > 0) + { + long curTick = DateTime.Now.Ticks; + if (curTick > _restartTimeoutTick) + { + _restartTimeoutTick = 0; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, "_restartTimeoutTick met, stop PicoSDKUser"); + StopNetcode("restart timeout"); + } + } + } + + private void RegisterNotificationCallbacks() + { + NetworkService.SetNotification_Game_ConnectionEventCallback(GameConnectionEventCallback); + NetworkService.SetNotification_Game_Request_FailedCallback(RequestFailedCallback); + NetworkService.SetNotification_Game_StateResetCallback(GameStateResetCallback); + + MatchmakingService.SetMatchFoundNotificationCallback(MatchmakingMatchFoundCallback); + MatchmakingService.SetCancel2NotificationCallback(MatchmakingCancel2NotificationCallback); + + RoomService.SetLeaveNotificationCallback(RoomLeaveNotificationCallback); + RoomService.SetJoin2NotificationCallback(RoomJoin2NotificationCallback); + RoomService.SetKickUserNotificationCallback(RoomKickUserNotificationCallback); + RoomService.SetUpdateOwnerNotificationCallback(RoomUpdateOwnerNotificationCallback); + RoomService.SetUpdateNotificationCallback(RoomUpdateCallback); + } + + bool IsOldSessionCallback(string callbackDesc) + { + if (_isLastSessionMsg) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"ignore old session callback({callbackDesc})"); + } + return _isLastSessionMsg; + } + + private void MatchmakingMatchFoundCallback(Message message) + { + if (IsOldSessionCallback("matchmaking_found")) + { + return; + } + CommonProcess("ProcessMatchmakingMatchFound", message, () => + { + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"in ProcessMatchmakingMatchFound, roomInfo: {GameUtils.GetRoomLogData(room)}"); + _curGameState.RoomID = room.RoomId; + if (_curGameState.RoomID == 0) + { + CallOnStatusChange(EGameState.NotInited, "matchmaking failed"); + return; + } + _curGameState.RoomData = room; + CallOnStatusChange(EGameState.MatchFound, "matchmaking succeed"); + }); + + } + + private void RoomUpdateCallback(Message message) + { + if (IsOldSessionCallback("room_update")) + { + return; + } + CommonProcess("ProcessRoomUpdate", message, () => + { + var room = message.Data; + _curGameState.RoomData = room; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"!!!!!!, got room update notification: {GameUtils.GetRoomLogData(room)}"); + if (_transportDriver != null) + { + _transportDriver.DriverRoomInfoUpdate(TransportPicoRoomInfo.GetPicoRoomInfo(room)); + } + }); + } + + private void ProcessRoomJoin2(Message message) + { + CommonProcess("ProcessRoomJoin2", message, () => + { + if (message.IsError) + { + var err = message.Error; + PicoTransportLog(LogLevel.Error, $"Join room error {err.Message} code={err.Code}"); + CallOnStatusChange(EGameState.NotInited, "Join room failed"); + return; + } + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"in ProcessRoomJoin2, roomData: {GameUtils.GetRoomLogData(room)}"); + OnRoomJoined(room); + }); + } + + private void ProcessRoomLeave(Message message) + { + CommonProcess("ProcessRoomLeave", message, () => + { + if (message.IsError) + { + var err = message.Error; + PicoTransportLog(LogLevel.Error, $"Leave room error {err.Message} code={err.Code}"); + CallOnStatusChange(EGameState.NotInited, "Leave room failed"); + return; + } + var room = message.Data; + PicoTransportLog(LogLevel.Info, $"in ProcessRoomLeave, roomLeave: {GameUtils.GetRoomLogData(room)}"); + + OnRoomLeft(room); + }); + return; + } + + private void HandleDriverEvent(ExternalRoomTransportDriver.ETransportDriverEvent type, int errorCode, string errorInfo) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"HandleDriverEvent, event {type}"); + switch (type) + { + case ExternalRoomTransportDriver.ETransportDriverEvent.BeforeReenter: + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"transport driver event [before reenter...]"); + return; + case ExternalRoomTransportDriver.ETransportDriverEvent.AfterReenter: + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"transport driver event [... after reenter]"); + return; + case ExternalRoomTransportDriver.ETransportDriverEvent.Stopped: + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"transport driver stopped: ({errorCode}, {errorInfo}), stop transport driver now"); + break; + default: + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"error: ({errorCode}, {errorInfo}), stop transport driver now"); + break; + } + if (_transportDriver != null) + { + _transportDriver.OnDriverEvent -= HandleDriverEvent; + _transportDriver.OnClientEvent -= HandleClientEvent; + _transportDriver = null; + } + CallOnStatusChange(EGameState.NotInited, "pico transport shutdown, return to state NotInited"); + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"driver uninited, return to start scene ..."); + } + + private void HandleClientEvent(Unity.Netcode.NetworkEvent type, ulong clientID) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"!!!, event from transport driver: (event:{type}, clientID:{clientID})"); + if (type == Unity.Netcode.NetworkEvent.Connect) + { + if (Unity.Netcode.NetworkManager.Singleton.IsServer && (ServerCreatePlayerPrefabPath.Length > 0)) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"!!!, spawn player, clientID:{clientID})"); + UnityEngine.Object prefab = Resources.Load(ServerCreatePlayerPrefabPath); + GameObject go = (GameObject)Instantiate(prefab, Vector3.zero, Quaternion.identity); + go.GetComponent().SpawnWithOwnership(clientID, true); + } + } else + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"!!!, TODO: dicsonnect event from transport driver: (event:{type}, clientID:{clientID})"); + } + } + + private void OnRoomJoined(Room room) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"room {room.RoomId} join succeed ..."); + _curGameState.RoomID = room.RoomId; + _curGameState.RoomData = room; + CallOnStatusChange(EGameState.InRoom, "in room now"); + } + + private void OnRoomLeft(Room room) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"room {room.RoomId} leave succeed, leave fighting scene ..."); + if (_curGameState.RoomID != room.RoomId) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"room {room.RoomId} leave succeed, but current is not in this room now, skip this request"); + return; + } + + _curGameState.LastRoomID = _curGameState.RoomID; + _curGameState.RoomID = 0; + _curGameState.RoomData = null; + CallOnStatusChange(EGameState.RoomLeft, "room left"); + } + + private void RoomKickUserNotificationCallback(Message message) + { + if (IsOldSessionCallback("kick_user_notify")) + { + return; + } + CommonProcess("OnRoomKickUserNotification", message, () => + { + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, GameUtils.GetRoomLogData(room)); + }); + } + + private void RoomUpdateOwnerNotificationCallback(Message message) + { + if (IsOldSessionCallback("update_owner_notify")) + { + return; + } + CommonProcess("OnRoomUpdateOwnerNotification", message, () => + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "OnRoomUpdateOwnerNotification"); + }); + } + + private void MatchmakingCancel2NotificationCallback(Message message) + { + if (IsOldSessionCallback("match_cancel")) + { + return; + } + CommonProcess("OnMatchmakingCancel2Notification", message, () => + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "OnMatchmakingCancel2Notification"); + }); + } + private void RoomLeaveNotificationCallback(Message message) + { + if (IsOldSessionCallback("leave_notify")) + { + return; + } + CommonProcess("OnRoomLeaveNotification", message, () => + { + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "room leave notification:"+GameUtils.GetRoomLogData(room)); + OnRoomLeft(room); + }); + } + private void RoomJoin2NotificationCallback(Message message) + { + if (IsOldSessionCallback("join2_notify")) + { + return; + } + CommonProcess("OnRoomJoin2Notification", message, () => + { + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "room join2 response:"+GameUtils.GetRoomLogData(room)); + }); + } + + private void CommonProcess(string funName, Message message, Action action) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"message.Type: {message.Type}"); + if (!message.IsError) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"{funName} no error"); + } + else + { + var error = message.Error; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"{funName} error: {error.Message}"); + } + action(); + } + + private void ProcessMatchmakingEnqueue(Message message) + { + CommonProcess("ProcessMatchmakingEnqueue", message, () => + { + if (message.IsError) + { + EGameState newState = _curGameState.CurState >= EGameState.Inited ? EGameState.Inited : EGameState.NotInited; + CallOnStatusChange(newState, "matchmaking enqueue failed"); + return; + } + var result = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, GameUtils.GetMatchmakingEnqueueResultLogData(result)); + CallOnStatusChange(EGameState.InMatching, "got matchmaking response\nwaiting other player ..."); + }); + } + + private void ProcessCreatePrivate(Message message) + { + CommonProcess("ProcessCreatePrivate", message, () => + { + if (message.IsError) + { + EGameState newState = _curGameState.CurState >= EGameState.Inited ? EGameState.Inited : EGameState.NotInited; + CallOnStatusChange(newState, "create private room failed"); + return; + } + _curGameState.RoomData = message.Data; + _curGameState.RoomID = _curGameState.RoomData.RoomId; + if (_curGameState.RoomID == 0) + { + PicoTransportLog(LogLevel.Error, "unexpected RoomID 0"); + CallOnStatusChange(EGameState.NotInited, "unexpected RoomID 0"); + return; + } + PicoTransportLog(LogLevel.Info, "got create private response:" + GameUtils.GetRoomLogData(_curGameState.RoomData)); + CallOnStatusChange(EGameState.InRoom, "got create private response"); + }); + } + + } +} diff --git a/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.Handler.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.Handler.cs.meta new file mode 100644 index 00000000..246935cc --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.Handler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68c40eee9f7788e429c52a70abcf5fbc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.cs b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.cs new file mode 100644 index 00000000..b0e24c21 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.cs @@ -0,0 +1,435 @@ +using System; +using System.Collections; +using Pico.Platform.Models; +using Pico.Platform; +using UnityEngine; + +namespace Netcode.Transports.Pico +{ + [RequireComponent(typeof(PicoTransport))] + public partial class ExternalModeSDKUser : MonoBehaviour + { + public string ServerCreatePlayerPrefabPath; + + public enum EGameState + { + NotInited, + InIniting, + UserGot, + InGameIniting, + Inited, + InMatching, + MatchFound, + RoomLeaving, + RoomLeft, + RoomJoining, + InRoom, + } + private struct CurGameState + { + public EGameState CurState; + public ulong LastRoomID; + public ulong RoomID; + public User UserInfo; + public Room RoomData; + } + + public class DevInitInfo + { + public string host; + public ushort port; + public string fakeAccessToken; + public string selfOpenID; + public string app_id; + public int region_id; + public bool via_proxy; + } + + //params: oldState, curState, statusDesc, selfOpenID, roomDesc + public event Action OnStatusChange; + + private CurGameState _curGameState; + private ExternalRoomTransportDriver _transportDriver; + private bool _autoRestartNetcodeOnHostLeave; + private bool _autoMatchmaking = true; + private string _matchPoolName = "test_pool_basic_2"; + + // Start is called before the first frame update + private void Start() + { + _curGameState.CurState = EGameState.NotInited; + _curGameState.RoomID = 0; + RegisterNotificationCallbacks(); + } + + private void OnDestroy() + { + StopNetcode("SimpleSDKUser destroyed"); + } + + public void SetAutoMatchmakingAfterInit(bool autoMatchmaking, string poolName = "") + { + _autoMatchmaking = autoMatchmaking; + _matchPoolName = poolName.Length > 0 ? poolName : _matchPoolName; + } + + public void StartPicoGame(TextAsset mock_config = null) + { + if (_curGameState.CurState < EGameState.Inited) + { + CallOnStatusChange(EGameState.InIniting, "pico SDK init started ..."); + StartCoroutine(InitPicoPlatformAndGame(mock_config)); + } + else + { + CallOnStatusChange(_curGameState.CurState, "StartPicoGame in Inited State, skip request"); + if (_autoMatchmaking) + { + //already Inited, start Matchmaking immediately + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"auto start matchmaking in StartPicoGame ..."); + StartMatchmaking(); + } + } + } + + private void EndPicoGame(string reason) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"StopPicoGame, reason: {reason} ..."); + CoreService.GameUninitialize(); + _curGameState.LastRoomID = 0; + CallOnStatusChange(EGameState.NotInited, reason); + } + + + public void StartNetcode() + { + if (null == _transportDriver) + { + _transportDriver = new ExternalRoomTransportDriver(); + _transportDriver.OnClientEvent += HandleClientEvent; + _transportDriver.OnDriverEvent += HandleDriverEvent; + } + string selfOpenID = _curGameState.UserInfo.ID; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"StartPicoSDKUser, selfOpenID is {selfOpenID}"); + _restartTimeoutTick = 0; + bool result = _transportDriver.Init( _autoRestartNetcodeOnHostLeave, GetComponent(), selfOpenID, _curGameState.RoomData); + if (!result) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Warn, "init pico driver failed"); + } + } + + public void StopNetcode(string desc) + { + if (null == _transportDriver) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"StopPicoSDKUser, transport driver is nil, skip driver uninit, this stop reason({desc})"); + } + else + { + _transportDriver.Uninit($"stop pico sdk user(reason:{desc})"); + _transportDriver = null; + } + EndPicoGame($"stop pico sdk user(reason:{desc}"); + } + + public void StartMatchmaking() + { + CallOnStatusChange(EGameState.InMatching, "start matchmaking ..."); + MatchmakingService.Enqueue2(_matchPoolName, null).OnComplete(ProcessMatchmakingEnqueue); + } + + public void StartCreatePrivateRoom(bool everyone) + { + CallOnStatusChange(EGameState.InMatching, "start create private ..."); + RoomJoinPolicy joinPolicy = RoomJoinPolicy.None; + if (everyone) + { + joinPolicy = RoomJoinPolicy.Everyone; + } + RoomOptions roomOption = new RoomOptions(); + RoomService.CreateAndJoinPrivate2(joinPolicy, 2, roomOption).OnComplete(ProcessCreatePrivate); + } + + public void StartJoinRoomByRoomID(ulong roomID) + { + _curGameState.RoomID = roomID; + StartJoinRoom(); + return; + } + + public void StartJoinNamedRoom(string roomName, string password) + { + if (_curGameState.CurState < EGameState.Inited) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"StartJoinRoom, but game state {_curGameState.CurState} is invalid"); + return; + } + CallOnStatusChange(EGameState.RoomJoining, $"request to join named room {roomName} ..."); + var roomOptions = GameUtils.GetRoomOptions(_curGameState.RoomID.ToString(), null, null, null, null, null); + roomOptions.SetRoomName(roomName); + if (password.Length > 0) + { + roomOptions.SetPassword(password); + } + RoomService.JoinOrCreateNamedRoom(RoomJoinPolicy.Everyone, true, 2, roomOptions).OnComplete(ProcessRoomJoin2); + } + + public void StartJoinRoom() + { + if (_curGameState.RoomID == 0) + { + if (_curGameState.LastRoomID != 0) + { + _curGameState.RoomID = _curGameState.LastRoomID; + _curGameState.LastRoomID = 0; + } + + if (_curGameState.RoomID == 0) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, "no valid room to join"); + return; + } + } + if (_curGameState.CurState < EGameState.Inited) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"StartJoinRoom, but game state {_curGameState.CurState} is invalid"); + return; + } + CallOnStatusChange(EGameState.RoomJoining, $"request to join room {_curGameState.RoomID} ..."); + var roomOptions = GameUtils.GetRoomOptions(_curGameState.RoomID.ToString(), null, null, null, null, null); + RoomService.Join2(_curGameState.RoomID, roomOptions).OnComplete(ProcessRoomJoin2); + } + + public void StartLeaveRoom() + { + if (_curGameState.RoomID == 0) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, "no valid room to leave"); + return; + } + if (_curGameState.CurState < EGameState.RoomJoining) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, "not InRoom, skip this request"); + return; + } + CallOnStatusChange(EGameState.RoomLeaving, $"request to Leaving room {_curGameState.RoomID} ..."); + RoomService.Leave(_curGameState.RoomID).OnComplete(ProcessRoomLeave); + } + + public ulong GetRoomID() + { + if (_curGameState.CurState != EGameState.InRoom) + { + return 0; + } + return _curGameState.RoomID; + } + + private void OnGameInitialize(Message msg) + { + if (msg == null) + { + EndPicoGame($"OnGameInitialize Failed: message is null"); + return; + } + + if (msg.IsError) + { + EndPicoGame($"GameInitialize Failed: {msg.Error.Code}, {msg.Error.Message}"); + } + else + { + if (msg.Data == GameInitializeResult.Success) + { + CallOnStatusChange(EGameState.Inited, "game init succeed"); + if (_autoMatchmaking) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"auto start matchmaking in OnGameInitialize ..."); + StartMatchmaking(); + } + } + else + { + EndPicoGame($"GameInitialize: failed({msg.Data}) please re-initialize"); + } + } + } + + public void SetAutoRestartFlag() + { + _autoRestartNetcodeOnHostLeave = true; + } + + + private void CallOnStatusChange(EGameState curState, string statusDesc) + { + var lastState = _curGameState.CurState; + _curGameState.CurState = curState; + if (_curGameState.CurState == EGameState.NotInited) + { + if (_curGameState.LastRoomID != 0) + { + _curGameState.CurState = EGameState.MatchFound; + } + } + + string matchedInfo = ""; + if (curState == EGameState.MatchFound) + { + matchedInfo = GameUtils.GetRoomLogData(_curGameState.RoomData); + } + OnStatusChange?.Invoke(lastState, _curGameState.CurState, statusDesc, _curGameState.UserInfo?.ID, matchedInfo); + } + + private IEnumerator InitPicoPlatformAndGame(TextAsset mock_config) + { + _isLastSessionMsg = true; + yield return null; + if (!CoreService.Initialized) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"InitPicoPlatformAndGame start coreservice init ..."); + try + { + CoreService.Initialize(null); + } + catch (Exception e) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"exception init pico Core {e}"); + } + if (!CoreService.Initialized) + { + CallOnStatusChange(EGameState.NotInited, "pico SDK init failed ..."); + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, "pico initialize failed"); + yield break; + } + } + CallOnStatusChange(_curGameState.CurState, "CoreService get access token started ..."); + UserService.GetAccessToken().OnComplete(delegate (Message message) + { + CallOnStatusChange(_curGameState.CurState, "get access token finished"); + if (message.IsError) + { + var err = message.Error; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"Got access token error {err.Message} code={err.Code}"); + CallOnStatusChange(EGameState.NotInited, "CoreService get access token failed"); + return; + } + CallOnStatusChange(_curGameState.CurState, "get access token succeed"); + string accessToken = message.Data; + UserService.GetLoggedInUser().OnComplete(delegate (Message userInfo) + { + if (userInfo.IsError) + { + var err = userInfo.Error; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"GetLoggedInUser error {err.Message} code={err.Code}"); + CallOnStatusChange(EGameState.NotInited, "UserService.GetLoggedInUser failed"); + return; + } + + if (userInfo.Data == null) + { + CallOnStatusChange(EGameState.NotInited, "UserService.GetLoggedInUser userInfo.Data is nil"); + return; + } + _curGameState.UserInfo = userInfo.Data; + if (userInfo.Data.ID == "unknow_openid") + { + CallOnStatusChange(EGameState.NotInited, "UserService.GetLoggedInUser invalid openid in User.Data"); + return; + } + CallOnStatusChange(EGameState.UserGot, "GetLoggedInUser complete, player openID"); + + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"got accessToken {accessToken}, GameInitialize begin"); + CallOnStatusChange(EGameState.InGameIniting, "Start game initialization, player openID: userInfo.Data.ID"); + CoreService.GameUninitialize(); + Task request; + _isLastSessionMsg = false; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"[PPF_GAME_Unity] init with accessToken:{accessToken}, self ID: {userInfo.Data.ID}"); + request = CoreService.GameInitialize(accessToken); + + CallOnStatusChange(_curGameState.CurState, "game init started, requestID:" + request.TaskId); + if (request.TaskId != 0) + { + request.OnComplete(OnGameInitialize); + } + else + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"Core.GameInitialize requestID is 0! Repeated initialization or network error"); + CallOnStatusChange(EGameState.NotInited, "game init start failed!"); + } + }); + }); + } + + private void GameConnectionEventCallback(Message msg) + { + if (IsOldSessionCallback("connect_event")) + { + return; + } + var state = msg.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"SimplePicoSDKUser, OnGameConnectionEvent: {state}"); + if (state == GameConnectionEvent.Connected) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "GameConnection: success"); + } + else if (state == GameConnectionEvent.Closed) + { + StopNetcode("GameConnection: failed Please re-initialize"); + } + else if (state == GameConnectionEvent.GameLogicError) + { + StopNetcode("GameConnection: failed After successful reconnection, the logic state is found to be wrong, please re-initialize"); + } + else if (state == GameConnectionEvent.Lost) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"######, connect lost, wait reconnecting"); + if (0 == _restartTimeoutTick) + { + /* + A single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond (see TicksPerMillisecond) and 10 million ticks in a second. + */ + _restartTimeoutTick = DateTime.Now.Ticks + 10 * 1000 * 10000; + } + } + else if (state == GameConnectionEvent.Resumed) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"######, connect resumed"); + _restartTimeoutTick = 0; + } + else if (state == GameConnectionEvent.KickedByRelogin) + { + StopNetcode("GameConnection: login in other device, try reinitialize later"); + } + else if (state == GameConnectionEvent.KickedByGameServer) + { + StopNetcode("GameConnection: be kicked by server, try reinitialize later"); + } + else + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "GameConnection: unknown error"); + } + } + + private void RequestFailedCallback(Message msg) + { + if (IsOldSessionCallback("request_failed")) + { + return; + } + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"OnRequestFailed: {msg.Data}"); + } + + private void GameStateResetCallback(Message msg) + { + if (IsOldSessionCallback("game_state_reset")) + { + return; + } + StopNetcode("local game state disaccord with that of the server, please re-initialize"); + } + } + +} + diff --git a/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.cs.meta new file mode 100644 index 00000000..95736e4d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalModeSDKUser.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7130cb81802d6e45835a346f31e2600 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.RoomProvider.cs b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.RoomProvider.cs new file mode 100644 index 00000000..fb126cae --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.RoomProvider.cs @@ -0,0 +1,84 @@ +using System; +using static Netcode.Transports.Pico.PicoTransport; + +namespace Netcode.Transports.Pico +{ + public partial class ExternalRoomTransportDriver : IRoomProvider + { + private TransportRoomStatus _status = new TransportRoomStatus(); + + private bool InitRoomProvider(TransportPicoRoomInfo picoRoomWrapper) + { + _status.PicoRoomWrapper = picoRoomWrapper; + _status.ParseUIDInfo(); + return true; + } + + public bool IsSelfOwner() + { + return _status.SelfUID == _status.TransportRoomInfoOfUIDs.OwnerUID; + } + + public bool IsInRoom() + { + return (0 != _status.SelfUID) && (0 != _status.TransportRoomInfoOfUIDs.RoomID); + } + + public ulong GetSelfLoggedInUID() + { + return _status.SelfUID; + } + + private TransportRoomInfo GetTransportPicoRoomInfo() + { + return _status.TransportRoomInfoOfUIDs; + } + + private void HandleMsgFromRoom(string senderOpenID, byte[] msg) + { + ulong senderUID; + if (!_status.OpenID2UIDs.TryGetValue(senderOpenID, out senderUID)) + { + PicoTransportLog(LogLevel.Error, $"got msg from developer with unkown sender {senderOpenID}"); + return; + } + var payload = new ArraySegment(msg, 0, msg.Length); + _picoTransport.OnPkgRecved(senderUID, payload); + } + + public bool RoomKickUserByID(ulong roomID, ulong clientID) + { + string clientOpenID; + if (!_status.UID2OpenIDs.TryGetValue(clientID, out clientOpenID)) + { + PicoTransportLog(LogLevel.Error, $"RoomKickUserByID, {clientID} is not in this room"); + return false; + } + _status.PicoRoomWrapper.KickUser(roomID, clientOpenID); + return true; + } + + public bool RoomLeave(ulong roomID) + { + if (roomID != _status.TransportRoomInfoOfUIDs.RoomID) + { + PicoTransportLog(LogLevel.Error, $"RoomLeave, current is not in room {roomID}, skip this leave request"); + return false; + } + _status.PicoRoomWrapper.LeaveRoom(roomID); + return true; + } + + public bool SendPacket2UID(ulong clientID, byte[] dataArray) + { + string tgtOpenID; + if (!_status.UID2OpenIDs.TryGetValue(clientID, out tgtOpenID)) + { + PicoTransportLog(LogLevel.Error, $"SendPacket2UID, target({clientID}) is not in room, skip this send packet request"); + return false; + } + _status.PicoRoomWrapper.SendMsgToUID(tgtOpenID, dataArray); + return true; + } + } //PicoMatchRoomProvider +} diff --git a/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.RoomProvider.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.RoomProvider.cs.meta new file mode 100644 index 00000000..725e4007 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.RoomProvider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9d393d69946584449a247826d006b614 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.cs b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.cs new file mode 100644 index 00000000..fd60a78f --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.cs @@ -0,0 +1,282 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using Unity.Netcode; +using PicoPlatform = Pico.Platform; + +namespace Netcode.Transports.Pico +{ + public partial class ExternalRoomTransportDriver + { + public enum ETransportDriverEvent + { + Error, + Stopped, + BeforeReenter, + AfterReenter, + } + public event Action OnClientEvent; + public event Action OnDriverEvent; + + private string _selfOpenID; + private bool _inited; + private TransportPicoRoomInfo _picoRoomWrapper; + private PicoTransport _picoTransport; + private Dictionary _networkid2OpenID; + private bool _restartFlag; + + public bool Init(bool autoRestartNetcode, PicoTransport picoTransport, string selfOpenID, PicoPlatform.Models.Room roomInfo) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"Init transport driver with autoRestartNetcode({autoRestartNetcode}), selfOpenID({selfOpenID}), roomID({roomInfo.RoomId})"); + _selfOpenID = selfOpenID; + _picoTransport = picoTransport; + _restartFlag = false; + if (autoRestartNetcode) + { + _picoTransport.AllowHostMigrateOnHostLeave(); + } + _networkid2OpenID = new Dictionary(); + if (roomInfo.OwnerOptional == null) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "owner is not in room now, postpone transport init ..."); + _inited = false; + return true; + } + return InnerStart(selfOpenID, TransportPicoRoomInfo.GetPicoRoomInfo(roomInfo)); + } + + public void Uninit(string reason) + { + if (!_inited) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"pico transport driver has already stopped, skip(reason: {reason})"); + return; + } + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"Uninit transport driver now(reason: {reason}) ..."); + _inited = false; + _picoTransport.StopPicoTransport(); + if (!_picoTransport.IsHostMigrate()) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "Uninit transport driver reset _picoTransport"); + _selfOpenID = null; + _picoTransport = null; + if (NetworkManager.Singleton) + { + NetworkManager.Singleton.OnClientConnectedCallback -= OnClientConnectedCallback; + NetworkManager.Singleton.OnClientDisconnectCallback -= OnClientDisconnectedCallback; + } + } + } + + private void HandleRoomEvent(TransportPicoRoomInfo.ERoomEvent roomEvent, string eventDesc, PicoRoomInfo roomInfo) + { + switch (roomEvent) + { + case TransportPicoRoomInfo.ERoomEvent.OwnerLeaveRoom: + case TransportPicoRoomInfo.ERoomEvent.SelfLeaveRoom: + case TransportPicoRoomInfo.ERoomEvent.UpdateRoomInfo: + DriverRoomInfoUpdate(roomInfo); + break; + } + + + return; + } + + private bool InnerStart(string selfOpenID, PicoRoomInfo roomInfo) + { + NetworkManager.Singleton.OnClientConnectedCallback -= OnClientConnectedCallback; + NetworkManager.Singleton.OnClientDisconnectCallback -= OnClientDisconnectedCallback; + NetworkManager.Singleton.OnClientConnectedCallback += OnClientConnectedCallback; + NetworkManager.Singleton.OnClientDisconnectCallback += OnClientDisconnectedCallback; + _picoRoomWrapper = new TransportPicoRoomInfo(); + _picoRoomWrapper.InitWithPicoRoomInfo(selfOpenID, roomInfo); + _picoRoomWrapper.OnRoomEvent += HandleRoomEvent; + _picoTransport.OnPicoTransportEvent -= HandlePicoTransportEvent; + _picoTransport.OnPicoTransportEvent += HandlePicoTransportEvent; + + _networkid2OpenID = new Dictionary(); + if (!InitRoomProvider(_picoRoomWrapper)) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, "init picoProvider failed"); + return false; + } + bool isServer = IsSelfOwner(); + _picoTransport.SetRoomProvider(this, GetSelfLoggedInUID(), GetTransportPicoRoomInfo()); + { + NetworkManager.Singleton.NetworkConfig.ConnectionApproval = true; + if (isServer) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"!!! call Netcode's StartHost, selfOpenID {_selfOpenID}"); + NetworkManager.Singleton.ConnectionApprovalCallback = ConnectionApprovalCallback; + NetworkManager.Singleton.StartHost(); + } + else + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"!!! call Netcode's StartClient, selfOpenID {_selfOpenID}"); + NetworkManager.Singleton.NetworkConfig.ConnectionData = System.Text.Encoding.ASCII.GetBytes(_selfOpenID); + NetworkManager.Singleton.StartClient(); + } + }; + _inited = true; + return true; + } + + public string GetOpenIDOfNetworkID(ulong networkID) + { + string openID = ""; + bool got = false; + if (NetworkManager.Singleton.IsServer) + { + got = _networkid2OpenID.TryGetValue(networkID, out openID); + } + return got ? openID : "only valid in server"; + } + + public void DriverRoomInfoUpdate(PicoRoomInfo roomInfo) + { + if (roomInfo.RoomID == 0) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "OnRoomInfoUpdate, room_id is 0(leave room notification)"); + Uninit("room left"); + return; + } + if (!_inited) + { + if (roomInfo.OwnerOpenID.Length<=0) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "owner is not in room now, postpone (again) transport init ..."); + return; + } + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "owner entered room now, issue transport init ..."); + InnerStart(_selfOpenID, roomInfo); + return; + } + _picoRoomWrapper.PicoRoomInfo = roomInfo; + _status.PicoRoomWrapper.PicoRoomInfo = roomInfo; + _status.ParseUIDInfo(); + _picoTransport.OnRoomInfoUpdate(GetTransportPicoRoomInfo()); + } + + private void HandleMsgFromRoom(PicoPlatform.Models.Packet pkgFromRoom) + { + byte[] message = new byte[pkgFromRoom.Size]; + ulong pkgSize = pkgFromRoom.GetBytes(message); + if (pkgSize <= 0) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"OnMsgFromRoom, error pkgSize: {pkgSize}"); + OnDriverEvent?.Invoke(ETransportDriverEvent.Error, -1, "error pkg size from room"); + return; + } + HandleMsgFromRoom(pkgFromRoom.SenderId, message); + } + + private void OnClientConnectedCallback(ulong clientID) + { + string openID; + if (NetworkManager.Singleton.IsServer) + { + bool gotOpenID = _networkid2OpenID.TryGetValue(clientID, out openID); + if (!gotOpenID) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Warn, $"OnClientConnectedCallback, unknown client, its netcode ID {clientID}"); + } else + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"OnClientConnectedCallback, clientID {clientID}, clientOpenID {openID}"); + } + } + OnClientEvent?.Invoke(NetworkEvent.Connect, clientID); + } + + private void OnClientDisconnectedCallback(ulong clientID) + { + string openID; + if (NetworkManager.Singleton.IsServer) + { + bool gotOpenID = _networkid2OpenID.TryGetValue(clientID, out openID); + if (!gotOpenID) + { + //will get here only if the pico room player who has not finished the approval procedure leaves now. + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Warn, $"OnClientDisconnectedCallback, unknown client, its netcode ID {clientID}"); + } else + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"OnClientDisconnectedCallback, clientID {clientID}, clientOpenID {openID}"); + } + } + OnClientEvent?.Invoke(NetworkEvent.Disconnect, clientID); + } + + public void Update() + { + CheckRestartNetcode(); + RecvRoomPackage(); + } + + private bool CheckRestartNetcode() + { + if (!_restartFlag) + { + return false; + } + _restartFlag = false; + if (_picoTransport == null || !(_picoTransport.IsHostMigrate())) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"CheckRestartNetcode, _picoTransport:{_picoTransport}, isHostMigrated:{_picoTransport && _picoTransport.IsHostMigrate()}"); + return false; + } + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"CheckRestartNetcode, got restart flag, reinit picoTransport ..."); + OnDriverEvent?.Invoke(ETransportDriverEvent.BeforeReenter, 0, ""); + InnerStart(_picoRoomWrapper.SelfOpenID, _picoRoomWrapper.PicoRoomInfo); + OnDriverEvent?.Invoke(ETransportDriverEvent.AfterReenter, 0, ""); + return true; + } + + private void RecvRoomPackage() + { + // read packet + var packet = PicoPlatform.NetworkService.ReadPacket(); + while (packet != null) + { + HandleMsgFromRoom(packet); + packet.Dispose(); + packet = PicoPlatform.NetworkService.ReadPacket(); + } + } + + private void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + { + var playerOpenID = System.Text.Encoding.ASCII.GetString(request.Payload); + if (NetworkManager.ServerClientId == request.ClientNetworkId) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"!!!, ClientID(host) {request.ClientNetworkId} pre approval, use m_selfOpenID {_selfOpenID}!"); + playerOpenID = _selfOpenID; + } + _networkid2OpenID.Add(request.ClientNetworkId, playerOpenID); + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"!!!, ClientID {request.ClientNetworkId} start approval, It's openID {playerOpenID}!"); + response.Approved = true; + response.CreatePlayerObject = NetworkManager.Singleton.NetworkConfig.PlayerPrefab != null; + } + + private void HandlePicoTransportEvent(PicoTransport.ETransportEvent transportState) + { + switch (transportState) + { + case PicoTransport.ETransportEvent.Stopped: + { + if (_picoTransport != null && _picoTransport.IsHostMigrate()) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Warn, $"transport will be restart, skip Stop event notification"); + _restartFlag = true; + return; + } + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"driver go event: pico transport shutdown"); + OnDriverEvent?.Invoke(ETransportDriverEvent.Stopped, 0, "transport stopped"); + } + break; + default: + break; + } + return; + } + } +} \ No newline at end of file diff --git a/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.cs.meta new file mode 100644 index 00000000..7a3fd190 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/ExternalMode/ExternalRoomTransportDriver.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0cfcf32f3ec02d646855e66640a05a4b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/GameUtils.meta b/Transports/com.community.netcode.transport.pico/Runtime/GameUtils.meta new file mode 100644 index 00000000..b032235d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/GameUtils.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6c510ef6f0aeb1942a2b18b468f7828e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/GameUtils/GameUtils.cs b/Transports/com.community.netcode.transport.pico/Runtime/GameUtils/GameUtils.cs new file mode 100644 index 00000000..9f2d63c3 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/GameUtils/GameUtils.cs @@ -0,0 +1,162 @@ +using System; +using UnityEngine; + +using Pico.Platform; +using Pico.Platform.Models; +using static Netcode.Transports.Pico.PicoTransport; + +namespace Netcode.Transports.Pico +{ + public class GameUtils : MonoBehaviour + { + public static bool IsInt(string strNumber) + { + try + { + var result = Convert.ToInt32(strNumber); + return true; + } + catch + { + return false; + } + } + + public static bool IsDouble(string strNumber) + { + try + { + var result = Convert.ToDouble(strNumber); + return true; + } + catch + { + return false; + } + } + + public static string GetUserLogData(User obj) + { + string log = + $" DisplayName: {obj.DisplayName}, ID: {obj.ID}, Gender: {obj.Gender} \n " + + $" ImageURL: {obj.ImageUrl} \n" + + $" InviteToken: {obj.InviteToken}, PresenceStatus: {obj.PresenceStatus}"; + return log; + } + + public static string GetUserListLogData(UserList obj) + { + string log = $" Count: {obj.Count}\n"; + var list = obj.GetEnumerator(); + while (list.MoveNext()) + { + var item = list.Current; + log += $" {GetUserLogData(item)}\n"; + } + + return log; + } + + public static string GetRoomLogData(Room room) + { + string ownerOpenID = "invalid"; + if (room.OwnerOptional != null) + { + ownerOpenID = room.OwnerOptional.ID; + } + string str = $"RoomID: {room.RoomId}, Type: {room.RoomType}, Owner: {ownerOpenID}\n"; + str += $" PicoRoom Description: {room.Description}\n"; + str += $" IsMembershipLocked: {room.IsMembershipLocked}, JoinPolicy: {room.RoomJoinPolicy}, " + + $"Joinability: {room.RoomJoinability}, MaxUsers: {room.MaxUsers}\n"; + if (room.UsersOptional == null) + { + str += " UserList is invalid\n"; + } + else + { + str += $" Users:\n {GetUserListLogData(room.UsersOptional)}\n"; + } + return str; + } + + public static string GetMatchmakingAdminSnapshotCandidateLogData(MatchmakingAdminSnapshotCandidate obj) + { + return $"MatchmakingAdminSnapshotCandidate[\nCanMatch: {obj.CanMatch}, MyTotalScore: {obj.MyTotalScore}, TheirCurrentThreshold: {obj.TheirCurrentThreshold}\n]MatchmakingAdminSnapshotCandidate"; + } + + public static string GetMatchmakingAdminSnapshotCandidateListLogData(MatchmakingAdminSnapshotCandidateList obj) + { + string log = $"MatchmakingAdminSnapshotCandidateList[\nCount: {obj.Count}"; + var list = obj.GetEnumerator(); + while (list.MoveNext()) + { + var item = list.Current; + log += $"{GetMatchmakingAdminSnapshotCandidateLogData(item)}\n"; + } + + return log + "]MatchmakingAdminSnapshotCandidateList"; + } + + public static string GetMatchmakingAdminSnapshotLogData(MatchmakingAdminSnapshot obj) + { + return $"MatchmakingAdminSnapshot[\nCandidates: {GetMatchmakingAdminSnapshotCandidateListLogData(obj.CandidateList)}\nMyCurrentThreshold: {obj.MyCurrentThreshold}\n]MatchmakingAdminSnapshot"; + } + + public static string GetMatchmakingEnqueueResultLogData(MatchmakingEnqueueResult obj) + { + string log = "MatchmakingEnqueueResult[\n"; + if (obj.AdminSnapshotOptional == null) + { + log += "AdminSnapshotOptional: null\n"; + } + else + { + log += $"AdminSnapshotOptional: {GetMatchmakingAdminSnapshotLogData(obj.AdminSnapshotOptional)}\n"; + } + + log += $"AverageWait: {obj.AverageWait}, MatchesInLastHourCount: {obj.MatchesInLastHourCount}, MaxExpectedWait: {obj.MaxExpectedWait}, " + + $"Pool: {obj.Pool}, RecentMatchPercentage: {obj.RecentMatchPercentage}"; + return log + "\n]MatchmakingEnqueueResult"; + } + + public static RoomOptions GetRoomOptions(string roomID, string maxUserResults, string turnOffUpdates, string dataKeys, string dataValuses, string excludeRecentlyMet) + { + RoomOptions options = new RoomOptions(); + if (!string.IsNullOrEmpty(roomID)) + { + options.SetRoomId(Convert.ToUInt64(roomID)); + } + if (!string.IsNullOrEmpty(maxUserResults)) + { + options.SetMaxUserResults(Convert.ToUInt32(maxUserResults)); + } + if (!string.IsNullOrEmpty(turnOffUpdates)) + { + options.SetTurnOffUpdates(Convert.ToBoolean(turnOffUpdates)); + } + if (!string.IsNullOrEmpty(turnOffUpdates)) + { + options.SetExcludeRecentlyMet(Convert.ToBoolean(excludeRecentlyMet)); + } + if (!string.IsNullOrEmpty(dataKeys) && !string.IsNullOrEmpty(dataValuses)) + { + string[] keys = dataKeys.Split(';'); + string[] values = dataValuses.Split(';'); + if (keys.Length != values.Length) + { + PicoTransportLog(LogLevel.Warn, "dataKeys.Length != dataValuses.Length"); + } + else + { + for (int i = 0; i < keys.Length; i++) + { + options.SetDataStore(keys[i], values[i]); + } + } + } + + return options; + } + } +} + diff --git a/Transports/com.community.netcode.transport.pico/Runtime/GameUtils/GameUtils.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/GameUtils/GameUtils.cs.meta new file mode 100644 index 00000000..9b3204aa --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/GameUtils/GameUtils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2c1f1cb7007851a479b6f40f40f2b619 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/IRoomProvider.cs b/Transports/com.community.netcode.transport.pico/Runtime/IRoomProvider.cs new file mode 100644 index 00000000..891bf2e3 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/IRoomProvider.cs @@ -0,0 +1,202 @@ +using System; +using System.Runtime.InteropServices; +using System.Collections.Generic; +using UnityEngine; +using PicoPlatform = Pico.Platform; + +namespace Netcode.Transports.Pico +{ + public class PicoRoomInfo + { + public ulong RoomID; + public string OwnerOpenID; + public readonly HashSet CurRoomOpenIDs = new HashSet(); + } + + public class TransportRoomInfo + { + public ulong RoomID; + public ulong OwnerUID; + public HashSet RoomUIDs = new HashSet(); + } + + public class TransportPicoRoomInfo + { + public enum ERoomEvent + { + TransportShutdown = 1, + OwnerLeaveRoom = 2, + SelfLeaveRoom = 3, + UpdateRoomInfo = 4 + } + public string SelfOpenID; + public PicoRoomInfo PicoRoomInfo; + public event Action OnRoomEvent; + + public void InitWithPicoRoomInfo(string selfOpenID, PicoRoomInfo roomInfo) + { + SelfOpenID = selfOpenID; + PicoRoomInfo = roomInfo; + } + + public int SendMsgToUID(string tgtOpenID, byte[] message) + { + PicoPlatform.NetworkService.SendPacket(tgtOpenID, message, true); + return 0; + } + + public int KickUser(ulong roomID, string userOpenId) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Warn, $"PicoKickUser, roomID: {roomID}, userOpenId:{userOpenId}"); + PicoPlatform.RoomService.KickUser(roomID, userOpenId, -1).OnComplete(HandleKickPlayerResponse); + return 0; + } + + public int LeaveRoom(ulong roomID) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"PicoLeaveRoom, roomID: {roomID}"); + PicoPlatform.RoomService.Leave(roomID).OnComplete(HandleLeaveRoomResponse); + return 0; + } + + void CommonProcess(string funName, PicoPlatform.Message message, Action action) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"message.Type: {message.Type}"); + if (!message.IsError) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"{funName} no error"); + action(); + } + else + { + var error = message.Error; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"{funName} error: {error.Message}"); + } + } + + void HandleLeaveRoomResponse(PicoPlatform.Message message) + { + CommonProcess("HandleLeaveRoom", message, () => + { + var result = message.Data; + RoomInfoUpdate(result); + }); + } + + void HandleKickPlayerResponse(PicoPlatform.Message message) + { + CommonProcess("HandleKickPlayerResponse", message, () => + { + var result = message.Data; + RoomInfoUpdate(result); + }); + } + + static public PicoRoomInfo GetPicoRoomInfo(PicoPlatform.Models.Room room) + { + PicoRoomInfo roomInfo = new PicoRoomInfo(); + roomInfo.RoomID = room.RoomId; + if (room.OwnerOptional != null) + { + roomInfo.OwnerOpenID = room.OwnerOptional.ID; + } + else + { + roomInfo.OwnerOpenID = ""; + } + if (room.UsersOptional != null) + { + foreach (PicoPlatform.Models.User user in room.UsersOptional) + { + roomInfo.CurRoomOpenIDs.Add(user.ID); + } + } + else + { + roomInfo.CurRoomOpenIDs.Clear(); + } + return roomInfo; + } + + private void RoomInfoUpdate(PicoPlatform.Models.Room roomInfo) + { + if (roomInfo.RoomId == 0) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "RoomInfoUpdate, room_id is 0(leave room notification)"); + OnRoomEvent?.Invoke(ERoomEvent.SelfLeaveRoom, "room info update with room_id == 0", null); + return; + } + PicoRoomInfo = GetPicoRoomInfo(roomInfo); + OnRoomEvent?.Invoke(ERoomEvent.UpdateRoomInfo, "room info update", PicoRoomInfo); + } + } + + public class TransportRoomStatus + { + public ulong SelfUID; + public TransportPicoRoomInfo PicoRoomWrapper = null; + public TransportRoomInfo TransportRoomInfoOfUIDs = new TransportRoomInfo(); + public Dictionary OpenID2UIDs = new Dictionary(); + public Dictionary UID2OpenIDs = new Dictionary(); + + public void SetRoomInfo(string selfOpenID, PicoRoomInfo roomInfo) + { + if (null == PicoRoomWrapper) + { + PicoRoomWrapper = new TransportPicoRoomInfo(); + PicoRoomWrapper.InitWithPicoRoomInfo(selfOpenID, roomInfo); + } + PicoRoomWrapper.PicoRoomInfo = roomInfo; + ParseUIDInfo(); + } + + public void ParseUIDInfo() + { + if (null == PicoRoomWrapper || null == PicoRoomWrapper.PicoRoomInfo || PicoRoomWrapper.PicoRoomInfo.OwnerOpenID.Length<=0) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "null roomInfo, maybe leave room, clear TransportRoomInfoOfUIDs"); + TransportRoomInfoOfUIDs.RoomID = 0; + TransportRoomInfoOfUIDs.OwnerUID = 0; + TransportRoomInfoOfUIDs.RoomUIDs.Clear(); + return; + } + TransportRoomInfoOfUIDs.RoomID = PicoRoomWrapper.PicoRoomInfo.RoomID; + SelfUID = (ulong)(PicoRoomWrapper.SelfOpenID.GetHashCode()); + TransportRoomInfoOfUIDs.OwnerUID = (ulong)(PicoRoomWrapper.PicoRoomInfo.OwnerOpenID.GetHashCode()); + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"ParseUIDInfo: roomID {TransportRoomInfoOfUIDs.RoomID}, ownerUID {TransportRoomInfoOfUIDs.OwnerUID}, selfUID {SelfUID} from selfOpenID {PicoRoomWrapper.SelfOpenID}"); + + TransportRoomInfoOfUIDs.RoomUIDs.Clear(); + OpenID2UIDs.Clear(); + UID2OpenIDs.Clear(); + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"roomID {TransportRoomInfoOfUIDs.RoomID}, mapping ..."); + foreach (string playerName in PicoRoomWrapper.PicoRoomInfo.CurRoomOpenIDs) + { + ulong hashCode = (ulong)playerName.GetHashCode(); + TransportRoomInfoOfUIDs.RoomUIDs.Add(hashCode); + OpenID2UIDs.Add(playerName, hashCode); + UID2OpenIDs.Add(hashCode, playerName); + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"uid({hashCode})<->openID({playerName})"); + } + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "... uid openid mapping"); + } + } //TransportRoomStatus + + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public delegate void DebugDelegate(int level, IntPtr strPtr); + + public interface IRoomEventHandler + { + void OnRoomInfoUpdate(TransportRoomInfo transportRoomInfo); + void OnPkgRecved(ulong senderUID, ArraySegment pkg); + } + + public interface IRoomProvider + { + bool IsSelfOwner(); + ulong GetSelfLoggedInUID(); + bool RoomKickUserByID(ulong roomID, ulong clientId); + bool RoomLeave(ulong roomID); + bool SendPacket2UID(ulong clientId, byte[] dataArray); + } + +} diff --git a/Transports/com.community.netcode.transport.pico/Runtime/IRoomProvider.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/IRoomProvider.cs.meta new file mode 100644 index 00000000..ede39850 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/IRoomProvider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8db332a15b1e54b4fada123a9e153c1e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.MsgHandler.cs b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.MsgHandler.cs new file mode 100644 index 00000000..c95b2b5a --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.MsgHandler.cs @@ -0,0 +1,195 @@ +using System; +using Unity.Netcode; +using UnityEngine; +using System.Collections.Generic; + +namespace Netcode.Transports.Pico +{ + public partial class PicoTransport + { + private void InvokePicoTransportEvent(NetworkEvent networkEvent, ulong userId = 0, ArraySegment payload = default) + { + if (networkEvent != NetworkEvent.Data) + { + PicoTransportLog(LogLevel.Info, $"InvokePicoTransportEvent, networkEvent:{networkEvent}, userId:{userId}"); + } + else + { + //PicoTransportLog(LogLevel.Info, $"network payload recved: from userId({userId}), size({payload.Count})"); + } + switch (networkEvent) + { + case NetworkEvent.Nothing: + // do nothing + break; + case NetworkEvent.Disconnect: + // need no extra handling now + goto default; + default: + InvokeOnTransportEvent(networkEvent, userId, payload, Time.realtimeSinceStartup); + break; + } + } + + private void TryIssueTransoprtEvent(NetworkEvent networkEvent, ulong uid) + { + bool isSelf = uid == _serviceInfo.SelfUID; + bool isServerEvent = uid == _transportRoomInfo.OwnerUID || (uid == 0); + if (_isSelfServer) + { + if (!isSelf) + { + PicoTransportLog(LogLevel.Info, $"(server) send others player event '{networkEvent}' to netcode, uid in event:{uid}, ownerUID:{_transportRoomInfo.OwnerUID}"); + InvokePicoTransportEvent(networkEvent, uid); + } + } + else + { + if (isSelf) + { + PicoTransportLog(LogLevel.Warn, $"(client) send self event '{networkEvent}' to netcode, uid in event:{uid}, ownerUID:{_transportRoomInfo.OwnerUID}"); + InvokePicoTransportEvent(networkEvent, uid); + } + else if (isServerEvent) + { + PicoTransportLog(LogLevel.Info, $"(client) send server's event '{networkEvent}' to netcode, uid in event:{uid}, ownerUID:{_transportRoomInfo.OwnerUID}"); + InvokePicoTransportEvent(networkEvent, uid); + } + } + } + + private bool CheckNetcodeStartStopEvent(ulong curOwnerID, HashSet newestRoomUIDs) + { + if (_transportState != ETransportEvent.Started) + { + //wait StartClient/StartHost to be called + return false; + } + EPicoServiceState notied_state = _serviceInfo.NotifiedState; + EPicoServiceState cur_state = _serviceInfo.CurState; + if (notied_state == cur_state) + { + return false; + + } + PicoTransportLog(LogLevel.Info, $"notied_state {notied_state} disaccord with cur_state {cur_state}"); + if (cur_state == EPicoServiceState.InRoom) + { + //in room, and haven't notified netcode yet. + PicoTransportLog(LogLevel.Info, $"self new enter room, self uid:{_serviceInfo.SelfUID}, serverUID:{_transportRoomInfo.OwnerUID}"); + if (!_isSelfServer) + { + //non-server, notify(server online) + PicoTransportLog(LogLevel.Info, $"(clietn) self is client: try notify server connect event, self uid:{_serviceInfo.SelfUID}, serverUID:{_transportRoomInfo.OwnerUID}"); + TryIssueTransoprtEvent(NetworkEvent.Connect, _transportRoomInfo.OwnerUID); + } + else + { + //server, notify(other clients online) + foreach (ulong uid in newestRoomUIDs) + { + PicoTransportLog(LogLevel.Info, $"(server) self is server: try notify client connect event, client uid:{uid}, serverUID:{_transportRoomInfo.OwnerUID}"); + if (uid != _serviceInfo.SelfUID) + { + TryIssueTransoprtEvent(NetworkEvent.Connect, uid); + } + } + } + } + else + { + //not in room now + if (notied_state == EPicoServiceState.InRoom) + { + PicoTransportLog(LogLevel.Info, $"self disconnect, self uid:{_serviceInfo.SelfUID}, serverUID:{_transportRoomInfo.OwnerUID}"); + TryIssueTransoprtEvent(NetworkEvent.Disconnect, _transportRoomInfo.OwnerUID); + } + } + _serviceInfo.NotifiedState = cur_state; + _serviceInfo.CurOwnerID = curOwnerID; + _serviceInfo.CurRoomUIDs = new HashSet(newestRoomUIDs); + return true; + } + + public void OnSelfLeaveRoom(ulong userUID, ulong roomID) + { + if ((_transportRoomInfo == null) || (roomID != _transportRoomInfo.RoomID)) + { + PicoTransportLog(LogLevel.Info, $"room leave response, not in this room({roomID}) now, skip this response"); + return; + } + if (userUID == _serviceInfo.SelfUID) + { + CurrentState = EPicoServiceState.Stopped; + TryIssueTransoprtEvent(NetworkEvent.Disconnect, _serviceInfo.SelfUID); + StopPicoTransport(); + } + } + + public void OnRoomInfoUpdate(TransportRoomInfo transportRoomInfo) + { + PicoTransportLog(LogLevel.Info, $"OnRoomInfoUpdate 1, got roomInfo, player num: {transportRoomInfo.RoomUIDs.Count}"); + if (null == transportRoomInfo) + { + PicoTransportLog(LogLevel.Error, "OnRoomInfoUpdate, roomInfo is null"); + return; + } + if (transportRoomInfo.RoomID != _transportRoomInfo.RoomID) + { + PicoTransportLog(LogLevel.Error, $"got non-current room info, in roomID:{transportRoomInfo.RoomID} vs current roomID: {_transportRoomInfo.RoomID}"); + return; + } + + if (CheckNetcodeStartStopEvent(transportRoomInfo.OwnerUID, transportRoomInfo.RoomUIDs)) + { + return; + } + HashSet newRoomUIDs = transportRoomInfo.RoomUIDs; + HashSet oldRoomUIDs = _serviceInfo.CurRoomUIDs; + ulong oldOwnerUID = _serviceInfo.CurOwnerID; + _serviceInfo.CurOwnerID = transportRoomInfo.OwnerUID; + if ((oldOwnerUID != _serviceInfo.CurOwnerID) && (oldOwnerUID != 0)) + { + PicoTransportLog(LogLevel.Error, $"111, owner changed from {oldOwnerUID} to: {_serviceInfo.CurOwnerID}"); + if (NetworkManager.Singleton != null) + { + //is migrate condition: 1) has new room owner; 2). self is not old room owner; 3). self is still in room; + _serviceInfo.IsHostMigrate = _serviceInfo.AllowHostMigrate && (transportRoomInfo.OwnerUID != 0) && (_serviceInfo.SelfUID != oldOwnerUID) && (newRoomUIDs.Contains(_serviceInfo.SelfUID)); + PicoTransportLog(LogLevel.Error, $"owner changed, stop transport now!, IsHostMigrate {_serviceInfo.IsHostMigrate}, selfUID {_serviceInfo.SelfUID}, oldOwnerUID {oldOwnerUID}"); + StopPicoTransport(); + return; + } + } + if (_transportState == ETransportEvent.Started) + { + //find out those left && new entered + foreach (ulong olduid in oldRoomUIDs) + { + PicoTransportLog(LogLevel.Info, "check event of olduid:{olduid}"); + if (!newRoomUIDs.Contains(olduid)) + { + //left player + PicoTransportLog(LogLevel.Info, $"try notify client disconnect event, uid in event:{olduid}, ownerUID:{_transportRoomInfo.OwnerUID}"); + TryIssueTransoprtEvent(NetworkEvent.Disconnect, olduid); + } + } + foreach (ulong newuid in newRoomUIDs) + { + PicoTransportLog(LogLevel.Info, $"check event of newuid:{newuid}"); + if (!oldRoomUIDs.Contains(newuid)) + { + //new entered player + PicoTransportLog(LogLevel.Info, $"try notify client connect event, uid in event:{newuid}, ownerUID:{_transportRoomInfo.OwnerUID}"); + TryIssueTransoprtEvent(NetworkEvent.Connect, newuid); + } + } + } + _serviceInfo.CurRoomUIDs = new HashSet(newRoomUIDs); + } + + public void OnPkgRecved(ulong senderUID, ArraySegment pkg) + { + InvokePicoTransportEvent(NetworkEvent.Data, senderUID, pkg); + } + } //PicoTransport +}//Transport.Pico diff --git a/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.MsgHandler.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.MsgHandler.cs.meta new file mode 100644 index 00000000..dd23ed8a --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.MsgHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4f11deccb7cb7b54994b485829fa463f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.UnityLog.cs b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.UnityLog.cs new file mode 100644 index 00000000..870b7a9d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.UnityLog.cs @@ -0,0 +1,73 @@ +using System; +using System.Runtime.InteropServices; +using UnityEngine; + +namespace Netcode.Transports.Pico +{ + public partial class PicoTransport + { + public LogLevel TransportLogLevel; + static private LogLevel _logLevel; + + public enum LogLevel + { + Debug = 0, + Info, + Warn, + Error, + Fatal + }; + + public static void SetLogLevel(LogLevel logLevel) + { + _logLevel = logLevel; + } + + public static void PicoTransportLog(LogLevel level, object logCont) + { + if (level < _logLevel) + { + return; + } + switch (level) + { + case LogLevel.Debug: + LogInfo(logCont); + break; + case LogLevel.Info: + LogInfo(logCont); + break; + case LogLevel.Warn: + LogWarning(logCont); + break; + case LogLevel.Error: + LogError(logCont); + break; + case LogLevel.Fatal: + LogError(logCont); + break; + default: + break; + } + return; + } + + private static void LogInfo(object logCont) + { + var curtime = DateTime.Now.ToString("hh.mm.ss.ffffff"); + Debug.Log($"[{curtime}]PicoLibLog: {logCont}"); + } + + private static void LogWarning(object logCont) + { + var curtime = DateTime.Now.ToString("hh.mm.ss.ffffff"); + Debug.LogWarning($"[{curtime}]PicoLibLog: {logCont}"); + } + + private static void LogError(object logCont) + { + var curtime = DateTime.Now.ToString("hh.mm.ss.ffffff"); + Debug.LogError($"[{curtime}]PicoLibLog: {logCont}"); + } + } +} diff --git a/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.UnityLog.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.UnityLog.cs.meta new file mode 100644 index 00000000..f7dd01f0 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.UnityLog.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5069b11d63cf3a4c91215ade15b004c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.cs b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.cs new file mode 100644 index 00000000..c295e660 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.cs @@ -0,0 +1,366 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Unity.Netcode; +using UnityEngine; + +namespace Netcode.Transports.Pico +{ + [RequireComponent(typeof(NetworkManager))] + public partial class PicoTransport : NetworkTransport, IRoomEventHandler + { + public enum EWorkMode + { + Simple = 0, + ExternalRoom = 1 + } + + public enum ETransportEvent + { + Stopped = 0, + Started + } + + public enum EPicoServiceState + { + Stopped = 0, + InRoom, + RoomLeaving, + } + + public EWorkMode WorkMode; + private IRoomProvider _matchRoomProvider; + public event Action OnPicoTransportEvent; + + class PicoServiceInfo + { + public bool CancelFlag; + public bool AllowHostMigrate = false; + public bool IsHostMigrate; + public ulong SelfUID; + public ulong CurOwnerID; + public EPicoServiceState CurState = EPicoServiceState.Stopped; + public EPicoServiceState NotifiedState = EPicoServiceState.Stopped; + public HashSet CurRoomUIDs = new HashSet(); + public void ResetServiceInfo() + { + CancelFlag = false; + CurOwnerID = 0; + SelfUID = 0; + CurState = EPicoServiceState.Stopped; + NotifiedState = EPicoServiceState.Stopped; + CurRoomUIDs.Clear(); + } + } + + private bool _netcodeStarted = false; + private TransportRoomInfo _transportRoomInfo = null; + private bool _isSelfServer = false; + private readonly PicoServiceInfo _serviceInfo = new PicoServiceInfo(); + private ETransportEvent _transportState = ETransportEvent.Stopped; + + //used in stop procedure + bool _roomLeftOnce = false; + bool _stopTransportOnce = false; + bool _afterShutdownOnce = false; + + private EPicoServiceState CurrentState + { + get => _serviceInfo.CurState; + set => _serviceInfo.CurState = value; + } + + void OnDestroy() + { + StopPicoTransport(); + } + + public bool IsHostMigrate() + { + return _serviceInfo.IsHostMigrate; + } + + public void AllowHostMigrateOnHostLeave() + { + _serviceInfo.AllowHostMigrate = true; + } + + public bool SetRoomProvider(IRoomProvider matchRoomProvider, ulong selfUID, TransportRoomInfo transportRoomInfo) + { + if (CurrentState != EPicoServiceState.Stopped) + { + PicoTransportLog(LogLevel.Error, $"duplicate SetRoomProvider, CurrentState: {CurrentState}"); + return false; + } + PicoTransportLog(LogLevel.Info, $"-------------------------------------------->"); + PicoTransportLog(LogLevel.Info, $"SetRoomProvider be called, CurrentState: {CurrentState}, isSelfOwner: {matchRoomProvider.IsSelfOwner()}"); + if (CurrentState != EPicoServiceState.Stopped && (!_serviceInfo.IsHostMigrate)) + { + PicoTransportLog(LogLevel.Error, $"duplicated pico service init, CurrentState: {CurrentState}"); + return false; + } + _serviceInfo.IsHostMigrate = false; + _serviceInfo.CancelFlag = false; + if (matchRoomProvider != null) + { + _matchRoomProvider = matchRoomProvider; + } + if (null == matchRoomProvider) + { + PicoTransportLog(LogLevel.Error, "invalid matchroomProvider or invalid _initCallback"); + return false; + } + _serviceInfo.SelfUID = selfUID; + _transportRoomInfo = transportRoomInfo; + if (_netcodeStarted) + { + AfterNetcodeStarted(); + } + return true; + } + + private void AfterNetcodeStarted() + { + CurrentState = EPicoServiceState.InRoom; + PicoTransportLog(LogLevel.Info, $"transport started, room {_transportRoomInfo.RoomID}"); + OnRoomInfoUpdate(_transportRoomInfo); + } + + private void AfterShutdown() + { + if (!_netcodeStarted) + { + PicoTransportLog(LogLevel.Info, "!_netcodeStarted, ignore AfterShutdown"); + return; + } + if (!_serviceInfo.IsHostMigrate && _transportRoomInfo != null && 0 != _transportRoomInfo.RoomID && CurrentState == EPicoServiceState.InRoom) + { + PicoTransportLog(LogLevel.Info, $"AfterShutdown, issue self leave room {_transportRoomInfo.RoomID}, selfUID:{_serviceInfo.SelfUID}, ownerUID{_transportRoomInfo.OwnerUID}"); + CurrentState = EPicoServiceState.RoomLeaving; + _matchRoomProvider.RoomLeave(_transportRoomInfo.RoomID); + } + if (_afterShutdownOnce) + { + return; + } + _afterShutdownOnce = true; + PicoTransportLog(LogLevel.Info, "+AfterShutdown be called"); + _netcodeStarted = false; + _joinRoomWaitGameInit = false; + _transportRoomInfo = null; + _isSelfServer = false; + _transportState = ETransportEvent.Stopped; + CurrentState = EPicoServiceState.Stopped; + OnPicoTransportEvent?.Invoke(_transportState); + _serviceInfo.ResetServiceInfo(); + _matchRoomProvider = null; + } + + public void StopPicoTransport() + { + if (_stopTransportOnce) + { + return; + } + _stopTransportOnce = true; + if (!NetworkManager.Singleton) + { + PicoTransportLog(LogLevel.Info, $"StopPicoTransport be called, ignore netcode shutdown, CurrentState {CurrentState}"); + AfterShutdown(); + return; + } + PicoTransportLog(LogLevel.Info, $"StopPicoTransport be called, CurrentState {CurrentState}"); + ShutdownNetcode(); + } + + void Update() + { + if (CurrentState == EPicoServiceState.Stopped) + { + return; + } + CheckNetcodeStartStopEvent(_serviceInfo.CurOwnerID, _serviceInfo.CurRoomUIDs); + if (WorkMode == EWorkMode.Simple) + { + UpdateIndependent(); + } + } + + public override NetworkEvent PollEvent(out ulong clientId, out ArraySegment payload, out float receiveTime) + { + clientId = 0; + receiveTime = Time.realtimeSinceStartup; + payload = default; + return NetworkEvent.Nothing; + } + + public override bool StartClient() + { + if (_netcodeStarted) + { + PicoTransportLog(LogLevel.Error, "duplicated netcode start, in StartClient"); + return false; + } + PicoTransportLog(LogLevel.Info, "---> StartClient"); + _netcodeStarted = true; + if (WorkMode == EWorkMode.ExternalRoom) + { + if (_serviceInfo.SelfUID == _transportRoomInfo.OwnerUID) + { + PicoTransportLog(LogLevel.Error, "self is room owner, but StartClient be called"); + return false; + } + } + _transportState = ETransportEvent.Started; + OnPicoTransportEvent?.Invoke(_transportState); + _isSelfServer = false; + if (CurrentState == EPicoServiceState.Stopped) + { + if (WorkMode == EWorkMode.Simple) + { + InitIndependent(); + } else + { + AfterNetcodeStarted(); + } + return true; + } + return true; + } + + public override bool StartServer() + { + if (_netcodeStarted) + { + PicoTransportLog(LogLevel.Error, "duplicated netcode start, in StartServer"); + return false; + } + PicoTransportLog(LogLevel.Info, $"---> StartServer: current state({CurrentState})"); + _netcodeStarted = true; + if (WorkMode == EWorkMode.ExternalRoom) + { + if (_serviceInfo.SelfUID != _transportRoomInfo.OwnerUID) + { + PicoTransportLog(LogLevel.Error, $"self is not room owner, but StartServer be called, self {_serviceInfo.SelfUID} vs owner {_transportRoomInfo.OwnerUID}"); + return false; + } + } + _transportState = ETransportEvent.Started; + OnPicoTransportEvent?.Invoke(_transportState); + _isSelfServer = true; + if (CurrentState == EPicoServiceState.Stopped) + { + if (WorkMode == EWorkMode.Simple) + { + InitIndependent(); + } + else + { + AfterNetcodeStarted(); + } + return true; + } + return true; + } + + public override void DisconnectRemoteClient(ulong clientID) + { + if (!_isSelfServer) + { + PicoTransportLog(LogLevel.Error, "DisconnectRemoteClient, self is not server, skip this request"); + return; + } + if (_serviceInfo.AllowHostMigrate) + { + PicoTransportLog(LogLevel.Warn, "DisconnectRemoteClient, AllowHostMigrate, skip disconnect remote remoteUID:{clientID}"); + return; + } + PicoTransportLog(LogLevel.Info, "DisconnectRemoteClient, selfUID:{_serviceInfo.SelfUID}, ownerUID{_serviceInfo.OwnerUID}, remoteUID:{clientID}"); + if (CurrentState != EPicoServiceState.InRoom) + { + PicoTransportLog(LogLevel.Warn, $"DisconnectRemoteClient, CurrentState {CurrentState} not in game now, skip this request"); + return; + } + if (!_serviceInfo.CurRoomUIDs.Contains(clientID)) + { + PicoTransportLog(LogLevel.Error, $"DisconnectRemoteClient, targetId({clientID}) is not in game now, skip this request"); + return; + } + _ = _matchRoomProvider.RoomKickUserByID(_transportRoomInfo.RoomID, clientID); + } + + public override void DisconnectLocalClient() + { + PicoTransportLog(LogLevel.Info, $"DisconnectLocalClient, selfUID:{_serviceInfo.SelfUID}, ownerUID{_serviceInfo.CurOwnerID}"); + if (CurrentState != EPicoServiceState.InRoom) + { + PicoTransportLog(LogLevel.Info, $"DisconnectLocalClient, curState({CurrentState}), not in game now, skip this request"); + return; + } + if (!_serviceInfo.IsHostMigrate) + { + if ((_transportRoomInfo!=null) && (_transportRoomInfo.RoomID != 0)) + { + CurrentState = EPicoServiceState.RoomLeaving; + PicoTransportLog(LogLevel.Info, "DisconnectLocalClient, issue self leave room, selfUID:{_serviceInfo.SelfUID}, ownerUID{_serviceInfo.OwnerUID}"); + if (!_matchRoomProvider.RoomLeave(_transportRoomInfo.RoomID)) + { + PicoTransportLog(LogLevel.Info, "DisconnectLocalClient, issue self leave room failed, selfUID:{_serviceInfo.SelfUID}, ownerUID{_serviceInfo.OwnerUID}"); + } + } + } + } + + public override ulong GetCurrentRtt(ulong clientId) + { + return 0; + } + + public override void Send(ulong clientId, ArraySegment data, NetworkDelivery delivery) + { + //PicoTransportLog(LogLevel.Debug, $"send be called, tgt clientId {clientId}, send size {data.Count}"); + byte[] dataArray = data.ToArray(); + if (clientId == ServerClientId) + { + clientId = _transportRoomInfo.OwnerUID; + } + _ = _matchRoomProvider.SendPacket2UID(clientId, dataArray); + } + + public override ulong ServerClientId + { + get { return 0; } + } + + // be called by NetworkManager + public override void Shutdown() + { + PicoTransportLog(LogLevel.Info, "NetworkManager callback(Shutdown), selfId:{_serviceInfo.SelfUID}, curState: {CurrentState}"); + _serviceInfo.CancelFlag = true; + if (CurrentState < EPicoServiceState.InRoom) + { + PicoTransportLog(LogLevel.Info, "Shutdown, selfId:{_serviceInfo.SelfUID}, curState: {CurrentState}, call UninitPicoService"); + AfterShutdown(); + return; + } + DisconnectLocalClient(); + AfterShutdown(); + } + + public override void Initialize(NetworkManager networkManager = null) + { + _roomLeftOnce = false; + _stopTransportOnce = false; + _afterShutdownOnce = false; + + _netcodeStarted = false; + _joinRoomWaitGameInit = false; + PicoTransportLog(LogLevel.Info, $"pico transport initialize be called, current LocalClientID {NetworkManager.Singleton.LocalClientId}"); + if (WorkMode == EWorkMode.Simple) + { + PrepareIndependent(); + } + } + + } //PicoTransport +} diff --git a/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.cs.meta new file mode 100644 index 00000000..37706f2c --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/PicoTransport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: efe5516b9c6135142a7e63556db66891 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode.meta b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode.meta new file mode 100644 index 00000000..2eb591f6 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 707f8292dec52d34994be8eb28569408 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.Handler.cs b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.Handler.cs new file mode 100644 index 00000000..5e1a51a1 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.Handler.cs @@ -0,0 +1,234 @@ +using UnityEngine; + +using Pico.Platform.Models; +using Pico.Platform; +using System; +using static Netcode.Transports.Pico.PicoTransport; + +using PicoPlatform = Pico.Platform; + +namespace Netcode.Transports.Pico +{ + public partial class InnerPicoSDKUser + { + bool _isLastSessionMsg = true; //useful in editor + private void RegisterNotificationCallbacks() + { + NetworkService.SetNotification_Game_ConnectionEventCallback(GameConnectionEventCallback); + NetworkService.SetNotification_Game_Request_FailedCallback(RequestFailedCallback); + NetworkService.SetNotification_Game_StateResetCallback(GameStateResetCallback); + + RoomService.SetLeaveNotificationCallback(RoomLeaveNotificationCallback); + RoomService.SetJoin2NotificationCallback(RoomJoin2NotificationCallback); + RoomService.SetKickUserNotificationCallback(RoomKickUserNotificationCallback); + RoomService.SetUpdateOwnerNotificationCallback(RoomUpdateOwnerNotificationCallback); + RoomService.SetUpdateNotificationCallback(RoomUpdateCallback); + } + + private void GameConnectionEventCallback(PicoPlatform.Message msg) + { + if (IsOldSessionCallback("connect_event")) + { + return; + } + var state = msg.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"OnGameConnectionEvent: {state}"); + if (state == PicoPlatform.GameConnectionEvent.Connected) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "GameConnection: success"); + } + else if (state == PicoPlatform.GameConnectionEvent.Closed) + { + StopPicoGame("GameConnection: failed Please re-initialize"); + } + else if (state == PicoPlatform.GameConnectionEvent.GameLogicError) + { + StopPicoGame("GameConnection: failed After successful reconnection, the logic state is found to be wrong, please re-initialize��"); + } + else if (state == PicoPlatform.GameConnectionEvent.Lost) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "######, GameConnection: Reconnecting, waiting ..."); + if (0 == _restartTimeoutTick) + { + /* + A single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond (see TicksPerMillisecond) and 10 million ticks in a second. + */ + _restartTimeoutTick = DateTime.Now.Ticks + 10 * 1000 * 10000; + } + } + else if (state == PicoPlatform.GameConnectionEvent.Resumed) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "######, GameConnection: successfully reconnected"); + _restartTimeoutTick = 0; + } + else if (state == PicoPlatform.GameConnectionEvent.KickedByRelogin) + { + StopPicoGame("GameConnection: login in other device, try reinitialize later"); + } + else if (state == PicoPlatform.GameConnectionEvent.KickedByGameServer) + { + StopPicoGame("GameConnection: be kicked by server, try reinitialize later"); + } + else + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "GameConnection: unknown error"); + } + } + + private void RequestFailedCallback(PicoPlatform.Message msg) + { + if (IsOldSessionCallback("request_failed")) + { + return; + } + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"OnRequestFailed: {msg.Data}"); + } + + private void GameStateResetCallback(PicoPlatform.Message msg) + { + if (IsOldSessionCallback("game_state_reset")) + { + return; + } + StopPicoGame("game state disaccord with that of the server, need re-initialization"); + } + + bool IsOldSessionCallback(string callbackDesc) + { + if (_isLastSessionMsg) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"ignore old session callback({callbackDesc})"); + } + return _isLastSessionMsg; + } + + private void RoomUpdateCallback(Message message) + { + if (IsOldSessionCallback("room_update")) + { + return; + } + CommonProcess("ProcessRoomUpdate", message, () => + { + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"!!!!!!, selfOpenID:{GetSelfOpenID()}, room update: {GameUtils.GetRoomLogData(room)}"); + _room_status.SetRoomInfo(GetSelfOpenID(), TransportPicoRoomInfo.GetPicoRoomInfo(room)); + OnPicoSdkNotify?.Invoke(ESDKUserEvent.RoomInfoUpdate, _curGameState.CurState, _curGameState.CurState, "room info updated"); + }); + } + + private void ProcessRoomJoin2(Message message) + { + CommonProcess("ProcessRoomJoin2", message, () => + { + if (message.IsError) + { + var err = message.Error; + PicoTransportLog(LogLevel.Error, $"Join room error {err.Message} code={err.Code}"); + CallOnStatusChange(EGameState.NotInited, "Join room failed"); + return; + } + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"room {room.RoomId} join succeed: {GameUtils.GetRoomLogData(room)}"); + _room_status.SetRoomInfo(GetSelfOpenID(), TransportPicoRoomInfo.GetPicoRoomInfo(room)); + CallOnStatusChange(EGameState.InRoom, "in room now"); + }); + } + + private void ProcessRoomLeave(Message message) + { + CommonProcess("ProcessRoomLeave", message, () => + { + if (message.IsError) + { + var err = message.Error; + PicoTransportLog(LogLevel.Error, $"Leave room error {err.Message} code={err.Code}"); + _room_status.SetRoomInfo(GetSelfOpenID(), null); + CallOnStatusChange(EGameState.Inited, "Leave room failed"); + return; + } + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"in ProcessRoomLeave, roomLeave: {GameUtils.GetRoomLogData(room)}"); + _room_status.SetRoomInfo(GetSelfOpenID(), TransportPicoRoomInfo.GetPicoRoomInfo(room)); + OnRoomLeft(room); + }); + return; + } + + private void OnRoomLeft(Room room) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"room {room.RoomId} leave succeed ..."); + if (GetRoomID() != room.RoomId) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"room {room.RoomId} leave succeed, but current is not in this room now, skip this request"); + return; + } + + CallOnStatusChange(EGameState.Inited, "room left, return to 'inited'"); + _room_status.SetRoomInfo(GetSelfOpenID(), null); + } + + private void RoomKickUserNotificationCallback(Message message) + { + if (IsOldSessionCallback("kick_user_notify")) + { + return; + } + CommonProcess("OnRoomKickUserNotification", message, () => + { + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, GameUtils.GetRoomLogData(room)); + }); + } + + private void RoomUpdateOwnerNotificationCallback(Message message) + { + if (IsOldSessionCallback("update_owner_notify")) + { + return; + } + CommonProcess("OnRoomUpdateOwnerNotification", message, () => + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, "OnRoomUpdateOwnerNotification"); + }); + } + + private void RoomLeaveNotificationCallback(Message message) + { + if (IsOldSessionCallback("room_leave_notify")) + { + return; + } + CommonProcess("OnRoomLeaveNotification", message, () => + { + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, GameUtils.GetRoomLogData(room)); + OnRoomLeft(room); + }); + } + + private void RoomJoin2NotificationCallback(Message message) + { + if (IsOldSessionCallback("join2_notify")) + { + return; + } + CommonProcess("OnRoomJoin2Notification", message, () => + { + var room = message.Data; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, GameUtils.GetRoomLogData(room)); + }); + } + + private void CommonProcess(string funName, Message message, Action action) + { + string errmsg = ""; + if (message.IsError) + { + errmsg = message.Error.Message; + } + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"server msg({message.Type}:{funName}), err:{errmsg}"); + action(); + } + } +} diff --git a/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.Handler.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.Handler.cs.meta new file mode 100644 index 00000000..4e26b179 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.Handler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1e1c475700a069c49a4adb71ab912fec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.RoomProvider.cs b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.RoomProvider.cs new file mode 100644 index 00000000..bd17ea64 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.RoomProvider.cs @@ -0,0 +1,45 @@ +using System; +using UnityEngine; +using static Netcode.Transports.Pico.PicoTransport; +using PicoPlatform = Pico.Platform; + +namespace Netcode.Transports.Pico +{ + public partial class InnerPicoSDKUser : IRoomProvider + { + private TransportRoomStatus _room_status = new TransportRoomStatus(); + + public bool IsSelfOwner() + { + return _room_status.SelfUID == _room_status.TransportRoomInfoOfUIDs.OwnerUID; + } + + public ulong GetSelfLoggedInUID() + { + return _room_status.SelfUID; + } + + public bool RoomKickUserByID(ulong roomID, ulong clientId) + { + return false; + } + + public bool RoomLeave(ulong roomID) + { + _room_status.PicoRoomWrapper.LeaveRoom(roomID); + return true; + } + + public bool SendPacket2UID(ulong clientID, byte[] dataArray) + { + string tgtOpenID; + if (!_room_status.UID2OpenIDs.TryGetValue(clientID, out tgtOpenID)) + { + PicoTransportLog(LogLevel.Error, $"SendPacket2UID, target({clientID}) is not in room, skip this send packet request"); + return false; + } + _room_status.PicoRoomWrapper.SendMsgToUID(tgtOpenID, dataArray); + return false; + } + } +} diff --git a/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.RoomProvider.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.RoomProvider.cs.meta new file mode 100644 index 00000000..fdc681f9 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.RoomProvider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a7b7aa53a0c7e3b41954036a3fd31086 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.cs b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.cs new file mode 100644 index 00000000..e9b13937 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.cs @@ -0,0 +1,361 @@ +using System; +using System.Collections; +using UnityEngine; +using static Netcode.Transports.Pico.PicoTransport; +using PicoPlatform = Pico.Platform; + +namespace Netcode.Transports.Pico +{ + [RequireComponent(typeof(PicoTransport))] + public partial class InnerPicoSDKUser : MonoBehaviour + { + public enum ESDKUserEvent + { + StateChange = 1, + RoomInfoUpdate = 2, + Error = 3, + } + + public enum EGameState + { + NotInited, + InIniting, + UserGot, + InGameIniting, + Inited, + Shutdowned, + RoomJoining, + InRoom, + RoomLeaving, + } + private struct CurGameState + { + public EGameState CurState; + public ulong LastRoomID; + public PicoPlatform.Models.User UserInfo; + } + + public class DevInitInfo + { + public string host; + public ushort port; + public string app_id; + public int region_id; + public bool via_proxy; + public string fakeToken; + public string openidOfFakeToken; + } + + //params: event, oldState, curState, eventDesc + public event Action OnPicoSdkNotify; + //params: senderUID, message + public event Action> OnPicoRoomMessage; + + private CurGameState _curGameState; + private long _restartTimeoutTick = 0; + + // Start is called before the first frame update + private void Start() + { + RegisterNotificationCallbacks(); + } + + private void OnEnable() + { + _curGameState.CurState = EGameState.NotInited; + _curGameState.LastRoomID = 0; + _curGameState.UserInfo = null; + } + + private void OnDestroy() + { + StopPicoGame("InnerSDKUser destroyed"); + } + + private void Update() + { + if (_curGameState.CurState == EGameState.InRoom) + { + RecvRoomPackage(); + } + if (_restartTimeoutTick > 0) + { + long curTick = DateTime.Now.Ticks; + if (curTick > _restartTimeoutTick) + { + _restartTimeoutTick = 0; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, "_restartTimeoutTick met, stop PicoSDKUser"); + StopPicoGame("restart timeout"); + } + } + } + + public void HandlePicoTransportEvent(PicoTransport.ETransportEvent transportState) + { + switch (transportState) + { + case PicoTransport.ETransportEvent.Stopped: + { + if (_curGameState.CurState >= EGameState.Inited) + { + CallOnStatusChange(EGameState.NotInited, "transport stopped, return to state 'inited'"); + } + } + break; + default: + break; + } + return; + } + + private void RecvRoomPackage() + { + if (_curGameState.CurState == EGameState.InRoom) + { + // read packet + var packet = PicoPlatform.NetworkService.ReadPacket(); + while (packet != null) + { + HandleMsgFromRoom(packet); + packet.Dispose(); + packet = PicoPlatform.NetworkService.ReadPacket(); + } + } + } + + private void HandleMsgFromRoom(PicoPlatform.Models.Packet pkgFromRoom) + { + ulong senderUID; + if (!_room_status.OpenID2UIDs.TryGetValue(pkgFromRoom.SenderId, out senderUID)) + { + PicoTransportLog(LogLevel.Error, $"got msg from developer with unkown sender open_id: {pkgFromRoom.SenderId}, uid: {senderUID}"); + return; + } + byte[] message = new byte[pkgFromRoom.Size]; + ulong pkgSize = pkgFromRoom.GetBytes(message); + if (pkgSize <= 0) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"HandleMsgFromRoom, error pkgSize: {pkgSize}"); + OnPicoSdkNotify?.Invoke(ESDKUserEvent.Error, _curGameState.CurState, _curGameState.CurState, "error on recved msg"); + return; + } + var payload = new ArraySegment(message, 0, (int)pkgSize); + OnPicoRoomMessage?.Invoke(senderUID, payload); + } + + public string GetSelfOpenID() + { + if (null == _curGameState.UserInfo) + { + return "not inited user"; + } + return _curGameState.UserInfo.ID; + } + + public TransportRoomInfo GetTransportRoomInfo() + { + if (0 == GetRoomID()) + { + return null; + } + return _room_status.TransportRoomInfoOfUIDs; + } + + private void CallOnStatusChange(EGameState curState, string statusDesc) + { + PicoTransportLog(LogLevel.Info, $"{_curGameState.CurState} > {curState}, {statusDesc}"); + var lastState = _curGameState.CurState; + _curGameState.CurState = curState; + if (curState == EGameState.InRoom) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"new enter room, save room_id to LastRoomID ({GetRoomID()})"); + _curGameState.LastRoomID = GetRoomID(); + } + OnPicoSdkNotify?.Invoke(ESDKUserEvent.StateChange, lastState, curState, statusDesc); + } + + private IEnumerator InitPicoPlatformAndGame(TextAsset mock_config) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"InitPicoPlatformAndGame be called"); + _isLastSessionMsg = true; + _restartTimeoutTick = 0; + yield return null; + if (_curGameState.CurState >= EGameState.Inited) + { + _isLastSessionMsg = false; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Warn, $"already inited, Change to GameState.Inited directly"); + CallOnStatusChange(EGameState.Inited, "game has already inited"); + yield break; + } + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"InitPicoPlatformAndGame start coreservice init ..."); + try + { + PicoPlatform.CoreService.Initialize(null); + } + catch (Exception e) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"exception init pico Core {e}"); + } + if (!PicoPlatform.CoreService.Initialized) + { + CallOnStatusChange(EGameState.NotInited, "pico SDK init failed ..."); + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, "pico initialize failed"); + yield break; + } + CallOnStatusChange(_curGameState.CurState, "CoreService get access token started ..."); + PicoPlatform.UserService.GetAccessToken().OnComplete(delegate (PicoPlatform.Message message) + { + if (message.IsError) + { + var err = message.Error; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"Got access token error {err.Message} code={err.Code}"); + CallOnStatusChange(EGameState.NotInited, "CoreService get access token failed"); + + return; + } + string accessToken = message.Data; + CallOnStatusChange(_curGameState.CurState, $"get access token succeed: {accessToken}"); + PicoPlatform.UserService.GetLoggedInUser().OnComplete(delegate (PicoPlatform.Message userInfo) + { + if (userInfo.IsError) + { + var err = userInfo.Error; + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, $"GetLoggedInUser error {err.Message} code={err.Code}"); + CallOnStatusChange(EGameState.NotInited, "UserService.GetLoggedInUser failed"); + return; + } + + if (userInfo.Data == null) + { + CallOnStatusChange(EGameState.NotInited, "UserService.GetLoggedInUser userInfo.Data is nil"); + return; + } + _curGameState.UserInfo = userInfo.Data; + if (userInfo.Data.ID == "unknow_openid") + { + CallOnStatusChange(EGameState.NotInited, "UserService.GetLoggedInUser invalid openid in User.Data"); + return; + } + CallOnStatusChange(EGameState.UserGot, $"GetLoggedInUser complete, player openID: {userInfo.Data.ID}"); + + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"got accessToken {accessToken}, GameInitialize begin"); + PicoPlatform.CoreService.GameUninitialize(); + PicoPlatform.Task request; + CallOnStatusChange(EGameState.InGameIniting, "Start game initialization, player openID"); + _isLastSessionMsg = false; + request = PicoPlatform.CoreService.GameInitialize(accessToken); + CallOnStatusChange(_curGameState.CurState, "game init started, requestID:" + request.TaskId); + if (request.TaskId != 0) + { + request.OnComplete(OnGameInitialize); + } + else + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"Core.GameInitialize requestID is 0! Repeated initialization or network error"); + CallOnStatusChange(EGameState.NotInited, "game init start failed!"); + } + }); + }); + } + + public void StartPicoGame(TextAsset mock_config = null) + { + if (_curGameState.CurState < EGameState.Inited) + { + CallOnStatusChange(EGameState.InIniting, "StartPicoGame, pico SDK init start ..."); + StartCoroutine(InitPicoPlatformAndGame(mock_config)); + } else if (_curGameState.CurState == EGameState.Inited) + { + CallOnStatusChange(EGameState.InIniting, "StartPicoGame, already inited, sim InInit > Inited procedure, switch to InIniting ..."); + CallOnStatusChange(EGameState.Inited, "StartPicoGame, already inited, sim InInit > Inited, switch to Inited ..."); + } + else + { + CallOnStatusChange(_curGameState.CurState, "StartPicoGame in Inited State, skip request"); + } + } + + public void StartJoinNamedRoom(string roomName, string password, bool createIfNotExist) + { + CallOnStatusChange(EGameState.RoomJoining, $"request to join named room {roomName} ..."); + var roomOptions = GameUtils.GetRoomOptions(GetRoomID().ToString(), null, null, null, null, null); + roomOptions.SetRoomName(roomName); + if (password.Length > 0) + { + roomOptions.SetPassword(password); + } + PicoPlatform.RoomService.JoinOrCreateNamedRoom(PicoPlatform.RoomJoinPolicy.Everyone, createIfNotExist, 2, roomOptions).OnComplete(ProcessRoomJoin2); + } + + public void StartLeaveRoom() + { + if (GetRoomID() == 0) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, "no valid room to leave"); + return; + } + if (_curGameState.CurState < EGameState.RoomJoining) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Error, "not InRoom, skip this request"); + return; + } + ulong room_id = GetRoomID(); + CallOnStatusChange(EGameState.RoomLeaving, $"request to Leaving room {GetRoomID()} ..."); + PicoPlatform.RoomService.Leave(room_id).OnComplete(ProcessRoomLeave); + } + + public ulong GetRoomID() + { + if (_curGameState.CurState != EGameState.InRoom && _curGameState.CurState != EGameState.RoomLeaving) + { + //PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Warn, $"GetRoomID, current not in room, CurState {_curGameState.CurState}"); + return 0; + } + return _room_status.PicoRoomWrapper.PicoRoomInfo.RoomID; + } + + public ulong GetPreviousRoomID() + { + return _curGameState.LastRoomID; + } + + private void StopPicoGame(string errormsg) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, $"StopPicoGame, reason: {errormsg} ..."); + PicoPlatform.CoreService.GameUninitialize(); + if (_curGameState.CurState >= EGameState.Inited) + { + CallOnStatusChange(EGameState.NotInited, errormsg);//game module has been inited + } else + { + CallOnStatusChange(EGameState.NotInited, errormsg);//game module has not been inited + } + } + + private void OnGameInitialize(PicoPlatform.Message msg) + { + if (msg == null) + { + StopPicoGame("OnGameInitialize: fail, message is null"); + return; + } + + if (msg.IsError) + { + StopPicoGame($"GameInitialize Failed: {msg.Error.Code}, {msg.Error.Message}"); + } + else + { + bool is_suc = msg.Data == PicoPlatform.GameInitializeResult.Success; + if (is_suc) + { + CallOnStatusChange(EGameState.Inited, "game init succeed"); + } else + { + StopPicoGame($"GameInitialize: failed please re-initialize, info: {(PicoPlatform.GameInitializeResult)msg.Data}"); + } + } + } + } // public partial class InnerPicoSDKUser +} // namespace Netcode.Transports.Pico + diff --git a/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.cs.meta new file mode 100644 index 00000000..ae409441 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/InnerPicoSDKUser.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e9ff02dbf8de5394bac9bf21800a96d9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/PicoTransport.Independent.cs b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/PicoTransport.Independent.cs new file mode 100644 index 00000000..11091ba6 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/PicoTransport.Independent.cs @@ -0,0 +1,203 @@ +using System; +using Unity.Netcode; +using UnityEngine; + +namespace Netcode.Transports.Pico +{ + public partial class PicoTransport + { + private InnerPicoSDKUser.EGameState _currentGameState = InnerPicoSDKUser.EGameState.NotInited; + + [Serializable] + public class SimpleModeConfig + { + public string roomName; + public string password; + } + + public SimpleModeConfig SimpleModeInfo; + InnerPicoSDKUser _picoSDKUser = null; + bool _joinRoomWaitGameInit = false; + + void PrepareIndependent() + { + TextAsset mockConfig = null; +#if UNITY_EDITOR + if ((Application.platform == RuntimePlatform.WindowsPlayer || Application.platform == RuntimePlatform.WindowsEditor)) + { + // Automatically start server if this is the original editor + mockConfig = Resources.Load("PicoSdkPCConfig"); + } +#endif + _roomLeftOnce = false; + _picoSDKUser = FindObjectOfType(); + if (_picoSDKUser == null) + { + _picoSDKUser = this.gameObject.AddComponent(); + } + this.OnPicoTransportEvent -= _picoSDKUser.HandlePicoTransportEvent; + this.OnPicoTransportEvent += _picoSDKUser.HandlePicoTransportEvent; + _picoSDKUser.OnPicoSdkNotify -= HandlePicoNotify; + _picoSDKUser.OnPicoRoomMessage -= OnPkgRecved; + _picoSDKUser.OnPicoSdkNotify += HandlePicoNotify; + _picoSDKUser.OnPicoRoomMessage += OnPkgRecved; + PicoTransport.PicoTransportLog(LogLevel.Info, "PrepareIndependent, StartPicoGame ..."); + _picoSDKUser.StartPicoGame(mockConfig); + } + + void AfterGameInited() + { + if (_joinRoomWaitGameInit) + { + JoinNamedRoom(); + } + } + + void ShutdownNetcode() + { + if (NetworkManager.Singleton) + { + PicoTransportLog(LogLevel.Info, $"<--------------------------------------------"); + NetworkManager.Singleton.Shutdown(); + } else + { + AfterShutdown(); + } + } + + void AfterRoomJoined() + { + if (NetworkManager.Singleton.IsServer) + { + //ΪĿǰûеcreate named roomӿڣStartHostʱҪǷΪǣֹͣnetcode + if (_picoSDKUser.GetSelfLoggedInUID() != _picoSDKUser.GetTransportRoomInfo().OwnerUID) + { + PicoTransportLog(LogLevel.Error, "AfterRoomJoined, room already exist, StartHost failed"); + StopPicoTransport(); + return; + } + } + SetRoomProvider(_picoSDKUser, _picoSDKUser.GetSelfLoggedInUID(), _picoSDKUser.GetTransportRoomInfo()); + } + + void AfterRoomLeft() + { + if (_roomLeftOnce) + { + return; + } + _roomLeftOnce = true; + PicoTransport.PicoTransportLog(LogLevel.Info, $"AfterRoomLeft: current state {_currentGameState}, previousRoomID {_picoSDKUser.GetPreviousRoomID()}"); + StopPicoTransport(); + } + + void AfterNotInited() + { + //if (_currentGameState > InnerPicoSDKUser.GameState.Inited) + { + if (0 != _picoSDKUser.GetPreviousRoomID()) + { + PicoTransport.PicoTransportLog(LogLevel.Info, $"AfterNotInited: call OnPlayerLeaveRoom {_picoSDKUser.GetPreviousRoomID()}"); + OnSelfLeaveRoom(_picoSDKUser.GetSelfLoggedInUID(), _picoSDKUser.GetPreviousRoomID()); + return; + } + AfterRoomLeft(); + } + } + + void JoinNamedRoom() + { + if (NetworkManager.Singleton.IsServer || NetworkManager.Singleton.IsHost) + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, ">>>NetworkManager self is server, create and join"); + _picoSDKUser.StartJoinNamedRoom(SimpleModeInfo.roomName, SimpleModeInfo.password, true); + } else + { + PicoTransport.PicoTransportLog(PicoTransport.LogLevel.Info, ">>>NetworkManager self is client, join"); + _picoSDKUser.StartJoinNamedRoom(SimpleModeInfo.roomName, SimpleModeInfo.password, false); + } + } + + void InitIndependent() + { + _joinRoomWaitGameInit = true; + switch (_currentGameState) + { + case InnerPicoSDKUser.EGameState.Inited: + PicoTransport.PicoTransportLog(LogLevel.Warn, $"InitIndependent, already in GameState.Inited, start join named room ..."); + AfterGameInited(); + break; + default: + return; + } + return; + } + + void UpdateIndependent() + { + return; + } + + void HandleRoomEvent(TransportPicoRoomInfo.ERoomEvent roomEvent, string eventDesc, TransportRoomInfo roomInfo) + { + switch (roomEvent) + { + case TransportPicoRoomInfo.ERoomEvent.OwnerLeaveRoom: + case TransportPicoRoomInfo.ERoomEvent.SelfLeaveRoom: + case TransportPicoRoomInfo.ERoomEvent.UpdateRoomInfo: + { + if ( (null == roomInfo) || (0 == roomInfo.RoomID) || (roomInfo.OwnerUID == 0)) + { + AfterRoomLeft(); + } else + { + OnRoomInfoUpdate(roomInfo); + } + } + break; + } + return; + } + + void HandlePicoNotify(InnerPicoSDKUser.ESDKUserEvent inEvent, InnerPicoSDKUser.EGameState oldState, InnerPicoSDKUser.EGameState curState, string eventDesc) + { + _currentGameState = curState; + + if (inEvent == InnerPicoSDKUser.ESDKUserEvent.RoomInfoUpdate) + { + HandleRoomEvent(TransportPicoRoomInfo.ERoomEvent.UpdateRoomInfo, "room update from server", _picoSDKUser.GetTransportRoomInfo()); + return; + } + + if (curState == oldState) + { + return; + } + switch (_currentGameState) + { + case InnerPicoSDKUser.EGameState.Inited: + if (oldState < InnerPicoSDKUser.EGameState.Inited) + { + AfterGameInited(); + } + else + { + if (NetworkManager.Singleton != null) + { + PicoTransport.PicoTransportLog(LogLevel.Info, $"HandlePicoNotify: return to GameState.Inited: NetworkManager is running, stopped it now"); + StopPicoTransport(); + } + } + break; + case InnerPicoSDKUser.EGameState.InRoom: + PicoTransport.PicoTransportLog(LogLevel.Info, $"HandlePicoNotify of GameState.InRoom, room join succeed: {eventDesc}"); + AfterRoomJoined(); + break; + case InnerPicoSDKUser.EGameState.NotInited: + PicoTransport.PicoTransportLog(LogLevel.Info, $"HandlePicoNotify of pico game service init failed: {eventDesc}"); + ShutdownNetcode(); + break; + } + } // void OnStatusChange + } // public partial class PicoTransport +} diff --git a/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/PicoTransport.Independent.cs.meta b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/PicoTransport.Independent.cs.meta new file mode 100644 index 00000000..c9f24a1e --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/SimpleMode/PicoTransport.Independent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6c0c6f4279b8eb94e8805cdd19af42d2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Runtime/com.community.netcode.transport.pico.asmdef b/Transports/com.community.netcode.transport.pico/Runtime/com.community.netcode.transport.pico.asmdef new file mode 100644 index 00000000..a36f813f --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/com.community.netcode.transport.pico.asmdef @@ -0,0 +1,17 @@ +{ + "name": "Pico Transport for NGO", + "rootNamespace": "Netcode.Transport.Pico", + "references": [ + "Unity.Netcode.Runtime", + "PICO.Platform" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Transports/com.community.netcode.transport.pico/Runtime/com.community.netcode.transport.pico.asmdef.meta b/Transports/com.community.netcode.transport.pico/Runtime/com.community.netcode.transport.pico.asmdef.meta new file mode 100644 index 00000000..ee91c873 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Runtime/com.community.netcode.transport.pico.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 087590f7c49bd5d408d9cd546871a24b +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path.meta new file mode 100644 index 00000000..896df5ba --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4ebfdd9c93ac19842b47464b460da7d7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats.meta new file mode 100644 index 00000000..9b606718 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e88d0906208c1148a77241b365e377f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Plane.mat b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Plane.mat new file mode 100644 index 00000000..7d63e18c --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Plane.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Plane + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.04555538, g: 0.1792453, b: 0.04509314, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Plane.mat.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Plane.mat.meta new file mode 100644 index 00000000..f11f5755 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Plane.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9e846946727b5da4c888ba9c998f1e08 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Player.mat b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Player.mat new file mode 100644 index 00000000..d9ad358e --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Player.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Player + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.5188679, g: 0.055132225, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Player.mat.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Player.mat.meta new file mode 100644 index 00000000..ec613c68 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Mats/Player.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 857f7a18abfed9f4aae31d857883e50e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Prefabs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Prefabs.meta new file mode 100644 index 00000000..c1f9a45c --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e93becbb3ace83f488bb65dbb3095261 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Prefabs/NetPlayer.prefab b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Prefabs/NetPlayer.prefab new file mode 100644 index 00000000..f0bed3b1 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Prefabs/NetPlayer.prefab @@ -0,0 +1,130 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6535690648612318365 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6535690648612318361} + - component: {fileID: 6535690648612318360} + - component: {fileID: 6535690648612318367} + - component: {fileID: 6535690648612318366} + - component: {fileID: -5748451135290254554} + - component: {fileID: 7044176870179564551} + m_Layer: 0 + m_Name: NetPlayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6535690648612318361 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6535690648612318365} + 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!33 &6535690648612318360 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6535690648612318365} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6535690648612318367 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6535690648612318365} + 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: 857f7a18abfed9f4aae31d857883e50e, 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!136 &6535690648612318366 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6535690648612318365} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &-5748451135290254554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6535690648612318365} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &7044176870179564551 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6535690648612318365} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5e53162aef0a49e468280a1374f10ed4, type: 3} + m_Name: + m_EditorClassIdentifier: + Position: + m_InternalValue: {x: 0, y: 0, z: 0} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Prefabs/NetPlayer.prefab.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Prefabs/NetPlayer.prefab.meta new file mode 100644 index 00000000..d3551ca3 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Prefabs/NetPlayer.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: adfb2094fd67e2244bce895fca8eb3b8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources.meta new file mode 100644 index 00000000..e68f6dca --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5bf6395485f479c4eadcf7bcdb8c8a02 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_PlatformSetting.asset b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_PlatformSetting.asset new file mode 100644 index 00000000..f88553c7 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_PlatformSetting.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 508edb944d24e574595a91425051a8e4, type: 3} + m_Name: PXR_PlatformSetting + m_EditorClassIdentifier: + entitlementCheckSimulation: 1 + startTimeEntitlementCheck: 1 + appID: 2e25700f8446fb0baa8279fa1a78d757 + deviceSN: + - PA7H10MGF9180717W diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_PlatformSetting.asset.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_PlatformSetting.asset.meta new file mode 100644 index 00000000..3b74b2f9 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_PlatformSetting.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0197bfd1c9f89fd45ac65983d383cbf2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_ProjectSetting.asset b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_ProjectSetting.asset new file mode 100644 index 00000000..08799f53 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_ProjectSetting.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 261e5777ad4ae374eb318821653de6aa, type: 3} + m_Name: PXR_ProjectSetting + m_EditorClassIdentifier: + useContentProtect: 0 + handTracking: 0 diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_ProjectSetting.asset.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_ProjectSetting.asset.meta new file mode 100644 index 00000000..0eec3dd5 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_ProjectSetting.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 94b63eb6b5fa28846926bbe8d456990b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_SDKSettingAsset.asset b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_SDKSettingAsset.asset new file mode 100644 index 00000000..3dd88736 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_SDKSettingAsset.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 11500000, guid: 8e08befb1867d8945b4f1ddac43e65c5, type: 3} + m_Name: PXR_SDKSettingAsset + m_EditorClassIdentifier: + ignoreSDKSetting: 1 + doNotShowBuildWarning: 0 + appIDChecked: 1 diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_SDKSettingAsset.asset.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_SDKSettingAsset.asset.meta new file mode 100644 index 00000000..70efcb87 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Resources/PXR_SDKSettingAsset.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2628f847fe3d62d4aa4a199f0f2bb7ee +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes.meta new file mode 100644 index 00000000..79bde688 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e27aec584fcf0f43941aba5ba559481 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/MatchmakingRoom.unity b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/MatchmakingRoom.unity new file mode 100644 index 00000000..2805ff35 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/MatchmakingRoom.unity @@ -0,0 +1,3635 @@ +%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: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, 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: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + 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 &6472493 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6472497} + - component: {fileID: 6472496} + - component: {fileID: 6472495} + - component: {fileID: 6472494} + m_Layer: 0 + m_Name: PicoJoinButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &6472494 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6472493} + 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: 0.122641504, g: 0.10355108, b: 0.10355108, a: 0.78039217} + m_HighlightedColor: {r: 0.016896129, g: 0.09433961, b: 0.0093449615, a: 0.9019608} + m_PressedColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, a: 1} + m_SelectedColor: {r: 0.019607844, g: 0.09803922, b: 0.011764706, a: 1} + m_DisabledColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, 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: 6472495} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &6472495 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6472493} + 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 &6472496 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6472493} + m_CullTransparentMesh: 1 +--- !u!224 &6472497 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6472493} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 5.484828, y: 5.484828, z: 5.484828} + m_Children: + - {fileID: 783447567} + m_Father: {fileID: 1670590169} + m_RootOrder: 3 + 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: 1.0969657, y: 50.77387} + m_SizeDelta: {x: 30.6691, y: 8.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &44604146 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 44604147} + - component: {fileID: 44604149} + - component: {fileID: 44604148} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &44604147 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 44604146} + 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: 311694909} + 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 &44604148 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 44604146} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 'InitPicoSDK + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 3.6 + m_fontSizeBase: 3.6 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &44604149 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 44604146} + m_CullTransparentMesh: 1 +--- !u!1 &49557027 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 49557029} + - component: {fileID: 49557028} + m_Layer: 0 + m_Name: XR Interaction Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &49557028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 49557027} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] +--- !u!4 &49557029 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 49557027} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 86.65201, y: -79.478424, z: -131.49371} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 740800145} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &189646931 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 189646932} + m_Layer: 0 + m_Name: Camera Offset + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &189646932 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189646931} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.1176, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 898451400} + - {fileID: 957514849} + - {fileID: 1112846887} + m_Father: {fileID: 1633817999} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &311694905 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 311694909} + - component: {fileID: 311694908} + - component: {fileID: 311694907} + - component: {fileID: 311694906} + m_Layer: 0 + m_Name: PicoInitButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &311694906 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 311694905} + 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: 0.122641504, g: 0.10355108, b: 0.10355108, a: 0.78039217} + m_HighlightedColor: {r: 0.016896129, g: 0.09433961, b: 0.0093449615, a: 0.9019608} + m_PressedColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, a: 1} + m_SelectedColor: {r: 0.019607844, g: 0.09803922, b: 0.011764706, a: 1} + m_DisabledColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, 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: 311694907} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &311694907 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 311694905} + 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 &311694908 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 311694905} + m_CullTransparentMesh: 1 +--- !u!224 &311694909 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 311694905} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 5.484828, y: 5.484828, z: 5.484828} + m_Children: + - {fileID: 44604147} + m_Father: {fileID: 1670590169} + 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: 1.0969657, y: 50.77387} + m_SizeDelta: {x: 30.6691, y: 8.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &423086411 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 423086412} + - component: {fileID: 423086413} + m_Layer: 0 + m_Name: InRoomPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &423086412 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 423086411} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 174.9, y: 97, z: 0} + m_LocalScale: {x: 5.484828, y: 5.484828, z: 5.484828} + m_Children: + - {fileID: 1917349330} + - {fileID: 714524895} + - {fileID: 2080256313} + m_Father: {fileID: 1670590169} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &423086413 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 423086411} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8c2d4f6573dd3c940b2ead76f81c14cf, type: 3} + m_Name: + m_EditorClassIdentifier: + MoveButton: {fileID: 1917349331} + LeaveButton: {fileID: 2080256316} + ButtonText: {fileID: 2020266520} + StatusText: {fileID: 714524893} +--- !u!1 &510937893 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 510937894} + - component: {fileID: 510937896} + - component: {fileID: 510937895} + m_Layer: 5 + m_Name: PicoStatus + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &510937894 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510937893} + 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: 1670590169} + 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: 147} + m_SizeDelta: {x: 200, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &510937895 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510937893} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 'Status + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294901758 + m_fontColor: {r: 0.99532855, g: 1, b: 0.995283, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &510937896 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510937893} + m_CullTransparentMesh: 1 +--- !u!1 &547427229 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 547427233} + - component: {fileID: 547427232} + - component: {fileID: 547427231} + - component: {fileID: 547427230} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &547427230 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547427229} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &547427231 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547427229} + 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: 9e846946727b5da4c888ba9c998f1e08, 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 &547427232 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547427229} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &547427233 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547427229} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + 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 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + 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: 1 + 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 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + 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: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &714524892 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 714524895} + - component: {fileID: 714524894} + - component: {fileID: 714524893} + m_Layer: 5 + m_Name: InRoomInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &714524893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 714524892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: InRoomInfo + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294901758 + m_fontColor: {r: 0.99532855, g: 1, b: 0.995283, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &714524894 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 714524892} + m_CullTransparentMesh: 1 +--- !u!224 &714524895 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 714524892} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.18232113, y: 0.18232113, z: 0.18232113} + m_Children: [] + m_Father: {fileID: 423086412} + 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: 2.187851} + m_SizeDelta: {x: 200, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &740800144 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 740800145} + m_Layer: 0 + m_Name: XR + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &740800145 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 740800144} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -86.65201, y: 79.478424, z: 131.49371} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 49557029} + - {fileID: 1633817999} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &783447566 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 783447567} + - component: {fileID: 783447569} + - component: {fileID: 783447568} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &783447567 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 783447566} + 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: 6472497} + 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 &783447568 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 783447566} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 'JoinRoom + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190114 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 3.6 + m_fontSizeBase: 3.6 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &783447569 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 783447566} + m_CullTransparentMesh: 1 +--- !u!1 &858958269 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 858958272} + - component: {fileID: 858958271} + - component: {fileID: 858958273} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &858958271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 858958269} + 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 &858958272 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 858958269} + 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: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &858958273 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 858958269} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClickSpeed: 0.3 + m_MoveDeadzone: 0.6 + m_RepeatDelay: 0.5 + m_RepeatRate: 0.1 + m_TrackedDeviceDragThresholdMultiplier: 1.4 + m_ActiveInputMode: 1 + m_MaxTrackedDeviceRaycastDistance: 1000 + m_EnableXRInput: 1 + m_EnableMouseInput: 1 + m_EnableTouchInput: 1 + m_PointAction: {fileID: 2869410428622933342, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_LeftClickAction: {fileID: 1855836014308820768, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_MiddleClickAction: {fileID: -6289560987278519447, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RightClickAction: {fileID: -2562941478296515153, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ScrollWheelAction: {fileID: 5825226938762934180, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_NavigateAction: {fileID: -7967456002180160679, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SubmitAction: {fileID: 3994978066732806534, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_CancelAction: {fileID: 2387711382375263438, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_EnableBuiltinActionsAsFallback: 1 + m_EnableGamepadInput: 1 + m_EnableJoystickInput: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel +--- !u!1 &898451399 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 898451400} + - component: {fileID: 898451403} + - component: {fileID: 898451402} + - component: {fileID: 898451401} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &898451400 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898451399} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 189646932} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &898451401 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898451399} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_PositionInput: + m_UseReference: 0 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: Vector3 + m_Id: bb3cbc07-84fa-4e0b-bf2c-384e1f810bbc + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: 9ec00e42-9900-44b6-b573-12ceb31b4bdd + m_Path: /centerEyePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + - m_Name: + m_Id: 0ca9ab31-df56-4019-9ea6-08d69cbb1d46 + m_Path: /devicePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: 0} + m_RotationInput: + m_UseReference: 0 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: Quaternion + m_Id: 35477100-6ee3-4d6b-962a-1e5f73c7659a + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: a906f4f2-78e7-41b4-b859-68644e929ef3 + m_Path: /centerEyeRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + - m_Name: + m_Id: 5f1b7763-61bc-49b8-9ecc-9d904451eed6 + m_Path: /deviceRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: 0} + m_PositionAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_RotationAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_HasMigratedActions: 1 +--- !u!81 &898451402 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898451399} + m_Enabled: 1 +--- !u!20 &898451403 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898451399} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.05273228, g: 0.087256715, b: 0.14150941, 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.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 33 + 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!1 &957514848 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 957514849} + - component: {fileID: 957514853} + - component: {fileID: 957514852} + - component: {fileID: 957514851} + - component: {fileID: 957514850} + m_Layer: 0 + m_Name: LeftHand Controller + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &957514849 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957514848} + 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: 189646932} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &957514850 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957514848} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineWidth: 0.02 + m_OverrideInteractorLineLength: 0 + m_LineLength: 10 + m_WidthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ValidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_InvalidColorGradient: + serializedVersion: 2 + key0: {r: 0.11718281, g: 0.17947538, b: 0.745283, a: 1} + key1: {r: 1, g: 0, b: 0, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_BlockedColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_TreatSelectionAsValidState: 0 + m_SmoothMovement: 0 + m_FollowTightness: 10 + m_SnapThresholdDistance: 10 + m_Reticle: {fileID: 0} + m_BlockedReticle: {fileID: 0} + m_StopLineAtFirstRaycastHit: 0 + m_StopLineAtSelection: 0 +--- !u!120 &957514851 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957514848} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0} + 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: 5 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0, g: 0, b: 1, a: 1} + key1: {r: 0, g: 0, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 4 + numCapVertices: 4 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &957514852 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957514848} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 49557028} + m_InteractionLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_InteractionLayers: + m_Bits: 4294967295 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_OnHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_OnHoverExited: + m_PersistentCalls: + m_Calls: [] + m_OnSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_OnSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectActionTrigger: 0 + m_HideControllerOnSelect: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 1 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 1 + m_LineType: 0 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 36 + m_RayOriginTransform: {fileID: 0} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 16 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 20 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 + m_HitClosestOnly: 0 + m_HoverToSelect: 0 + m_HoverTimeToSelect: 0.5 + m_EnableUIInteraction: 1 + m_AllowAnchorControl: 1 + m_UseForceGrab: 1 + m_RotateSpeed: 180 + m_TranslateSpeed: 1 + m_AnchorRotateReferenceFrame: {fileID: 0} + m_AnchorRotationMode: 0 +--- !u!114 &957514853 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957514848} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UpdateTrackingType: 0 + m_EnableInputTracking: 1 + m_EnableInputActions: 1 + m_ModelPrefab: {fileID: 2673240740586844490, guid: d792b21ba2f3e6e4ba026384d6d6536f, type: 3} + m_ModelParent: {fileID: 0} + m_Model: {fileID: 0} + m_AnimateModel: 0 + m_ModelSelectTransition: + m_ModelDeSelectTransition: + m_PositionAction: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: + m_Id: 26d2aaa4-6518-4d33-8fae-419043a723d4 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -2024308242397127297, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotationAction: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: + m_Id: d7a15530-737b-416a-9d5d-a8b51ba6c682 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 8248158260566104461, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_TrackingStateAction: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: + m_Id: e12d3305-8866-42f0-a9b8-2cd7f4310c31 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 684395432459739428, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectAction: + m_UseReference: 1 + m_Action: + m_Name: Select + m_Type: 0 + m_ExpectedControlType: + m_Id: 05483079-4b7c-4369-9176-fb8514428e98 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -6131295136447488360, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectActionValue: + m_UseReference: 1 + m_Action: + m_Name: Select Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: 8e42f062-fb45-44df-9825-35e1dfc18834 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 6558622148059887818, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateAction: + m_UseReference: 1 + m_Action: + m_Name: Activate + m_Type: 0 + m_ExpectedControlType: + m_Id: 38e5c09b-96d2-40e4-ae8e-3bfb9eb16727 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5982496924579745919, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateActionValue: + m_UseReference: 1 + m_Action: + m_Name: Activate Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: ff2b1032-d7ae-4e1a-8e8a-a5556d5f8db5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -4289430672226363583, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressAction: + m_UseReference: 1 + m_Action: + m_Name: UI Press + m_Type: 0 + m_ExpectedControlType: + m_Id: 347fe4ac-83bc-44f7-a0d2-2793a5775161 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -6395602842196007441, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressActionValue: + m_UseReference: 1 + m_Action: + m_Name: UI Press Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: 8b29ebc3-3830-4622-8c66-56f3a9b98d73 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 71106601250685021, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_HapticDeviceAction: + m_UseReference: 1 + m_Action: + m_Name: Haptic Device + m_Type: 0 + m_ExpectedControlType: + m_Id: 35cfed17-bcaf-4ff9-9fe0-fa1727b7619b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -8785819595477538065, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Rotate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: 4fcd4b62-1769-4cc4-aaee-aea2fc40d24f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -7363382999065477798, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_DirectionalAnchorRotationAction: + m_UseReference: 0 + m_Action: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} + m_TranslateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Translate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: 7bfe4461-8d15-4a61-9fa6-28ce950c9996 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 7779212132400271959, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ButtonPressPoint: 0.5 +--- !u!1 &1045233174 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1045233176} + - component: {fileID: 1045233178} + - component: {fileID: 1045233177} + - component: {fileID: 1045233175} + m_Layer: 0 + m_Name: GameLogic + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1045233175 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045233174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7130cb81802d6e45835a346f31e2600, type: 3} + m_Name: + m_EditorClassIdentifier: + PlayerPrefabPath: +--- !u!4 &1045233176 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045233174} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -86.65201, y: 79.478424, z: 131.49371} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1045233177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045233174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: efe5516b9c6135142a7e63556db66891, type: 3} + m_Name: + m_EditorClassIdentifier: + TransportLogLevel: 0 + WorkMode: 1 + SimpleModeInfo: + roomName: + password: +--- !u!114 &1045233178 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045233174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 1045233177} + PlayerPrefab: {fileID: 6535690648612318365, guid: adfb2094fd67e2244bce895fca8eb3b8, type: 3} + NetworkPrefabs: [] + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 0 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + SpawnTimeout: 1 + EnableNetworkLogs: 1 +--- !u!1 &1112846886 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1112846887} + - component: {fileID: 1112846891} + - component: {fileID: 1112846890} + - component: {fileID: 1112846889} + - component: {fileID: 1112846888} + m_Layer: 0 + m_Name: RightHand Controller + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1112846887 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112846886} + 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: 189646932} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1112846888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112846886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineWidth: 0.02 + m_OverrideInteractorLineLength: 0 + m_LineLength: 10 + m_WidthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ValidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_InvalidColorGradient: + serializedVersion: 2 + key0: {r: 0.09801824, g: 0.27126268, b: 0.5566038, a: 1} + key1: {r: 1, g: 0, b: 0, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_BlockedColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_TreatSelectionAsValidState: 0 + m_SmoothMovement: 0 + m_FollowTightness: 10 + m_SnapThresholdDistance: 10 + m_Reticle: {fileID: 0} + m_BlockedReticle: {fileID: 0} + m_StopLineAtFirstRaycastHit: 0 + m_StopLineAtSelection: 0 +--- !u!120 &1112846889 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112846886} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0} + 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: 5 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0, g: 0, b: 1, a: 1} + key1: {r: 0, g: 0, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 4 + numCapVertices: 4 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &1112846890 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112846886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 49557028} + m_InteractionLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_InteractionLayers: + m_Bits: 4294967295 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_OnHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_OnHoverExited: + m_PersistentCalls: + m_Calls: [] + m_OnSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_OnSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectActionTrigger: 0 + m_HideControllerOnSelect: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 1 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 1 + m_LineType: 0 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 36 + m_RayOriginTransform: {fileID: 0} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 16 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 20 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 + m_HitClosestOnly: 0 + m_HoverToSelect: 0 + m_HoverTimeToSelect: 0.5 + m_EnableUIInteraction: 1 + m_AllowAnchorControl: 1 + m_UseForceGrab: 1 + m_RotateSpeed: 180 + m_TranslateSpeed: 1 + m_AnchorRotateReferenceFrame: {fileID: 0} + m_AnchorRotationMode: 0 +--- !u!114 &1112846891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112846886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UpdateTrackingType: 0 + m_EnableInputTracking: 1 + m_EnableInputActions: 1 + m_ModelPrefab: {fileID: 2281696399307846454, guid: 94f7925a0585b274fbc5fe6b8f9b1f4e, type: 3} + m_ModelParent: {fileID: 0} + m_Model: {fileID: 0} + m_AnimateModel: 0 + m_ModelSelectTransition: + m_ModelDeSelectTransition: + m_PositionAction: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: + m_Id: 93ead265-4bff-4199-8ddf-33c028dcfee9 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -3326005586356538449, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotationAction: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: + m_Id: cd9a8368-32d3-4e58-86a0-6fe78d199369 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 5101698808175986029, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_TrackingStateAction: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: + m_Id: 7964ebc4-45e1-4431-a17a-7f2206e38661 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -1277054153949319361, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectAction: + m_UseReference: 1 + m_Action: + m_Name: Select + m_Type: 0 + m_ExpectedControlType: + m_Id: 3207346a-8b2f-4b24-b45a-90ea1cdef7fb + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 187161793506945269, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectActionValue: + m_UseReference: 1 + m_Action: + m_Name: Select Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: dcf177a1-4c6d-42a7-b095-5f68848dadf1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -1758520528963094988, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateAction: + m_UseReference: 1 + m_Action: + m_Name: Activate + m_Type: 0 + m_ExpectedControlType: + m_Id: ed3be3cd-637e-48d6-ae4b-dd97305eaa40 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 83097790271614945, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateActionValue: + m_UseReference: 1 + m_Action: + m_Name: Activate Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: af4d694a-0159-4acb-bf36-7b78c35a10d5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 7904272356298805229, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressAction: + m_UseReference: 1 + m_Action: + m_Name: UI Press + m_Type: 0 + m_ExpectedControlType: + m_Id: 55ce5c5d-aad8-4ebf-9f21-899ff595a062 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 3279264004350380116, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressActionValue: + m_UseReference: 1 + m_Action: + m_Name: UI Press Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: cdab09f7-ec37-4eee-b72c-06339cc37c8b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5908353012961274365, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_HapticDeviceAction: + m_UseReference: 1 + m_Action: + m_Name: Haptic Device + m_Type: 0 + m_ExpectedControlType: + m_Id: 60f81e0e-3fab-4e26-90b6-a5ab762e2bb1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -8222252007134549311, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Rotate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: aca8fec0-a925-428d-a6b7-25cfbd478258 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5913262927076077117, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_DirectionalAnchorRotationAction: + m_UseReference: 0 + m_Action: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} + m_TranslateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Translate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: 161874b5-2545-4bb2-bea4-eeddeb4fabf6 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 875253871413052681, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ButtonPressPoint: 0.5 +--- !u!1 &1592755175 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1592755176} + - component: {fileID: 1592755178} + - component: {fileID: 1592755177} + m_Layer: 5 + m_Name: UserInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1592755176 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1592755175} + 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: 1670590169} + 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: 107} + m_SizeDelta: {x: 200, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1592755177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1592755175} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: UserInfo + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294901758 + m_fontColor: {r: 0.99532855, g: 1, b: 0.995283, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: -22.220963, y: 0, z: -26.2611, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1592755178 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1592755175} + m_CullTransparentMesh: 1 +--- !u!1 &1633817997 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1633817999} + - component: {fileID: 1633817998} + - component: {fileID: 1633818000} + - component: {fileID: 1633818001} + m_Layer: 0 + m_Name: XR Origin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1633817998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1633817997} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Camera: {fileID: 898451403} + m_OriginBaseGameObject: {fileID: 1633817997} + m_CameraFloorOffsetObject: {fileID: 189646931} + m_RequestedTrackingOriginMode: 0 + m_CameraYOffset: 1.1176 +--- !u!4 &1633817999 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1633817997} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 86.65201, y: -77.7, z: -136.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 189646932} + m_Father: {fileID: 740800145} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1633818000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1633817997} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 017c5e3933235514c9520e1dace2a4b2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ActionAssets: + - {fileID: -944628639613478452, guid: c348712bda248c246b8c49b3db54643f, type: 3} +--- !u!114 &1633818001 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1633817997} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fd9f82377aeb9704193bd866d119aaa5, type: 3} + m_Name: + m_EditorClassIdentifier: + showFps: 0 + useDefaultFps: 1 + customFps: 0 + screenFade: 0 + eyeTracking: 0 + trackingMode: 0 + faceTracking: 0 + lipsyncTracking: 0 + foveationLevel: -1 + openMRC: 0 + foregroundLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + backLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + backCameraObj: {fileID: 0} + foregroundCameraObj: {fileID: 0} + mrcRenderTexture: {fileID: 0} + foregroundMrcRenderTexture: {fileID: 0} + appCheckResult: 100 + useRecommendedAntiAliasingLevel: 1 +--- !u!1 &1670590165 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1670590169} + - component: {fileID: 1670590168} + - component: {fileID: 1670590167} + - component: {fileID: 1670590166} + - component: {fileID: 1670590170} + - component: {fileID: 1670590171} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1670590166 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + 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 &1670590167 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 36 + 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 &1670590168 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + m_Camera: {fileID: 898451403} + m_PlaneDistance: 30 + 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 &1670590169 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + 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: 510937894} + - {fileID: 1592755176} + - {fileID: 311694909} + - {fileID: 6472497} + - {fileID: 423086412} + m_Father: {fileID: 0} + 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, y: 0} +--- !u!114 &1670590170 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7951c64acb0fa62458bf30a60089fe2d, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 0 + m_CheckFor2DOcclusion: 0 + m_CheckFor3DOcclusion: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 +--- !u!114 &1670590171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2329b7346f9f6b7408b0b2ed7d48f8fd, type: 3} + m_Name: + m_EditorClassIdentifier: + InitPicoSDKBtn: {fileID: 311694906} + JoinBtn: {fileID: 6472494} + CurStatus: {fileID: 510937895} + SelfOpenID: {fileID: 1592755177} + InRoomPanel: {fileID: 423086413} +--- !u!1 &1708814644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1708814645} + - component: {fileID: 1708814647} + - component: {fileID: 1708814646} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1708814645 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1708814644} + 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: 2080256313} + 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 &1708814646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1708814644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 'LeaveRoom + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190114 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 3.6 + m_fontSizeBase: 3.6 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1708814647 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1708814644} + m_CullTransparentMesh: 1 +--- !u!1 &1917349329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1917349330} + - component: {fileID: 1917349333} + - component: {fileID: 1917349332} + - component: {fileID: 1917349331} + m_Layer: 0 + m_Name: MoveButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1917349330 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1917349329} + 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: 2020266519} + m_Father: {fileID: 423086412} + 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.2, y: -8.428} + m_SizeDelta: {x: 30.6691, y: 8.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1917349331 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1917349329} + 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: 0.122641504, g: 0.10355108, b: 0.10355108, a: 0.78039217} + m_HighlightedColor: {r: 0.016896129, g: 0.09433961, b: 0.0093449615, a: 0.9019608} + m_PressedColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, a: 1} + m_SelectedColor: {r: 0.019607844, g: 0.09803922, b: 0.011764706, a: 1} + m_DisabledColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, 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: 1917349332} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1917349332 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1917349329} + 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 &1917349333 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1917349329} + m_CullTransparentMesh: 1 +--- !u!1 &2020266518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2020266519} + - component: {fileID: 2020266521} + - component: {fileID: 2020266520} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2020266519 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2020266518} + 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: 1917349330} + 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 &2020266520 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2020266518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 'Move + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190114 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 3.6 + m_fontSizeBase: 3.6 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &2020266521 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2020266518} + m_CullTransparentMesh: 1 +--- !u!1 &2080256312 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2080256313} + - component: {fileID: 2080256315} + - component: {fileID: 2080256314} + - component: {fileID: 2080256316} + m_Layer: 0 + m_Name: LeaveButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2080256313 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080256312} + 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: 1708814645} + m_Father: {fileID: 423086412} + 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: -31.8, y: -8.428} + m_SizeDelta: {x: 30.6691, y: 8.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2080256314 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080256312} + 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 &2080256315 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080256312} + m_CullTransparentMesh: 1 +--- !u!114 &2080256316 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080256312} + 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: 0.122641504, g: 0.10355108, b: 0.10355108, a: 0.78039217} + m_HighlightedColor: {r: 0.016896129, g: 0.09433961, b: 0.0093449615, a: 0.9019608} + m_PressedColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, a: 1} + m_SelectedColor: {r: 0.019607844, g: 0.09803922, b: 0.011764706, a: 1} + m_DisabledColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, 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: 2080256314} + m_OnClick: + m_PersistentCalls: + m_Calls: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/MatchmakingRoom.unity.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/MatchmakingRoom.unity.meta new file mode 100644 index 00000000..264e225f --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/MatchmakingRoom.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f6a0c22b70db6034eb6f092e0d96a0ec +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/SimpleMode.unity b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/SimpleMode.unity new file mode 100644 index 00000000..0620d7fb --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/SimpleMode.unity @@ -0,0 +1,3345 @@ +%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: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, 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: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + 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 &49557027 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 49557029} + - component: {fileID: 49557028} + m_Layer: 0 + m_Name: XR Interaction Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &49557028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 49557027} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] +--- !u!4 &49557029 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 49557027} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 86.65201, y: -79.478424, z: -131.49371} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 740800145} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &189646931 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 189646932} + m_Layer: 0 + m_Name: Camera Offset + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &189646932 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189646931} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.1176, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 898451400} + - {fileID: 957514849} + - {fileID: 1112846887} + m_Father: {fileID: 1633817999} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &423086411 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 423086412} + - component: {fileID: 423086413} + m_Layer: 0 + m_Name: SimpleModeInRoomPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &423086412 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 423086411} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 174.9, y: 97, z: 0} + m_LocalScale: {x: 5.484828, y: 5.484828, z: 5.484828} + m_Children: + - {fileID: 1917349330} + - {fileID: 714524895} + - {fileID: 2080256313} + - {fileID: 1640954129} + - {fileID: 2134647986} + m_Father: {fileID: 1670590169} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &423086413 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 423086411} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5b011c756878c3542a52401bdc0d27ad, type: 3} + m_Name: + m_EditorClassIdentifier: + MoveButton: {fileID: 1917349331} + StartRoomButton: {fileID: 1640954132} + JoinRoomButton: {fileID: 2134647989} + ExitRoomButton: {fileID: 2080256316} + StatusText: {fileID: 714524893} +--- !u!1 &547427229 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 547427233} + - component: {fileID: 547427232} + - component: {fileID: 547427231} + - component: {fileID: 547427230} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &547427230 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547427229} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &547427231 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547427229} + 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: 9e846946727b5da4c888ba9c998f1e08, 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 &547427232 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547427229} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &547427233 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547427229} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &572138294 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 572138295} + - component: {fileID: 572138297} + - component: {fileID: 572138296} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &572138295 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 572138294} + 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: 1640954129} + 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 &572138296 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 572138294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 'StartRoom + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 3.6 + m_fontSizeBase: 3.6 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &572138297 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 572138294} + m_CullTransparentMesh: 1 +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + 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 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + 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: 1 + 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 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + 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: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &714524892 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 714524895} + - component: {fileID: 714524894} + - component: {fileID: 714524893} + m_Layer: 5 + m_Name: InRoomInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &714524893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 714524892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: InRoomInfo + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294901758 + m_fontColor: {r: 0.99532855, g: 1, b: 0.995283, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &714524894 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 714524892} + m_CullTransparentMesh: 1 +--- !u!224 &714524895 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 714524892} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.18232113, y: 0.18232113, z: 0.18232113} + m_Children: [] + m_Father: {fileID: 423086412} + 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: -17.7, y: 2.187851} + m_SizeDelta: {x: 200, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &740800144 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 740800145} + m_Layer: 0 + m_Name: XR + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &740800145 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 740800144} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -86.65201, y: 79.478424, z: 131.49371} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 49557029} + - {fileID: 1633817999} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &858958269 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 858958272} + - component: {fileID: 858958271} + - component: {fileID: 858958273} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &858958271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 858958269} + 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 &858958272 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 858958269} + 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: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &858958273 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 858958269} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClickSpeed: 0.3 + m_MoveDeadzone: 0.6 + m_RepeatDelay: 0.5 + m_RepeatRate: 0.1 + m_TrackedDeviceDragThresholdMultiplier: 1.4 + m_ActiveInputMode: 1 + m_MaxTrackedDeviceRaycastDistance: 1000 + m_EnableXRInput: 1 + m_EnableMouseInput: 1 + m_EnableTouchInput: 1 + m_PointAction: {fileID: 2869410428622933342, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_LeftClickAction: {fileID: 1855836014308820768, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_MiddleClickAction: {fileID: -6289560987278519447, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RightClickAction: {fileID: -2562941478296515153, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ScrollWheelAction: {fileID: 5825226938762934180, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_NavigateAction: {fileID: -7967456002180160679, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SubmitAction: {fileID: 3994978066732806534, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_CancelAction: {fileID: 2387711382375263438, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_EnableBuiltinActionsAsFallback: 1 + m_EnableGamepadInput: 1 + m_EnableJoystickInput: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel +--- !u!1 &898451399 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 898451400} + - component: {fileID: 898451403} + - component: {fileID: 898451402} + - component: {fileID: 898451401} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &898451400 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898451399} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 189646932} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &898451401 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898451399} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_PositionInput: + m_UseReference: 0 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: Vector3 + m_Id: bb3cbc07-84fa-4e0b-bf2c-384e1f810bbc + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: 9ec00e42-9900-44b6-b573-12ceb31b4bdd + m_Path: /centerEyePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + - m_Name: + m_Id: 0ca9ab31-df56-4019-9ea6-08d69cbb1d46 + m_Path: /devicePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: 0} + m_RotationInput: + m_UseReference: 0 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: Quaternion + m_Id: 35477100-6ee3-4d6b-962a-1e5f73c7659a + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: a906f4f2-78e7-41b4-b859-68644e929ef3 + m_Path: /centerEyeRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + - m_Name: + m_Id: 5f1b7763-61bc-49b8-9ecc-9d904451eed6 + m_Path: /deviceRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: 0} + m_PositionAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_RotationAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_HasMigratedActions: 1 +--- !u!81 &898451402 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898451399} + m_Enabled: 1 +--- !u!20 &898451403 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898451399} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.05273228, g: 0.087256715, b: 0.14150941, 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.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 33 + 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!1 &957514848 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 957514849} + - component: {fileID: 957514853} + - component: {fileID: 957514852} + - component: {fileID: 957514851} + - component: {fileID: 957514850} + m_Layer: 0 + m_Name: LeftHand Controller + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &957514849 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957514848} + 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: 189646932} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &957514850 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957514848} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineWidth: 0.02 + m_OverrideInteractorLineLength: 0 + m_LineLength: 10 + m_WidthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ValidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_InvalidColorGradient: + serializedVersion: 2 + key0: {r: 0.11718281, g: 0.17947538, b: 0.745283, a: 1} + key1: {r: 1, g: 0, b: 0, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_BlockedColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_TreatSelectionAsValidState: 0 + m_SmoothMovement: 0 + m_FollowTightness: 10 + m_SnapThresholdDistance: 10 + m_Reticle: {fileID: 0} + m_BlockedReticle: {fileID: 0} + m_StopLineAtFirstRaycastHit: 0 + m_StopLineAtSelection: 0 +--- !u!120 &957514851 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957514848} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0} + 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: 5 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0, g: 0, b: 1, a: 1} + key1: {r: 0, g: 0, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 4 + numCapVertices: 4 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &957514852 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957514848} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 49557028} + m_InteractionLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_InteractionLayers: + m_Bits: 4294967295 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_OnHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_OnHoverExited: + m_PersistentCalls: + m_Calls: [] + m_OnSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_OnSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectActionTrigger: 0 + m_HideControllerOnSelect: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 1 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 1 + m_LineType: 0 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 36 + m_RayOriginTransform: {fileID: 0} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 16 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 20 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 + m_HitClosestOnly: 0 + m_HoverToSelect: 0 + m_HoverTimeToSelect: 0.5 + m_EnableUIInteraction: 1 + m_AllowAnchorControl: 1 + m_UseForceGrab: 1 + m_RotateSpeed: 180 + m_TranslateSpeed: 1 + m_AnchorRotateReferenceFrame: {fileID: 0} + m_AnchorRotationMode: 0 +--- !u!114 &957514853 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 957514848} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UpdateTrackingType: 0 + m_EnableInputTracking: 1 + m_EnableInputActions: 1 + m_ModelPrefab: {fileID: 2673240740586844490, guid: d792b21ba2f3e6e4ba026384d6d6536f, type: 3} + m_ModelParent: {fileID: 0} + m_Model: {fileID: 0} + m_AnimateModel: 0 + m_ModelSelectTransition: + m_ModelDeSelectTransition: + m_PositionAction: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: + m_Id: 26d2aaa4-6518-4d33-8fae-419043a723d4 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -2024308242397127297, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotationAction: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: + m_Id: d7a15530-737b-416a-9d5d-a8b51ba6c682 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 8248158260566104461, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_TrackingStateAction: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: + m_Id: e12d3305-8866-42f0-a9b8-2cd7f4310c31 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 684395432459739428, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectAction: + m_UseReference: 1 + m_Action: + m_Name: Select + m_Type: 0 + m_ExpectedControlType: + m_Id: 05483079-4b7c-4369-9176-fb8514428e98 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -6131295136447488360, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectActionValue: + m_UseReference: 1 + m_Action: + m_Name: Select Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: 8e42f062-fb45-44df-9825-35e1dfc18834 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 6558622148059887818, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateAction: + m_UseReference: 1 + m_Action: + m_Name: Activate + m_Type: 0 + m_ExpectedControlType: + m_Id: 38e5c09b-96d2-40e4-ae8e-3bfb9eb16727 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5982496924579745919, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateActionValue: + m_UseReference: 1 + m_Action: + m_Name: Activate Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: ff2b1032-d7ae-4e1a-8e8a-a5556d5f8db5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -4289430672226363583, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressAction: + m_UseReference: 1 + m_Action: + m_Name: UI Press + m_Type: 0 + m_ExpectedControlType: + m_Id: 347fe4ac-83bc-44f7-a0d2-2793a5775161 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -6395602842196007441, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressActionValue: + m_UseReference: 1 + m_Action: + m_Name: UI Press Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: 8b29ebc3-3830-4622-8c66-56f3a9b98d73 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 71106601250685021, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_HapticDeviceAction: + m_UseReference: 1 + m_Action: + m_Name: Haptic Device + m_Type: 0 + m_ExpectedControlType: + m_Id: 35cfed17-bcaf-4ff9-9fe0-fa1727b7619b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -8785819595477538065, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Rotate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: 4fcd4b62-1769-4cc4-aaee-aea2fc40d24f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -7363382999065477798, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_DirectionalAnchorRotationAction: + m_UseReference: 0 + m_Action: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} + m_TranslateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Translate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: 7bfe4461-8d15-4a61-9fa6-28ce950c9996 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 7779212132400271959, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ButtonPressPoint: 0.5 +--- !u!1 &1045233174 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1045233176} + - component: {fileID: 1045233178} + - component: {fileID: 1045233177} + m_Layer: 0 + m_Name: GameLogic + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1045233176 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045233174} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -86.65201, y: 79.478424, z: 131.49371} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1045233177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045233174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: efe5516b9c6135142a7e63556db66891, type: 3} + m_Name: + m_EditorClassIdentifier: + TransportLogLevel: 1 + WorkMode: 0 + SimpleModeInfo: + roomName: abc + password: +--- !u!114 &1045233178 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045233174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 1045233177} + PlayerPrefab: {fileID: 6535690648612318365, guid: adfb2094fd67e2244bce895fca8eb3b8, type: 3} + NetworkPrefabs: [] + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 0 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + SpawnTimeout: 1 + EnableNetworkLogs: 1 +--- !u!1 &1112846886 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1112846887} + - component: {fileID: 1112846891} + - component: {fileID: 1112846890} + - component: {fileID: 1112846889} + - component: {fileID: 1112846888} + m_Layer: 0 + m_Name: RightHand Controller + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1112846887 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112846886} + 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: 189646932} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1112846888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112846886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineWidth: 0.02 + m_OverrideInteractorLineLength: 0 + m_LineLength: 10 + m_WidthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ValidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_InvalidColorGradient: + serializedVersion: 2 + key0: {r: 0.09801824, g: 0.27126268, b: 0.5566038, a: 1} + key1: {r: 1, g: 0, b: 0, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_BlockedColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_TreatSelectionAsValidState: 0 + m_SmoothMovement: 0 + m_FollowTightness: 10 + m_SnapThresholdDistance: 10 + m_Reticle: {fileID: 0} + m_BlockedReticle: {fileID: 0} + m_StopLineAtFirstRaycastHit: 0 + m_StopLineAtSelection: 0 +--- !u!120 &1112846889 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112846886} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0} + 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: 5 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0, g: 0, b: 1, a: 1} + key1: {r: 0, g: 0, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 4 + numCapVertices: 4 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &1112846890 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112846886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 49557028} + m_InteractionLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_InteractionLayers: + m_Bits: 4294967295 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_OnHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_OnHoverExited: + m_PersistentCalls: + m_Calls: [] + m_OnSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_OnSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectActionTrigger: 0 + m_HideControllerOnSelect: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 1 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 1 + m_LineType: 0 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 36 + m_RayOriginTransform: {fileID: 0} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 16 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 20 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 + m_HitClosestOnly: 0 + m_HoverToSelect: 0 + m_HoverTimeToSelect: 0.5 + m_EnableUIInteraction: 1 + m_AllowAnchorControl: 1 + m_UseForceGrab: 1 + m_RotateSpeed: 180 + m_TranslateSpeed: 1 + m_AnchorRotateReferenceFrame: {fileID: 0} + m_AnchorRotationMode: 0 +--- !u!114 &1112846891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112846886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UpdateTrackingType: 0 + m_EnableInputTracking: 1 + m_EnableInputActions: 1 + m_ModelPrefab: {fileID: 2281696399307846454, guid: 94f7925a0585b274fbc5fe6b8f9b1f4e, type: 3} + m_ModelParent: {fileID: 0} + m_Model: {fileID: 0} + m_AnimateModel: 0 + m_ModelSelectTransition: + m_ModelDeSelectTransition: + m_PositionAction: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: + m_Id: 93ead265-4bff-4199-8ddf-33c028dcfee9 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -3326005586356538449, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotationAction: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: + m_Id: cd9a8368-32d3-4e58-86a0-6fe78d199369 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 5101698808175986029, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_TrackingStateAction: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: + m_Id: 7964ebc4-45e1-4431-a17a-7f2206e38661 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -1277054153949319361, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectAction: + m_UseReference: 1 + m_Action: + m_Name: Select + m_Type: 0 + m_ExpectedControlType: + m_Id: 3207346a-8b2f-4b24-b45a-90ea1cdef7fb + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 187161793506945269, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectActionValue: + m_UseReference: 1 + m_Action: + m_Name: Select Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: dcf177a1-4c6d-42a7-b095-5f68848dadf1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -1758520528963094988, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateAction: + m_UseReference: 1 + m_Action: + m_Name: Activate + m_Type: 0 + m_ExpectedControlType: + m_Id: ed3be3cd-637e-48d6-ae4b-dd97305eaa40 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 83097790271614945, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateActionValue: + m_UseReference: 1 + m_Action: + m_Name: Activate Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: af4d694a-0159-4acb-bf36-7b78c35a10d5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 7904272356298805229, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressAction: + m_UseReference: 1 + m_Action: + m_Name: UI Press + m_Type: 0 + m_ExpectedControlType: + m_Id: 55ce5c5d-aad8-4ebf-9f21-899ff595a062 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 3279264004350380116, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressActionValue: + m_UseReference: 1 + m_Action: + m_Name: UI Press Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: cdab09f7-ec37-4eee-b72c-06339cc37c8b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5908353012961274365, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_HapticDeviceAction: + m_UseReference: 1 + m_Action: + m_Name: Haptic Device + m_Type: 0 + m_ExpectedControlType: + m_Id: 60f81e0e-3fab-4e26-90b6-a5ab762e2bb1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -8222252007134549311, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Rotate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: aca8fec0-a925-428d-a6b7-25cfbd478258 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5913262927076077117, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_DirectionalAnchorRotationAction: + m_UseReference: 0 + m_Action: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} + m_TranslateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Translate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: 161874b5-2545-4bb2-bea4-eeddeb4fabf6 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 875253871413052681, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ButtonPressPoint: 0.5 +--- !u!1 &1633817997 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1633817999} + - component: {fileID: 1633817998} + - component: {fileID: 1633818000} + - component: {fileID: 1633818001} + m_Layer: 0 + m_Name: XR Origin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1633817998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1633817997} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Camera: {fileID: 898451403} + m_OriginBaseGameObject: {fileID: 1633817997} + m_CameraFloorOffsetObject: {fileID: 189646931} + m_RequestedTrackingOriginMode: 0 + m_CameraYOffset: 1.1176 +--- !u!4 &1633817999 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1633817997} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 86.65201, y: -77.7, z: -136.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 189646932} + m_Father: {fileID: 740800145} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1633818000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1633817997} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 017c5e3933235514c9520e1dace2a4b2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ActionAssets: + - {fileID: -944628639613478452, guid: c348712bda248c246b8c49b3db54643f, type: 3} +--- !u!114 &1633818001 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1633817997} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fd9f82377aeb9704193bd866d119aaa5, type: 3} + m_Name: + m_EditorClassIdentifier: + screenFade: 0 + eyeTracking: 0 + trackingMode: 0 + faceTracking: 0 + lipsyncTracking: 0 + lateLatching: 0 + latelatchingDebug: 0 + bodyTracking: 0 + foveationLevel: -1 + openMRC: 0 + foregroundLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + backLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + backgroundCamObj: {fileID: 0} + foregroundCamObj: {fileID: 0} + mrcBackgroundRT: {fileID: 0} + mrcForegroundRT: {fileID: 0} + useRecommendedAntiAliasingLevel: 1 +--- !u!1 &1640954128 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1640954129} + - component: {fileID: 1640954131} + - component: {fileID: 1640954130} + - component: {fileID: 1640954132} + m_Layer: 0 + m_Name: StartRoomButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1640954129 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1640954128} + 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: 572138295} + m_Father: {fileID: 423086412} + m_RootOrder: 3 + 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: -65.6, y: -8.428} + m_SizeDelta: {x: 30.6691, y: 8.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1640954130 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1640954128} + 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 &1640954131 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1640954128} + m_CullTransparentMesh: 1 +--- !u!114 &1640954132 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1640954128} + 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: 0.122641504, g: 0.10355108, b: 0.10355108, a: 0.78039217} + m_HighlightedColor: {r: 0.016896129, g: 0.09433961, b: 0.0093449615, a: 0.9019608} + m_PressedColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, a: 1} + m_SelectedColor: {r: 0.019607844, g: 0.09803922, b: 0.011764706, a: 1} + m_DisabledColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, 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: 1640954130} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1670590165 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1670590169} + - component: {fileID: 1670590168} + - component: {fileID: 1670590167} + - component: {fileID: 1670590166} + - component: {fileID: 1670590170} + - component: {fileID: 1670590171} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1670590166 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + 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 &1670590167 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 36 + 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 &1670590168 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + m_Camera: {fileID: 898451403} + m_PlaneDistance: 30 + 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 &1670590169 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + 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: 423086412} + m_Father: {fileID: 0} + 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, y: 0} +--- !u!114 &1670590170 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7951c64acb0fa62458bf30a60089fe2d, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 0 + m_CheckFor2DOcclusion: 0 + m_CheckFor3DOcclusion: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 +--- !u!114 &1670590171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1670590165} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 81a06c6bd0359d042a03d199f76b19bf, type: 3} + m_Name: + m_EditorClassIdentifier: + InRoomPanel: {fileID: 423086413} +--- !u!1 &1708814644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1708814645} + - component: {fileID: 1708814647} + - component: {fileID: 1708814646} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1708814645 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1708814644} + 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: 2080256313} + 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 &1708814646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1708814644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 'ExitRoom + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 3.6 + m_fontSizeBase: 3.6 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1708814647 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1708814644} + m_CullTransparentMesh: 1 +--- !u!1 &1917349329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1917349330} + - component: {fileID: 1917349333} + - component: {fileID: 1917349332} + - component: {fileID: 1917349331} + m_Layer: 0 + m_Name: MoveButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1917349330 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1917349329} + 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: 2020266519} + m_Father: {fileID: 423086412} + 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: 2, y: -8.428} + m_SizeDelta: {x: 30.6691, y: 8.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1917349331 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1917349329} + 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: 0.122641504, g: 0.10355108, b: 0.10355108, a: 0.78039217} + m_HighlightedColor: {r: 0.016896129, g: 0.09433961, b: 0.0093449615, a: 0.9019608} + m_PressedColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, a: 1} + m_SelectedColor: {r: 0.019607844, g: 0.09803922, b: 0.011764706, a: 1} + m_DisabledColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, 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: 1917349332} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1917349332 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1917349329} + 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 &1917349333 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1917349329} + m_CullTransparentMesh: 1 +--- !u!1 &2020266518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2020266519} + - component: {fileID: 2020266521} + - component: {fileID: 2020266520} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2020266519 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2020266518} + 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: 1917349330} + 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 &2020266520 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2020266518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 'Move + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 3.6 + m_fontSizeBase: 3.6 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &2020266521 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2020266518} + m_CullTransparentMesh: 1 +--- !u!1 &2055274005 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2055274006} + - component: {fileID: 2055274008} + - component: {fileID: 2055274007} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2055274006 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2055274005} + 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: 2134647986} + 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 &2055274007 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2055274005} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 'JoinRoom + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 3.6 + m_fontSizeBase: 3.6 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &2055274008 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2055274005} + m_CullTransparentMesh: 1 +--- !u!1 &2080256312 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2080256313} + - component: {fileID: 2080256315} + - component: {fileID: 2080256314} + - component: {fileID: 2080256316} + m_Layer: 0 + m_Name: ExitRoomButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2080256313 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080256312} + 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: 1708814645} + m_Father: {fileID: 423086412} + 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: -31.8, y: -8.428} + m_SizeDelta: {x: 30.6691, y: 8.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2080256314 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080256312} + 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 &2080256315 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080256312} + m_CullTransparentMesh: 1 +--- !u!114 &2080256316 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080256312} + 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: 0.122641504, g: 0.10355108, b: 0.10355108, a: 0.78039217} + m_HighlightedColor: {r: 0.016896129, g: 0.09433961, b: 0.0093449615, a: 0.9019608} + m_PressedColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, a: 1} + m_SelectedColor: {r: 0.019607844, g: 0.09803922, b: 0.011764706, a: 1} + m_DisabledColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, 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: 2080256314} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &2134647985 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2134647986} + - component: {fileID: 2134647988} + - component: {fileID: 2134647987} + - component: {fileID: 2134647989} + m_Layer: 0 + m_Name: JoinRoomButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2134647986 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134647985} + 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: 2055274006} + m_Father: {fileID: 423086412} + m_RootOrder: 4 + 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: -31.8, y: -8.5} + m_SizeDelta: {x: 30.6691, y: 8.2239} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2134647987 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134647985} + 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 &2134647988 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134647985} + m_CullTransparentMesh: 1 +--- !u!114 &2134647989 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134647985} + 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: 0.122641504, g: 0.10355108, b: 0.10355108, a: 0.78039217} + m_HighlightedColor: {r: 0.016896129, g: 0.09433961, b: 0.0093449615, a: 0.9019608} + m_PressedColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, a: 1} + m_SelectedColor: {r: 0.019607844, g: 0.09803922, b: 0.011764706, a: 1} + m_DisabledColor: {r: 0.12156863, g: 0.101960786, b: 0.101960786, 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: 2134647987} + m_OnClick: + m_PersistentCalls: + m_Calls: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/SimpleMode.unity.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/SimpleMode.unity.meta new file mode 100644 index 00000000..a4af3f1d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scenes/SimpleMode.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 62e625b919d49ff42a3ec0e05c207d43 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts.meta new file mode 100644 index 00000000..743bc82a --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d736fbd7f3a2f448a4f38c6cd90e727 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/Logic.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/Logic.meta new file mode 100644 index 00000000..4a50e0f8 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/Logic.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6669e30b95d35ad409eb2f23cd70efd4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/Logic/PlayerBehaviour.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/Logic/PlayerBehaviour.cs new file mode 100644 index 00000000..1aebdd53 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/Logic/PlayerBehaviour.cs @@ -0,0 +1,51 @@ +using System.Collections; +using System.Collections.Generic; +using Unity.Netcode; +using UnityEngine; + +namespace Netcode.Transports.Pico.Samples.PicoGoldenPath +{ + public class PlayerBehaviour : NetworkBehaviour + { + public NetworkVariable Position = new NetworkVariable(); + + public override void OnNetworkSpawn() + { + if (IsOwner) + { + Move(); + } + } + + public void Move() + { + if (NetworkManager.Singleton.IsServer) + { + var randomPosition = GetRandomPositionOnPlane(); + transform.position = randomPosition; + Position.Value = randomPosition; + } + else + { + SubmitPositionRequestServerRpc(); + } + } + + [ServerRpc] + void SubmitPositionRequestServerRpc(ServerRpcParams rpcParams = default) + { + Position.Value = GetRandomPositionOnPlane(); + } + + static Vector3 GetRandomPositionOnPlane() + { + return new Vector3(Random.Range(-3f, 3f), 1f, Random.Range(-3f, 3f)); + } + + void Update() + { + transform.position = Position.Value; + } + } + +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/Logic/PlayerBehaviour.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/Logic/PlayerBehaviour.cs.meta new file mode 100644 index 00000000..89375600 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/Logic/PlayerBehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5e53162aef0a49e468280a1374f10ed4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI.meta new file mode 100644 index 00000000..ddf445e4 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa7f1b24b7c3240448c6183b010af47e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking.meta new file mode 100644 index 00000000..c9d4f087 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e12412b7ba718a458b1f81eb3b582ce +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingMainUI.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingMainUI.cs new file mode 100644 index 00000000..d5dc33fe --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingMainUI.cs @@ -0,0 +1,116 @@ +using UnityEngine; +using TMPro; +using UnityEngine.UI; +using Unity.Netcode; +using UnityEngine.Serialization; +using UnityEngine.SceneManagement; + +namespace Netcode.Transports.Pico.Samples.PicoGoldenPath +{ + public class MatchmakingMainUI : MonoBehaviour + { + private enum ETransportType + { + PicoTransport = 1, + PhotonTransport = 2, + } + + public Button InitPicoSDKBtn; + public Button JoinBtn; + public TextMeshProUGUI CurStatus; + public TextMeshProUGUI SelfOpenID; + public MatchmakingRoomPanel InRoomPanel; + + private ExternalModeSDKUser _picoSDKUser; + + // Start is called before the first frame update + void Start() + { + _picoSDKUser = FindObjectOfType(); + PicoTransport picoTransport = NetworkManager.Singleton.NetworkConfig.NetworkTransport as PicoTransport; + bool isPico = picoTransport != null; + if (isPico) + { + picoTransport.WorkMode = PicoTransport.EWorkMode.ExternalRoom; + InitPicoSDKBtn.onClick.AddListener(StartPicoInExternalMode); + } + else + { + Debug.Assert(false, "set netcode transport to pico please"); + } + CurStatus.text = SceneManager.GetActiveScene().name + ":" + "press init button to start"; + JoinBtn.onClick.AddListener(_picoSDKUser.StartJoinRoom); + _picoSDKUser.OnStatusChange += OnStatusChage; + } + + // Update is called once per frame + void Update() + { + } + + void StartPicoInExternalMode() + { + //mode 'external room' + TextAsset mockConfig = null; +#if UNITY_EDITOR + if ((Application.platform == RuntimePlatform.WindowsPlayer || Application.platform == RuntimePlatform.WindowsEditor)) + { + // Automatically start server if this is the original editor + mockConfig = Resources.Load("PicoSdkPCConfig"); + } +#endif + _picoSDKUser.StartPicoGame(mockConfig); + } + + void OnStatusChage(ExternalModeSDKUser.EGameState oldState, ExternalModeSDKUser.EGameState curState, string statusDesc, string selfOpenID, string roomDesc) + { + if (null == selfOpenID) + { + selfOpenID = "not loggined"; + } + if (null == InitPicoSDKBtn || null == JoinBtn || null == InRoomPanel) + { + Debug.Log($"OnStatusChage to {curState}, ui object is null"); + return; + } + CurStatus.text = SceneManager.GetActiveScene().name + ":" + statusDesc; + SelfOpenID.text = "selfUID:" + selfOpenID; + + Debug.Log($"state from {oldState} to {curState}, reason {statusDesc}"); + if (curState == oldState) + { + return; + } + if (curState < ExternalModeSDKUser.EGameState.Inited || curState == ExternalModeSDKUser.EGameState.RoomLeft) + { + InitPicoSDKBtn.gameObject?.SetActive(true); + JoinBtn.gameObject?.SetActive(false); + InRoomPanel.gameObject?.SetActive(false); + } + if (curState == ExternalModeSDKUser.EGameState.InMatching) + { + InitPicoSDKBtn.gameObject?.SetActive(false); + JoinBtn.gameObject.SetActive(false); + InRoomPanel.gameObject?.SetActive(false); + } + if (curState == ExternalModeSDKUser.EGameState.MatchFound) + { + InitPicoSDKBtn.gameObject?.SetActive(false); + JoinBtn.gameObject?.SetActive(true); + InRoomPanel.gameObject?.SetActive(false); + } + if (curState == ExternalModeSDKUser.EGameState.InRoom) + { + InitPicoSDKBtn.gameObject?.SetActive(false); + JoinBtn.gameObject?.SetActive(false); + InRoomPanel.gameObject?.SetActive(true); + } + + if (curState == ExternalModeSDKUser.EGameState.InRoom) + { + _picoSDKUser.StartNetcode(); + } + } + } + +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingMainUI.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingMainUI.cs.meta new file mode 100644 index 00000000..074127ee --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingMainUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2329b7346f9f6b7408b0b2ed7d48f8fd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingRoomPanel.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingRoomPanel.cs new file mode 100644 index 00000000..489e7b29 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingRoomPanel.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using TMPro; +using Unity.Netcode; +using UnityEngine; +using UnityEngine.UI; + +namespace Netcode.Transports.Pico.Samples.PicoGoldenPath +{ + public class MatchmakingRoomPanel : MonoBehaviour + { + public Button MoveButton; + public Button LeaveButton; + public TextMeshProUGUI ButtonText; + public TextMeshProUGUI StatusText; + + private ExternalModeSDKUser _picoSDKUser; + + private void Start() + { + _picoSDKUser = FindObjectOfType(); + MoveButton.onClick.AddListener(OnMoveButton); + LeaveButton.onClick.AddListener(_picoSDKUser.StartLeaveRoom); + } + + // Update is called once per frame + void Update() + { + if (!(NetworkManager.Singleton.IsServer || NetworkManager.Singleton.IsClient)) + { + return; + } + StatusText.text = "Netcode mode:"; + if (NetworkManager.Singleton.IsHost) + { + StatusText.text += "HOST"; + } + else if (NetworkManager.Singleton.IsServer) + { + StatusText.text += "SERVER"; + } + else + { + StatusText.text += "CLIENT"; + } + if (NetworkManager.Singleton.IsServer && !NetworkManager.Singleton.IsClient) + { + ButtonText.text = "Move"; + } + else + { + ButtonText.text = "Submit position"; + } + } + + public void OnMoveButton() + { + if (NetworkManager.Singleton.IsServer && !NetworkManager.Singleton.IsClient) + { + foreach (ulong uid in NetworkManager.Singleton.ConnectedClientsIds) + NetworkManager.Singleton.SpawnManager.GetPlayerNetworkObject(uid) + .GetComponent().Move(); + } + else + { + var playerObject = NetworkManager.Singleton.SpawnManager.GetLocalPlayerObject(); + if (!playerObject) + { + Debug.LogError("player object is not spawned now"); + } + var player = playerObject.GetComponent(); + player.Move(); + } + } + } + +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingRoomPanel.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingRoomPanel.cs.meta new file mode 100644 index 00000000..0cbcab90 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Matchmaking/MatchmakingRoomPanel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8c2d4f6573dd3c940b2ead76f81c14cf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple.meta new file mode 100644 index 00000000..ab74e524 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19a8af511e72e4d4481a35e1b2b5d721 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeMainUI.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeMainUI.cs new file mode 100644 index 00000000..fd4437df --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeMainUI.cs @@ -0,0 +1,45 @@ +using UnityEngine; +using TMPro; +using UnityEngine.UI; +using Unity.Netcode; +using UnityEngine.Serialization; +using UnityEngine.SceneManagement; + +namespace Netcode.Transports.Pico.Samples.PicoGoldenPath +{ + public class SimpleModeMainUI : MonoBehaviour + { + public SimpleModeRoomPanel InRoomPanel; + + // Start is called before the first frame update + void Start() + { + PicoTransport picoTransport = NetworkManager.Singleton.NetworkConfig.NetworkTransport as PicoTransport; + bool isPico = picoTransport != null; + if (isPico) + { + if (picoTransport.WorkMode != PicoTransport.EWorkMode.Simple) + { + picoTransport.WorkMode = PicoTransport.EWorkMode.Simple; + picoTransport.SimpleModeInfo.roomName = "test_room_name_abc"; + picoTransport.SimpleModeInfo.password = ""; + } + } + else + { + Debug.Assert(false, "set netcode transport to pico please"); + } + } + + // Update is called once per frame + void Update() + { + } + + //void InitPanel() + //{ + // InRoomPanel.gameObject?.SetActive(true); + //} + } + +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeMainUI.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeMainUI.cs.meta new file mode 100644 index 00000000..e61b8d8e --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeMainUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 81a06c6bd0359d042a03d199f76b19bf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeRoomPanel.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeRoomPanel.cs new file mode 100644 index 00000000..9c54dfa5 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeRoomPanel.cs @@ -0,0 +1,100 @@ +using TMPro; +using Unity.Netcode; +using UnityEngine; +using UnityEngine.UI; + +namespace Netcode.Transports.Pico.Samples.PicoGoldenPath +{ + public class SimpleModeRoomPanel : MonoBehaviour + { + public Button MoveButton; + public Button StartRoomButton; + public Button JoinRoomButton; + public Button ExitRoomButton; + public TextMeshProUGUI StatusText; + + private void Start() + { + MoveButton.onClick.AddListener(OnMoveButton); + StartRoomButton.onClick.AddListener(OnStartRoomButton); + JoinRoomButton.onClick.AddListener(OnJoinRoomButton); + ExitRoomButton.onClick.AddListener(OnExitRoomButton); + } + + // Update is called once per frame + void Update() + { + bool isNetcodeStarted = NetworkManager.Singleton.isActiveAndEnabled; + bool isHostOrClient = isNetcodeStarted && NetworkManager.Singleton.IsHost || NetworkManager.Singleton.IsClient; + if (isHostOrClient) + { + StartRoomButton.gameObject.SetActive(false); + JoinRoomButton.gameObject.SetActive(false); + ExitRoomButton.gameObject.SetActive(true); + } else + { + StartRoomButton.gameObject.SetActive(true); + JoinRoomButton.gameObject.SetActive(true); + ExitRoomButton.gameObject.SetActive(false); + } + if (!(NetworkManager.Singleton.IsServer || NetworkManager.Singleton.IsClient)) + { + StatusText.text = "Netcode not start"; + return; + } + StatusText.text = "Netcode mode:"; + if (NetworkManager.Singleton.IsHost) + { + StatusText.text += "HOST"; + } + else if (NetworkManager.Singleton.IsServer) + { + StatusText.text += "SERVER"; + } + else + { + StatusText.text += "CLIENT"; + } + } + + public void OnStartRoomButton() + { + NetworkManager.Singleton.StartHost(); + return; + } + + public void OnJoinRoomButton() + { + NetworkManager.Singleton.StartClient(); + return; + } + + public void OnExitRoomButton() + { + NetworkManager.Singleton.Shutdown(); + return; + } + + public void OnMoveButton() + { + if (NetworkManager.Singleton.IsServer && !NetworkManager.Singleton.IsClient) + { + foreach (ulong uid in NetworkManager.Singleton.ConnectedClientsIds) + NetworkManager.Singleton.SpawnManager.GetPlayerNetworkObject(uid) + .GetComponent().Move(); + } + else + { + var playerObject = NetworkManager.Singleton.SpawnManager.GetLocalPlayerObject(); + if (!playerObject) + { + Debug.LogError("player object is not spawned now"); + return; + } + var player = playerObject.GetComponent(); + player.Move(); + } + } + } + +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeRoomPanel.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeRoomPanel.cs.meta new file mode 100644 index 00000000..4f6eb552 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Golden Path/Scripts/UI/Simple/SimpleModeRoomPanel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5b011c756878c3542a52401bdc0d27ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer.meta new file mode 100644 index 00000000..b311265b --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e236e7a5307c5a448996ff3cc62ca3d2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem.meta new file mode 100644 index 00000000..85957f17 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 193b24619d24a014aad229bba6fb5ed9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/InputSystem.inputsettings.asset b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/InputSystem.inputsettings.asset new file mode 100644 index 00000000..8bc65705 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/InputSystem.inputsettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c46f07b5ed07e4e92aa78254188d3d10, type: 3} + m_Name: InputSystem.inputsettings + m_EditorClassIdentifier: + m_SupportedDevices: [] + m_UpdateMode: 1 + m_MaxEventBytesPerUpdate: 5242880 + m_MaxQueuedEventsPerUpdate: 1000 + m_CompensateForScreenOrientation: 1 + m_BackgroundBehavior: 0 + m_EditorInputBehaviorInPlayMode: 1 + m_DefaultDeadzoneMin: 0.125 + m_DefaultDeadzoneMax: 0.925 + m_DefaultButtonPressPoint: 0.5 + m_ButtonReleaseThreshold: 0.75 + m_DefaultTapTime: 0.2 + m_DefaultSlowTapTime: 0.5 + m_DefaultHoldTime: 0.4 + m_TapRadius: 5 + m_MultiTapDelayTime: 0.75 + m_DisableRedundantEventsMerging: 0 + m_iOSSettings: + m_MotionUsage: + m_Enabled: 0 + m_Description: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/InputSystem.inputsettings.asset.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/InputSystem.inputsettings.asset.meta new file mode 100644 index 00000000..a78b61ed --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/InputSystem.inputsettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6cba80975b711f0468adf8267e33bb33 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/SharedSpacesInputs.inputactions b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/SharedSpacesInputs.inputactions new file mode 100644 index 00000000..c19fdc6e --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/SharedSpacesInputs.inputactions @@ -0,0 +1,183 @@ +{ + "name": "SharedSpacesInputs", + "maps": [ + { + "name": "Player", + "id": "f62a4b92-ef5e-4175-8f4c-c9075429d32c", + "actions": [ + { + "name": "Move", + "type": "Value", + "id": "6bc1aaf4-b110-4ff7-891e-5b9fe6f32c4d", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "Jump", + "type": "Button", + "id": "8c4abdf8-4099-493a-aa1a-129acec7c3df", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Orbit", + "type": "Value", + "id": "3c99cc3e-40c8-44b5-a106-819fdfc646c4", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "ChangeColor", + "type": "Button", + "id": "025b40dc-c838-4799-b4de-5ee49d705a39", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + } + ], + "bindings": [ + { + "name": "WASD", + "id": "b7594ddb-26c9-4ba2-bd5a-901468929edc", + "path": "2DVector(mode=1)", + "interactions": "", + "processors": "", + "groups": "", + "action": "Move", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "2063a8b5-6a45-43de-851b-65f3d46e7b58", + "path": "/w", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "64e4d037-32e1-4fb9-80e4-fc7330404dfe", + "path": "/s", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "0fce8b11-5eab-4e4e-a741-b732e7b20873", + "path": "/a", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "7bdda0d6-57a8-47c8-8238-8aecf3110e47", + "path": "/d", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "e2f9aa65-db06-4c5b-a2e9-41bc8acb9517", + "path": "{LeftHand}/primary2DAxis", + "interactions": "", + "processors": "StickDeadzone", + "groups": "Keyboard", + "action": "Move", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "2c00a040-0d49-4e6a-b4ac-872676a2c599", + "path": "{RightHand}/primary2DAxis", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "Move", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "1bd55a0b-761e-4ae4-89ae-8ec127e08a29", + "path": "/space", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "Jump", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "b7bf9f75-659f-4f86-8fa6-c1dea7e2c7bf", + "path": "{LeftHand}/secondaryButton", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "Jump", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "05065a16-7fd1-41c0-886f-5c4775b96cf0", + "path": "{RightHand}/secondaryButton", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "Jump", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "1412935b-da56-42fb-b55d-cef8f8e99c47", + "path": "/c", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "ChangeColor", + "isComposite": false, + "isPartOfComposite": false + } + ] + } + ], + "controlSchemes": [ + { + "name": "Keyboard", + "bindingGroup": "Keyboard", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + } + ] +} \ No newline at end of file diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/SharedSpacesInputs.inputactions.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/SharedSpacesInputs.inputactions.meta new file mode 100644 index 00000000..0e1c2410 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/InputSystem/SharedSpacesInputs.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 5ddaa6e6135d699449c676d9915924ad +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 0 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats.meta new file mode 100644 index 00000000..08d1214b --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 490d16ade8f399148b846a45ac8b2f5e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Lobby.mat b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Lobby.mat new file mode 100644 index 00000000..255f9665 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Lobby.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Lobby + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.018867908, g: 0.025054105, b: 0.11320752, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Lobby.mat.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Lobby.mat.meta new file mode 100644 index 00000000..aa7d851d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Lobby.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 984d99356fa1ffe4b8449615f94b6b46 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneFight.mat b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneFight.mat new file mode 100644 index 00000000..8620c7eb --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneFight.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PlaneFight + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.14150941, g: 0.02882599, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneFight.mat.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneFight.mat.meta new file mode 100644 index 00000000..4e2c5a49 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneFight.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71197b886c4fe414c8d2382969b585dc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneStart.mat b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneStart.mat new file mode 100644 index 00000000..8ce25ddc --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneStart.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PlaneStart + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.04555538, g: 0.1792453, b: 0.04509314, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneStart.mat.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneStart.mat.meta new file mode 100644 index 00000000..f7dd57e1 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/PlaneStart.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 32be8ebc26e8cc548bb32907231a07e4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Portal.mat b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Portal.mat new file mode 100644 index 00000000..116a3785 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Portal.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Portal + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.4056604, g: 0.1399244, b: 0.006378267, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Portal.mat.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Portal.mat.meta new file mode 100644 index 00000000..8f9e84b3 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Mats/Portal.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c9c5f3f9c119af64db7abc05805c490b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules.meta new file mode 100644 index 00000000..c9fcacba --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac4388b6c167f36468379bc9e0cb9566 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character.meta new file mode 100644 index 00000000..158e5446 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d41cdbda94f3f664db70c0bf58eda2c1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations.meta new file mode 100644 index 00000000..1014f732 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f5b8b2aa5d490474d8cdfb0c78581faa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--InAir.anim.fbx b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--InAir.anim.fbx new file mode 100644 index 00000000..55a2ed25 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--InAir.anim.fbx differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--InAir.anim.fbx.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--InAir.anim.fbx.meta new file mode 100644 index 00000000..59922d7b --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--InAir.anim.fbx.meta @@ -0,0 +1,918 @@ +fileFormatVersion: 2 +guid: aaef612b70883e64ebb66fe9058b5090 +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: + - first: + 74: -2702400367771620057 + second: InAir + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.25 + animationPositionError: 0.05 + animationScaleError: 0.05 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: InAir + takeName: InAir + internalID: 0 + firstFrame: 0 + lastFrame: 80 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 1 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Foot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Toes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: UpperChest + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Shoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Hand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Shoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Hand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Foot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Toes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbProximal + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbIntermediate + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbDistal + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexProximal + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexIntermediate + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexDistal + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleProximal + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleIntermediate + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleDistal + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingProximal + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingIntermediate + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingDistal + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyProximal + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyIntermediate + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyDistal + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbProximal + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbIntermediate + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbDistal + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexProximal + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexIntermediate + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexDistal + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleProximal + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleIntermediate + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleDistal + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingProximal + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingIntermediate + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingDistal + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyProximal + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyIntermediate + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyDistal + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: Mannequin(Clone) + parentName: + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Geometry + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Mannequin_Mesh + parentName: Geometry + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Skeleton + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: Skeleton + position: {x: -0, y: 0.9810986, z: -0.01590455} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperLeg + parentName: Hips + position: {x: -0.08610317, y: -0.053458035, z: -0.011470641} + rotation: {x: 0.999839, y: -0.01775374, z: 0.000046300094, w: -0.0026074864} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerLeg + parentName: Left_UpperLeg + position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Left_Foot + parentName: Left_LowerLeg + position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Left_Toes + parentName: Left_Foot + position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506} + rotation: {x: -0.7071068, y: 8.7157646e-33, z: -8.7157646e-33, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Left_ToesEnd + parentName: Left_Toes + position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperLeg + parentName: Hips + position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475} + rotation: {x: 0.0026075041, y: 0.000046300407, z: 0.01775374, w: 0.999839} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerLeg + parentName: Right_UpperLeg + position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Right_Foot + parentName: Right_LowerLeg + position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Right_Toes + parentName: Right_Foot + position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807} + rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_ToesEnd + parentName: Right_Toes + position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: -0, y: 0.058229383, z: 0.0012229546} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: Spine + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: UpperChest + parentName: Chest + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_Shoulder + parentName: UpperChest + position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945} + rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperArm + parentName: Left_Shoulder + position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17} + rotation: {x: 0.12673509, y: 0.03332071, z: 0.6809724, w: 0.72048914} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerArm + parentName: Left_UpperArm + position: {x: -2.8421706e-16, y: 0.28508067, z: 0} + rotation: {x: 0.020536564, y: 0.00832135, z: -0.020624585, w: 0.9995417} + scale: {x: 1, y: 1, z: 1} + - name: Left_Hand + parentName: Left_LowerArm + position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexProximal + parentName: Left_Hand + position: {x: 0.007815497, y: 0.0918443, z: 0.02657316} + rotation: {x: -0.0000789147, y: -0.7104809, z: -0.006305193, w: 0.70368826} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexIntermediate + parentName: Left_IndexProximal + position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16} + rotation: {x: 0.030199163, y: 0.00000005960465, z: -0.00000038841978, w: 0.9995439} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistal + parentName: Left_IndexIntermediate + position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16} + rotation: {x: 0.03945603, y: 0.000000016383924, z: 0.0000000332638, w: 0.9992213} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistalEnd + parentName: Left_IndexDistal + position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleProximal + parentName: Left_Hand + position: {x: 0.012847862, y: 0.08609763, z: 0.003435423} + rotation: {x: -0.004090429, y: -0.6610811, z: -0.004001968, w: 0.7502927} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleIntermediate + parentName: Left_MiddleProximal + position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17} + rotation: {x: 0.026233751, y: -0.000000029802322, z: -0.0000007133931, w: 0.99965584} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistal + parentName: Left_MiddleIntermediate + position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistalEnd + parentName: Left_MiddleDistal + position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyProximal + parentName: Left_Hand + position: {x: 0.004436847, y: 0.07288173, z: -0.029359013} + rotation: {x: -0.02007038, y: -0.5504896, z: -0.008246153, w: 0.83456} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyIntermediate + parentName: Left_PinkyProximal + position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16} + rotation: {x: 0.028115956, y: -0.00000008940699, z: -0.0000005941839, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistal + parentName: Left_PinkyIntermediate + position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17} + rotation: {x: 0.03643686, y: 0.00000014611446, z: 0.00000018696, w: 0.999336} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistalEnd + parentName: Left_PinkyDistal + position: {x: -1.2434495e-16, y: 0.018519057, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingProximal + parentName: Left_Hand + position: {x: 0.009525569, y: 0.08161553, z: -0.012242405} + rotation: {x: -0.017654313, y: -0.6026994, z: -0.0040520057, w: 0.79776275} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingIntermediate + parentName: Left_RingProximal + position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16} + rotation: {x: 0.023556013, y: 0.00000026822087, z: 0.0000007636844, w: 0.99972254} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistal + parentName: Left_RingIntermediate + position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16} + rotation: {x: 0.03908592, y: -0.000000019744585, z: 0.00000042049942, w: 0.9992359} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistalEnd + parentName: Left_RingDistal + position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbProximal + parentName: Left_Hand + position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476} + rotation: {x: 0.1796032, y: 0.8841741, z: 0.4239896, w: -0.07881452} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbIntermediate + parentName: Left_ThumbProximal + position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592} + rotation: {x: 0.1278054, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistal + parentName: Left_ThumbIntermediate + position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915} + rotation: {x: -0.045421924, y: -0.00000036741366, z: -0.0000008691409, w: 0.9989679} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistalEnd + parentName: Left_ThumbDistal + position: {x: -4.2632555e-16, y: 0.029458016, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: UpperChest + position: {x: -0, y: 0.25104657, z: -0.015329581} + rotation: {x: 0.060688436, y: -0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -0, y: 0.12747401, z: 0} + rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: Head + position: {x: -0, y: -0.00763539, z: 0.012895278} + rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485} + scale: {x: 1, y: 1, z: 1} + - name: Left_Eye + parentName: Head + position: {x: -0.03330326, y: 0.034598116, z: 0.0867403} + rotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_Eye + parentName: Head + position: {x: 0.033303294, y: 0.03459628, z: 0.0867403} + rotation: {x: 0.7071068, y: 4.3297806e-17, z: 0.7071068, w: -4.3297806e-17} + scale: {x: 1, y: 1, z: 1} + - name: Neck_Twist_A + parentName: Neck + position: {x: -0, y: 0.063737005, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_Shoulder + parentName: UpperChest + position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803} + rotation: {x: 0.99258024, y: -0.04327539, z: -0.113521874, w: 0.004949396} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperArm + parentName: Right_Shoulder + position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746} + rotation: {x: 0.1267345, y: 0.033320885, z: 0.68096745, w: 0.720494} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerArm + parentName: Right_UpperArm + position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226} + rotation: {x: 0.020541133, y: 0.008317431, z: -0.020620903, w: 0.99954176} + scale: {x: 1, y: 1, z: 1} + - name: Right_Hand + parentName: Right_LowerArm + position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexProximal + parentName: Right_Hand + position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574} + rotation: {x: -0.00008773989, y: -0.7104814, z: -0.0063276542, w: 0.7036876} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexIntermediate + parentName: Right_IndexProximal + position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077} + rotation: {x: 0.03020306, y: -0.0000005662439, z: 0.000012195228, w: 0.99954385} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistal + parentName: Right_IndexIntermediate + position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629} + rotation: {x: 0.03948371, y: -0.000000052504312, z: -0.000005515076, w: 0.99922025} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistalEnd + parentName: Right_IndexDistal + position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131} + rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleProximal + parentName: Right_Hand + position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337} + rotation: {x: -0.0040856875, y: -0.6610817, z: -0.0040004994, w: 0.7502922} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleIntermediate + parentName: Right_MiddleProximal + position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695} + rotation: {x: 0.026226329, y: -0.0000007450579, z: -0.0000027469353, w: 0.9996561} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistal + parentName: Right_MiddleIntermediate + position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistalEnd + parentName: Right_MiddleDistal + position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyProximal + parentName: Right_Hand + position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566} + rotation: {x: -0.020058475, y: -0.55049545, z: -0.008249418, w: 0.83455646} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyIntermediate + parentName: Right_PinkyProximal + position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623} + rotation: {x: 0.02811499, y: -0.0000035166731, z: -0.00000016298141, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistal + parentName: Right_PinkyIntermediate + position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345} + rotation: {x: 0.03642403, y: -0.0000024211556, z: -0.000008829222, w: 0.9993365} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistalEnd + parentName: Right_PinkyDistal + position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108} + rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingProximal + parentName: Right_Hand + position: {x: -0.00952738, y: -0.08161427, z: 0.012242128} + rotation: {x: -0.017649079, y: -0.6027014, z: -0.0040535578, w: 0.7977614} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingIntermediate + parentName: Right_RingProximal + position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335} + rotation: {x: 0.023547903, y: 0.0000024139879, z: 0.0000069094813, w: 0.9997228} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistal + parentName: Right_RingIntermediate + position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098} + rotation: {x: 0.039100695, y: 0.00000009656897, z: -0.000004755179, w: 0.99923533} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistalEnd + parentName: Right_RingDistal + position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459} + rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbProximal + parentName: Right_Hand + position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695} + rotation: {x: 0.17960793, y: 0.8841713, z: 0.42399347, w: -0.07881395} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbIntermediate + parentName: Right_ThumbProximal + position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848} + rotation: {x: 0.12780538, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistal + parentName: Right_ThumbIntermediate + position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783} + rotation: {x: -0.04541878, y: -0.000003060937, z: 0.000004811603, w: 0.99896806} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistalEnd + parentName: Right_ThumbDistal + position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683} + rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 1 + foreArmTwist: 0 + upperLegTwist: 1 + legTwist: 0 + armStretch: 0 + legStretch: 0 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 1 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 597976b6b3e452c499a186f5f40cbf87, type: 3} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 3 + humanoidOversampling: 1 + avatarSetup: 2 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--Jump.anim.fbx b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--Jump.anim.fbx new file mode 100644 index 00000000..73d426da Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--Jump.anim.fbx differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--Jump.anim.fbx.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--Jump.anim.fbx.meta new file mode 100644 index 00000000..3f199527 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Jump--Jump.anim.fbx.meta @@ -0,0 +1,953 @@ +fileFormatVersion: 2 +guid: 2d23be5e9434d5048b641985a85fcc81 +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: + - first: + 74: 7478122292733868173 + second: JumpStart + - first: + 74: -2702400367771620057 + second: InAir + - first: + 74: -9098803823909532060 + second: JumpLand + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.05 + animationPositionError: 0.05 + animationScaleError: 0.25 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: JumpStart + takeName: JumpStart + internalID: 0 + firstFrame: 28 + lastFrame: 40 + wrapMode: 0 + orientationOffsetY: 0 + level: 0.2 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 0 + loopBlend: 0 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 1 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 20 + - serializedVersion: 16 + name: JumpLand + takeName: JumpStart + internalID: 0 + firstFrame: 55 + lastFrame: 74 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 0 + loopBlend: 0 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 1 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 20 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Foot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Toes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: UpperChest + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Shoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Hand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Shoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Hand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Foot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Toes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbProximal + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbIntermediate + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbDistal + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexProximal + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexIntermediate + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexDistal + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleProximal + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleIntermediate + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleDistal + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingProximal + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingIntermediate + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingDistal + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyProximal + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyIntermediate + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyDistal + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbProximal + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbIntermediate + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbDistal + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexProximal + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexIntermediate + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexDistal + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleProximal + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleIntermediate + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleDistal + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingProximal + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingIntermediate + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingDistal + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyProximal + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyIntermediate + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyDistal + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: Mannequin(Clone) + parentName: + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Geometry + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Mannequin_Mesh + parentName: Geometry + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Skeleton + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: Skeleton + position: {x: -0, y: 0.9810986, z: -0.01590455} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperLeg + parentName: Hips + position: {x: -0.08610317, y: -0.053458035, z: -0.011470641} + rotation: {x: 0.999839, y: -0.01775374, z: 0.000046300094, w: -0.0026074864} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerLeg + parentName: Left_UpperLeg + position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Left_Foot + parentName: Left_LowerLeg + position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Left_Toes + parentName: Left_Foot + position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506} + rotation: {x: -0.7071068, y: 8.7157646e-33, z: -8.7157646e-33, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Left_ToesEnd + parentName: Left_Toes + position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperLeg + parentName: Hips + position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475} + rotation: {x: 0.0026075041, y: 0.000046300407, z: 0.01775374, w: 0.999839} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerLeg + parentName: Right_UpperLeg + position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Right_Foot + parentName: Right_LowerLeg + position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Right_Toes + parentName: Right_Foot + position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807} + rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_ToesEnd + parentName: Right_Toes + position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: -0, y: 0.058229383, z: 0.0012229546} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: Spine + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: UpperChest + parentName: Chest + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_Shoulder + parentName: UpperChest + position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945} + rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperArm + parentName: Left_Shoulder + position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17} + rotation: {x: 0.12673509, y: 0.03332071, z: 0.6809724, w: 0.72048914} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerArm + parentName: Left_UpperArm + position: {x: -2.8421706e-16, y: 0.28508067, z: 0} + rotation: {x: 0.020536564, y: 0.00832135, z: -0.020624585, w: 0.9995417} + scale: {x: 1, y: 1, z: 1} + - name: Left_Hand + parentName: Left_LowerArm + position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexProximal + parentName: Left_Hand + position: {x: 0.007815497, y: 0.0918443, z: 0.02657316} + rotation: {x: -0.0000789147, y: -0.7104809, z: -0.006305193, w: 0.70368826} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexIntermediate + parentName: Left_IndexProximal + position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16} + rotation: {x: 0.030199163, y: 0.00000005960465, z: -0.00000038841978, w: 0.9995439} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistal + parentName: Left_IndexIntermediate + position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16} + rotation: {x: 0.03945603, y: 0.000000016383924, z: 0.0000000332638, w: 0.9992213} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistalEnd + parentName: Left_IndexDistal + position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleProximal + parentName: Left_Hand + position: {x: 0.012847862, y: 0.08609763, z: 0.003435423} + rotation: {x: -0.004090429, y: -0.6610811, z: -0.004001968, w: 0.7502927} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleIntermediate + parentName: Left_MiddleProximal + position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17} + rotation: {x: 0.026233751, y: -0.000000029802322, z: -0.0000007133931, w: 0.99965584} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistal + parentName: Left_MiddleIntermediate + position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistalEnd + parentName: Left_MiddleDistal + position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyProximal + parentName: Left_Hand + position: {x: 0.004436847, y: 0.07288173, z: -0.029359013} + rotation: {x: -0.02007038, y: -0.5504896, z: -0.008246153, w: 0.83456} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyIntermediate + parentName: Left_PinkyProximal + position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16} + rotation: {x: 0.028115956, y: -0.00000008940699, z: -0.0000005941839, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistal + parentName: Left_PinkyIntermediate + position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17} + rotation: {x: 0.03643686, y: 0.00000014611446, z: 0.00000018696, w: 0.999336} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistalEnd + parentName: Left_PinkyDistal + position: {x: -1.2434495e-16, y: 0.018519057, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingProximal + parentName: Left_Hand + position: {x: 0.009525569, y: 0.08161553, z: -0.012242405} + rotation: {x: -0.017654313, y: -0.6026994, z: -0.0040520057, w: 0.79776275} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingIntermediate + parentName: Left_RingProximal + position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16} + rotation: {x: 0.023556013, y: 0.00000026822087, z: 0.0000007636844, w: 0.99972254} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistal + parentName: Left_RingIntermediate + position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16} + rotation: {x: 0.03908592, y: -0.000000019744585, z: 0.00000042049942, w: 0.9992359} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistalEnd + parentName: Left_RingDistal + position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbProximal + parentName: Left_Hand + position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476} + rotation: {x: 0.1796032, y: 0.8841741, z: 0.4239896, w: -0.07881452} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbIntermediate + parentName: Left_ThumbProximal + position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592} + rotation: {x: 0.1278054, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistal + parentName: Left_ThumbIntermediate + position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915} + rotation: {x: -0.045421924, y: -0.00000036741366, z: -0.0000008691409, w: 0.9989679} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistalEnd + parentName: Left_ThumbDistal + position: {x: -4.2632555e-16, y: 0.029458016, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: UpperChest + position: {x: -0, y: 0.25104657, z: -0.015329581} + rotation: {x: 0.060688436, y: -0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -0, y: 0.12747401, z: 0} + rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: Head + position: {x: -0, y: -0.00763539, z: 0.012895278} + rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485} + scale: {x: 1, y: 1, z: 1} + - name: Left_Eye + parentName: Head + position: {x: -0.03330326, y: 0.034598116, z: 0.0867403} + rotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_Eye + parentName: Head + position: {x: 0.033303294, y: 0.03459628, z: 0.0867403} + rotation: {x: 0.7071068, y: 4.3297806e-17, z: 0.7071068, w: -4.3297806e-17} + scale: {x: 1, y: 1, z: 1} + - name: Neck_Twist_A + parentName: Neck + position: {x: -0, y: 0.063737005, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_Shoulder + parentName: UpperChest + position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803} + rotation: {x: 0.99258024, y: -0.04327539, z: -0.113521874, w: 0.004949396} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperArm + parentName: Right_Shoulder + position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746} + rotation: {x: 0.1267345, y: 0.033320885, z: 0.68096745, w: 0.720494} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerArm + parentName: Right_UpperArm + position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226} + rotation: {x: 0.020541133, y: 0.008317431, z: -0.020620903, w: 0.99954176} + scale: {x: 1, y: 1, z: 1} + - name: Right_Hand + parentName: Right_LowerArm + position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexProximal + parentName: Right_Hand + position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574} + rotation: {x: -0.00008773989, y: -0.7104814, z: -0.0063276542, w: 0.7036876} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexIntermediate + parentName: Right_IndexProximal + position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077} + rotation: {x: 0.03020306, y: -0.0000005662439, z: 0.000012195228, w: 0.99954385} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistal + parentName: Right_IndexIntermediate + position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629} + rotation: {x: 0.03948371, y: -0.000000052504312, z: -0.000005515076, w: 0.99922025} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistalEnd + parentName: Right_IndexDistal + position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131} + rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleProximal + parentName: Right_Hand + position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337} + rotation: {x: -0.0040856875, y: -0.6610817, z: -0.0040004994, w: 0.7502922} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleIntermediate + parentName: Right_MiddleProximal + position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695} + rotation: {x: 0.026226329, y: -0.0000007450579, z: -0.0000027469353, w: 0.9996561} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistal + parentName: Right_MiddleIntermediate + position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistalEnd + parentName: Right_MiddleDistal + position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyProximal + parentName: Right_Hand + position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566} + rotation: {x: -0.020058475, y: -0.55049545, z: -0.008249418, w: 0.83455646} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyIntermediate + parentName: Right_PinkyProximal + position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623} + rotation: {x: 0.02811499, y: -0.0000035166731, z: -0.00000016298141, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistal + parentName: Right_PinkyIntermediate + position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345} + rotation: {x: 0.03642403, y: -0.0000024211556, z: -0.000008829222, w: 0.9993365} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistalEnd + parentName: Right_PinkyDistal + position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108} + rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingProximal + parentName: Right_Hand + position: {x: -0.00952738, y: -0.08161427, z: 0.012242128} + rotation: {x: -0.017649079, y: -0.6027014, z: -0.0040535578, w: 0.7977614} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingIntermediate + parentName: Right_RingProximal + position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335} + rotation: {x: 0.023547903, y: 0.0000024139879, z: 0.0000069094813, w: 0.9997228} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistal + parentName: Right_RingIntermediate + position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098} + rotation: {x: 0.039100695, y: 0.00000009656897, z: -0.000004755179, w: 0.99923533} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistalEnd + parentName: Right_RingDistal + position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459} + rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbProximal + parentName: Right_Hand + position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695} + rotation: {x: 0.17960793, y: 0.8841713, z: 0.42399347, w: -0.07881395} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbIntermediate + parentName: Right_ThumbProximal + position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848} + rotation: {x: 0.12780538, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistal + parentName: Right_ThumbIntermediate + position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783} + rotation: {x: -0.04541878, y: -0.000003060937, z: 0.000004811603, w: 0.99896806} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistalEnd + parentName: Right_ThumbDistal + position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683} + rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 1 + foreArmTwist: 0 + upperLegTwist: 1 + legTwist: 0 + armStretch: 0 + legStretch: 0 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 1 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 597976b6b3e452c499a186f5f40cbf87, type: 3} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 3 + humanoidOversampling: 1 + avatarSetup: 2 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N.anim.fbx b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N.anim.fbx new file mode 100644 index 00000000..e13c6b31 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N.anim.fbx differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N.anim.fbx.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N.anim.fbx.meta new file mode 100644 index 00000000..cfe8c501 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N.anim.fbx.meta @@ -0,0 +1,918 @@ +fileFormatVersion: 2 +guid: de5e2c79af098f84cbefb0eca5400827 +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: + - first: + 74: 6564411413370888346 + second: Run_N + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.05 + animationPositionError: 0.05 + animationScaleError: 0.25 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Run_N + takeName: Run_N + internalID: 0 + firstFrame: 0 + lastFrame: 20 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 0 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 1 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Foot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Toes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: UpperChest + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Shoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Hand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Shoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Hand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Foot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Toes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbProximal + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbIntermediate + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbDistal + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexProximal + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexIntermediate + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexDistal + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleProximal + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleIntermediate + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleDistal + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingProximal + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingIntermediate + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingDistal + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyProximal + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyIntermediate + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyDistal + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbProximal + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbIntermediate + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbDistal + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexProximal + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexIntermediate + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexDistal + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleProximal + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleIntermediate + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleDistal + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingProximal + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingIntermediate + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingDistal + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyProximal + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyIntermediate + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyDistal + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: Mannequin(Clone) + parentName: + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Geometry + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Mannequin_Mesh + parentName: Geometry + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Skeleton + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: Skeleton + position: {x: -0, y: 0.9810986, z: -0.01590455} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperLeg + parentName: Hips + position: {x: -0.08610317, y: -0.053458035, z: -0.011470641} + rotation: {x: 0.999839, y: -0.01775374, z: 0.000046300094, w: -0.0026074864} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerLeg + parentName: Left_UpperLeg + position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Left_Foot + parentName: Left_LowerLeg + position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Left_Toes + parentName: Left_Foot + position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506} + rotation: {x: -0.7071068, y: 8.7157646e-33, z: -8.7157646e-33, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Left_ToesEnd + parentName: Left_Toes + position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperLeg + parentName: Hips + position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475} + rotation: {x: 0.0026075041, y: 0.000046300407, z: 0.01775374, w: 0.999839} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerLeg + parentName: Right_UpperLeg + position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Right_Foot + parentName: Right_LowerLeg + position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Right_Toes + parentName: Right_Foot + position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807} + rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_ToesEnd + parentName: Right_Toes + position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: -0, y: 0.058229383, z: 0.0012229546} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: Spine + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: UpperChest + parentName: Chest + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_Shoulder + parentName: UpperChest + position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945} + rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperArm + parentName: Left_Shoulder + position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17} + rotation: {x: 0.12673509, y: 0.03332071, z: 0.6809724, w: 0.72048914} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerArm + parentName: Left_UpperArm + position: {x: -2.8421706e-16, y: 0.28508067, z: 0} + rotation: {x: 0.020536564, y: 0.00832135, z: -0.020624585, w: 0.9995417} + scale: {x: 1, y: 1, z: 1} + - name: Left_Hand + parentName: Left_LowerArm + position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexProximal + parentName: Left_Hand + position: {x: 0.007815497, y: 0.0918443, z: 0.02657316} + rotation: {x: -0.0000789147, y: -0.7104809, z: -0.006305193, w: 0.70368826} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexIntermediate + parentName: Left_IndexProximal + position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16} + rotation: {x: 0.030199163, y: 0.00000005960465, z: -0.00000038841978, w: 0.9995439} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistal + parentName: Left_IndexIntermediate + position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16} + rotation: {x: 0.03945603, y: 0.000000016383924, z: 0.0000000332638, w: 0.9992213} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistalEnd + parentName: Left_IndexDistal + position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleProximal + parentName: Left_Hand + position: {x: 0.012847862, y: 0.08609763, z: 0.003435423} + rotation: {x: -0.004090429, y: -0.6610811, z: -0.004001968, w: 0.7502927} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleIntermediate + parentName: Left_MiddleProximal + position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17} + rotation: {x: 0.026233751, y: -0.000000029802322, z: -0.0000007133931, w: 0.99965584} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistal + parentName: Left_MiddleIntermediate + position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistalEnd + parentName: Left_MiddleDistal + position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyProximal + parentName: Left_Hand + position: {x: 0.004436847, y: 0.07288173, z: -0.029359013} + rotation: {x: -0.02007038, y: -0.5504896, z: -0.008246153, w: 0.83456} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyIntermediate + parentName: Left_PinkyProximal + position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16} + rotation: {x: 0.028115956, y: -0.00000008940699, z: -0.0000005941839, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistal + parentName: Left_PinkyIntermediate + position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17} + rotation: {x: 0.03643686, y: 0.00000014611446, z: 0.00000018696, w: 0.999336} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistalEnd + parentName: Left_PinkyDistal + position: {x: -1.2434495e-16, y: 0.018519057, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingProximal + parentName: Left_Hand + position: {x: 0.009525569, y: 0.08161553, z: -0.012242405} + rotation: {x: -0.017654313, y: -0.6026994, z: -0.0040520057, w: 0.79776275} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingIntermediate + parentName: Left_RingProximal + position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16} + rotation: {x: 0.023556013, y: 0.00000026822087, z: 0.0000007636844, w: 0.99972254} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistal + parentName: Left_RingIntermediate + position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16} + rotation: {x: 0.03908592, y: -0.000000019744585, z: 0.00000042049942, w: 0.9992359} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistalEnd + parentName: Left_RingDistal + position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbProximal + parentName: Left_Hand + position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476} + rotation: {x: 0.1796032, y: 0.8841741, z: 0.4239896, w: -0.07881452} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbIntermediate + parentName: Left_ThumbProximal + position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592} + rotation: {x: 0.1278054, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistal + parentName: Left_ThumbIntermediate + position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915} + rotation: {x: -0.045421924, y: -0.00000036741366, z: -0.0000008691409, w: 0.9989679} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistalEnd + parentName: Left_ThumbDistal + position: {x: -4.2632555e-16, y: 0.029458016, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: UpperChest + position: {x: -0, y: 0.25104657, z: -0.015329581} + rotation: {x: 0.060688436, y: -0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -0, y: 0.12747401, z: 0} + rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: Head + position: {x: -0, y: -0.00763539, z: 0.012895278} + rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485} + scale: {x: 1, y: 1, z: 1} + - name: Left_Eye + parentName: Head + position: {x: -0.03330326, y: 0.034598116, z: 0.0867403} + rotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_Eye + parentName: Head + position: {x: 0.033303294, y: 0.03459628, z: 0.0867403} + rotation: {x: 0.7071068, y: 4.3297806e-17, z: 0.7071068, w: -4.3297806e-17} + scale: {x: 1, y: 1, z: 1} + - name: Neck_Twist_A + parentName: Neck + position: {x: -0, y: 0.063737005, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_Shoulder + parentName: UpperChest + position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803} + rotation: {x: 0.99258024, y: -0.04327539, z: -0.113521874, w: 0.004949396} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperArm + parentName: Right_Shoulder + position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746} + rotation: {x: 0.1267345, y: 0.033320885, z: 0.68096745, w: 0.720494} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerArm + parentName: Right_UpperArm + position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226} + rotation: {x: 0.020541133, y: 0.008317431, z: -0.020620903, w: 0.99954176} + scale: {x: 1, y: 1, z: 1} + - name: Right_Hand + parentName: Right_LowerArm + position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexProximal + parentName: Right_Hand + position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574} + rotation: {x: -0.00008773989, y: -0.7104814, z: -0.0063276542, w: 0.7036876} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexIntermediate + parentName: Right_IndexProximal + position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077} + rotation: {x: 0.03020306, y: -0.0000005662439, z: 0.000012195228, w: 0.99954385} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistal + parentName: Right_IndexIntermediate + position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629} + rotation: {x: 0.03948371, y: -0.000000052504312, z: -0.000005515076, w: 0.99922025} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistalEnd + parentName: Right_IndexDistal + position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131} + rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleProximal + parentName: Right_Hand + position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337} + rotation: {x: -0.0040856875, y: -0.6610817, z: -0.0040004994, w: 0.7502922} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleIntermediate + parentName: Right_MiddleProximal + position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695} + rotation: {x: 0.026226329, y: -0.0000007450579, z: -0.0000027469353, w: 0.9996561} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistal + parentName: Right_MiddleIntermediate + position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistalEnd + parentName: Right_MiddleDistal + position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyProximal + parentName: Right_Hand + position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566} + rotation: {x: -0.020058475, y: -0.55049545, z: -0.008249418, w: 0.83455646} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyIntermediate + parentName: Right_PinkyProximal + position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623} + rotation: {x: 0.02811499, y: -0.0000035166731, z: -0.00000016298141, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistal + parentName: Right_PinkyIntermediate + position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345} + rotation: {x: 0.03642403, y: -0.0000024211556, z: -0.000008829222, w: 0.9993365} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistalEnd + parentName: Right_PinkyDistal + position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108} + rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingProximal + parentName: Right_Hand + position: {x: -0.00952738, y: -0.08161427, z: 0.012242128} + rotation: {x: -0.017649079, y: -0.6027014, z: -0.0040535578, w: 0.7977614} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingIntermediate + parentName: Right_RingProximal + position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335} + rotation: {x: 0.023547903, y: 0.0000024139879, z: 0.0000069094813, w: 0.9997228} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistal + parentName: Right_RingIntermediate + position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098} + rotation: {x: 0.039100695, y: 0.00000009656897, z: -0.000004755179, w: 0.99923533} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistalEnd + parentName: Right_RingDistal + position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459} + rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbProximal + parentName: Right_Hand + position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695} + rotation: {x: 0.17960793, y: 0.8841713, z: 0.42399347, w: -0.07881395} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbIntermediate + parentName: Right_ThumbProximal + position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848} + rotation: {x: 0.12780538, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistal + parentName: Right_ThumbIntermediate + position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783} + rotation: {x: -0.04541878, y: -0.000003060937, z: 0.000004811603, w: 0.99896806} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistalEnd + parentName: Right_ThumbDistal + position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683} + rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 1 + foreArmTwist: 0 + upperLegTwist: 1 + legTwist: 0 + armStretch: 0 + legStretch: 0 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 1 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 597976b6b3e452c499a186f5f40cbf87, type: 3} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 3 + humanoidOversampling: 1 + avatarSetup: 2 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N_Land.anim.fbx b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N_Land.anim.fbx new file mode 100644 index 00000000..b92e2826 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N_Land.anim.fbx differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N_Land.anim.fbx.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N_Land.anim.fbx.meta new file mode 100644 index 00000000..4c317f15 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Run_N_Land.anim.fbx.meta @@ -0,0 +1,918 @@ +fileFormatVersion: 2 +guid: 5a062b6e69369a948ab0756a92ada2a5 +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: + - first: + 74: -2817517482862745934 + second: Run_N_Land + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 1 + animationCompression: 1 + animationRotationError: 0.05 + animationPositionError: 0.05 + animationScaleError: 0.25 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Run_N_Land + takeName: Run_N_Land + internalID: 0 + firstFrame: 0 + lastFrame: 20 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 0 + loopBlend: 0 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 1 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Foot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Toes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: UpperChest + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Shoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Hand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Shoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Hand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Foot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Toes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbProximal + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbIntermediate + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbDistal + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexProximal + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexIntermediate + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexDistal + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleProximal + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleIntermediate + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleDistal + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingProximal + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingIntermediate + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingDistal + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyProximal + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyIntermediate + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyDistal + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbProximal + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbIntermediate + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbDistal + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexProximal + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexIntermediate + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexDistal + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleProximal + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleIntermediate + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleDistal + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingProximal + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingIntermediate + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingDistal + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyProximal + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyIntermediate + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyDistal + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: Mannequin(Clone) + parentName: + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Geometry + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Mannequin_Mesh + parentName: Geometry + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Skeleton + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: Skeleton + position: {x: -0, y: 0.9810986, z: -0.01590455} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperLeg + parentName: Hips + position: {x: -0.08610317, y: -0.053458035, z: -0.011470641} + rotation: {x: 0.999839, y: -0.01775374, z: 0.000046300094, w: -0.0026074864} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerLeg + parentName: Left_UpperLeg + position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Left_Foot + parentName: Left_LowerLeg + position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Left_Toes + parentName: Left_Foot + position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506} + rotation: {x: -0.7071068, y: 8.7157646e-33, z: -8.7157646e-33, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Left_ToesEnd + parentName: Left_Toes + position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperLeg + parentName: Hips + position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475} + rotation: {x: 0.0026075041, y: 0.000046300407, z: 0.01775374, w: 0.999839} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerLeg + parentName: Right_UpperLeg + position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Right_Foot + parentName: Right_LowerLeg + position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Right_Toes + parentName: Right_Foot + position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807} + rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_ToesEnd + parentName: Right_Toes + position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: -0, y: 0.058229383, z: 0.0012229546} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: Spine + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: UpperChest + parentName: Chest + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_Shoulder + parentName: UpperChest + position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945} + rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperArm + parentName: Left_Shoulder + position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17} + rotation: {x: 0.12673509, y: 0.03332071, z: 0.6809724, w: 0.72048914} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerArm + parentName: Left_UpperArm + position: {x: -2.8421706e-16, y: 0.28508067, z: 0} + rotation: {x: 0.020536564, y: 0.00832135, z: -0.020624585, w: 0.9995417} + scale: {x: 1, y: 1, z: 1} + - name: Left_Hand + parentName: Left_LowerArm + position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexProximal + parentName: Left_Hand + position: {x: 0.007815497, y: 0.0918443, z: 0.02657316} + rotation: {x: -0.0000789147, y: -0.7104809, z: -0.006305193, w: 0.70368826} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexIntermediate + parentName: Left_IndexProximal + position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16} + rotation: {x: 0.030199163, y: 0.00000005960465, z: -0.00000038841978, w: 0.9995439} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistal + parentName: Left_IndexIntermediate + position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16} + rotation: {x: 0.03945603, y: 0.000000016383924, z: 0.0000000332638, w: 0.9992213} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistalEnd + parentName: Left_IndexDistal + position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleProximal + parentName: Left_Hand + position: {x: 0.012847862, y: 0.08609763, z: 0.003435423} + rotation: {x: -0.004090429, y: -0.6610811, z: -0.004001968, w: 0.7502927} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleIntermediate + parentName: Left_MiddleProximal + position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17} + rotation: {x: 0.026233751, y: -0.000000029802322, z: -0.0000007133931, w: 0.99965584} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistal + parentName: Left_MiddleIntermediate + position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistalEnd + parentName: Left_MiddleDistal + position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyProximal + parentName: Left_Hand + position: {x: 0.004436847, y: 0.07288173, z: -0.029359013} + rotation: {x: -0.02007038, y: -0.5504896, z: -0.008246153, w: 0.83456} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyIntermediate + parentName: Left_PinkyProximal + position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16} + rotation: {x: 0.028115956, y: -0.00000008940699, z: -0.0000005941839, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistal + parentName: Left_PinkyIntermediate + position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17} + rotation: {x: 0.03643686, y: 0.00000014611446, z: 0.00000018696, w: 0.999336} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistalEnd + parentName: Left_PinkyDistal + position: {x: -1.2434495e-16, y: 0.018519057, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingProximal + parentName: Left_Hand + position: {x: 0.009525569, y: 0.08161553, z: -0.012242405} + rotation: {x: -0.017654313, y: -0.6026994, z: -0.0040520057, w: 0.79776275} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingIntermediate + parentName: Left_RingProximal + position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16} + rotation: {x: 0.023556013, y: 0.00000026822087, z: 0.0000007636844, w: 0.99972254} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistal + parentName: Left_RingIntermediate + position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16} + rotation: {x: 0.03908592, y: -0.000000019744585, z: 0.00000042049942, w: 0.9992359} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistalEnd + parentName: Left_RingDistal + position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbProximal + parentName: Left_Hand + position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476} + rotation: {x: 0.1796032, y: 0.8841741, z: 0.4239896, w: -0.07881452} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbIntermediate + parentName: Left_ThumbProximal + position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592} + rotation: {x: 0.1278054, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistal + parentName: Left_ThumbIntermediate + position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915} + rotation: {x: -0.045421924, y: -0.00000036741366, z: -0.0000008691409, w: 0.9989679} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistalEnd + parentName: Left_ThumbDistal + position: {x: -4.2632555e-16, y: 0.029458016, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: UpperChest + position: {x: -0, y: 0.25104657, z: -0.015329581} + rotation: {x: 0.060688436, y: -0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -0, y: 0.12747401, z: 0} + rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: Head + position: {x: -0, y: -0.00763539, z: 0.012895278} + rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485} + scale: {x: 1, y: 1, z: 1} + - name: Left_Eye + parentName: Head + position: {x: -0.03330326, y: 0.034598116, z: 0.0867403} + rotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_Eye + parentName: Head + position: {x: 0.033303294, y: 0.03459628, z: 0.0867403} + rotation: {x: 0.7071068, y: 4.3297806e-17, z: 0.7071068, w: -4.3297806e-17} + scale: {x: 1, y: 1, z: 1} + - name: Neck_Twist_A + parentName: Neck + position: {x: -0, y: 0.063737005, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_Shoulder + parentName: UpperChest + position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803} + rotation: {x: 0.99258024, y: -0.04327539, z: -0.113521874, w: 0.004949396} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperArm + parentName: Right_Shoulder + position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746} + rotation: {x: 0.1267345, y: 0.033320885, z: 0.68096745, w: 0.720494} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerArm + parentName: Right_UpperArm + position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226} + rotation: {x: 0.020541133, y: 0.008317431, z: -0.020620903, w: 0.99954176} + scale: {x: 1, y: 1, z: 1} + - name: Right_Hand + parentName: Right_LowerArm + position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexProximal + parentName: Right_Hand + position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574} + rotation: {x: -0.00008773989, y: -0.7104814, z: -0.0063276542, w: 0.7036876} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexIntermediate + parentName: Right_IndexProximal + position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077} + rotation: {x: 0.03020306, y: -0.0000005662439, z: 0.000012195228, w: 0.99954385} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistal + parentName: Right_IndexIntermediate + position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629} + rotation: {x: 0.03948371, y: -0.000000052504312, z: -0.000005515076, w: 0.99922025} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistalEnd + parentName: Right_IndexDistal + position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131} + rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleProximal + parentName: Right_Hand + position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337} + rotation: {x: -0.0040856875, y: -0.6610817, z: -0.0040004994, w: 0.7502922} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleIntermediate + parentName: Right_MiddleProximal + position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695} + rotation: {x: 0.026226329, y: -0.0000007450579, z: -0.0000027469353, w: 0.9996561} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistal + parentName: Right_MiddleIntermediate + position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistalEnd + parentName: Right_MiddleDistal + position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyProximal + parentName: Right_Hand + position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566} + rotation: {x: -0.020058475, y: -0.55049545, z: -0.008249418, w: 0.83455646} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyIntermediate + parentName: Right_PinkyProximal + position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623} + rotation: {x: 0.02811499, y: -0.0000035166731, z: -0.00000016298141, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistal + parentName: Right_PinkyIntermediate + position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345} + rotation: {x: 0.03642403, y: -0.0000024211556, z: -0.000008829222, w: 0.9993365} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistalEnd + parentName: Right_PinkyDistal + position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108} + rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingProximal + parentName: Right_Hand + position: {x: -0.00952738, y: -0.08161427, z: 0.012242128} + rotation: {x: -0.017649079, y: -0.6027014, z: -0.0040535578, w: 0.7977614} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingIntermediate + parentName: Right_RingProximal + position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335} + rotation: {x: 0.023547903, y: 0.0000024139879, z: 0.0000069094813, w: 0.9997228} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistal + parentName: Right_RingIntermediate + position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098} + rotation: {x: 0.039100695, y: 0.00000009656897, z: -0.000004755179, w: 0.99923533} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistalEnd + parentName: Right_RingDistal + position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459} + rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbProximal + parentName: Right_Hand + position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695} + rotation: {x: 0.17960793, y: 0.8841713, z: 0.42399347, w: -0.07881395} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbIntermediate + parentName: Right_ThumbProximal + position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848} + rotation: {x: 0.12780538, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistal + parentName: Right_ThumbIntermediate + position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783} + rotation: {x: -0.04541878, y: -0.000003060937, z: 0.000004811603, w: 0.99896806} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistalEnd + parentName: Right_ThumbDistal + position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683} + rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 1 + foreArmTwist: 0 + upperLegTwist: 1 + legTwist: 0 + armStretch: 0 + legStretch: 0 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 1 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 597976b6b3e452c499a186f5f40cbf87, type: 3} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 3 + humanoidOversampling: 1 + avatarSetup: 2 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N.anim.fbx b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N.anim.fbx new file mode 100644 index 00000000..b85d4c10 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N.anim.fbx differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N.anim.fbx.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N.anim.fbx.meta new file mode 100644 index 00000000..c1ba193d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N.anim.fbx.meta @@ -0,0 +1,918 @@ +fileFormatVersion: 2 +guid: a6eb3fccc7d4a3c4cb39dcac32812438 +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: + - first: + 74: 1657602633327794031 + second: Walk_N + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.05 + animationPositionError: 0.05 + animationScaleError: 0.25 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Walk_N + takeName: Walk_N + internalID: 0 + firstFrame: 0 + lastFrame: 29 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 1 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Foot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Toes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: UpperChest + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Shoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Hand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Shoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Hand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Foot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Toes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbProximal + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbIntermediate + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbDistal + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexProximal + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexIntermediate + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexDistal + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleProximal + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleIntermediate + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleDistal + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingProximal + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingIntermediate + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingDistal + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyProximal + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyIntermediate + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyDistal + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbProximal + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbIntermediate + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbDistal + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexProximal + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexIntermediate + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexDistal + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleProximal + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleIntermediate + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleDistal + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingProximal + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingIntermediate + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingDistal + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyProximal + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyIntermediate + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyDistal + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: Mannequin(Clone) + parentName: + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Geometry + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Mannequin_Mesh + parentName: Geometry + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Skeleton + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: Skeleton + position: {x: -0, y: 0.9810986, z: -0.01590455} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperLeg + parentName: Hips + position: {x: -0.08610317, y: -0.053458035, z: -0.011470641} + rotation: {x: 0.999839, y: -0.01775374, z: 0.000046300094, w: -0.0026074864} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerLeg + parentName: Left_UpperLeg + position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Left_Foot + parentName: Left_LowerLeg + position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Left_Toes + parentName: Left_Foot + position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506} + rotation: {x: -0.7071068, y: 8.7157646e-33, z: -8.7157646e-33, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Left_ToesEnd + parentName: Left_Toes + position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperLeg + parentName: Hips + position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475} + rotation: {x: 0.0026075041, y: 0.000046300407, z: 0.01775374, w: 0.999839} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerLeg + parentName: Right_UpperLeg + position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Right_Foot + parentName: Right_LowerLeg + position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Right_Toes + parentName: Right_Foot + position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807} + rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_ToesEnd + parentName: Right_Toes + position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: -0, y: 0.058229383, z: 0.0012229546} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: Spine + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: UpperChest + parentName: Chest + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_Shoulder + parentName: UpperChest + position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945} + rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperArm + parentName: Left_Shoulder + position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17} + rotation: {x: 0.12673509, y: 0.03332071, z: 0.6809724, w: 0.72048914} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerArm + parentName: Left_UpperArm + position: {x: -2.8421706e-16, y: 0.28508067, z: 0} + rotation: {x: 0.020536564, y: 0.00832135, z: -0.020624585, w: 0.9995417} + scale: {x: 1, y: 1, z: 1} + - name: Left_Hand + parentName: Left_LowerArm + position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexProximal + parentName: Left_Hand + position: {x: 0.007815497, y: 0.0918443, z: 0.02657316} + rotation: {x: -0.0000789147, y: -0.7104809, z: -0.006305193, w: 0.70368826} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexIntermediate + parentName: Left_IndexProximal + position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16} + rotation: {x: 0.030199163, y: 0.00000005960465, z: -0.00000038841978, w: 0.9995439} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistal + parentName: Left_IndexIntermediate + position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16} + rotation: {x: 0.03945603, y: 0.000000016383924, z: 0.0000000332638, w: 0.9992213} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistalEnd + parentName: Left_IndexDistal + position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleProximal + parentName: Left_Hand + position: {x: 0.012847862, y: 0.08609763, z: 0.003435423} + rotation: {x: -0.004090429, y: -0.6610811, z: -0.004001968, w: 0.7502927} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleIntermediate + parentName: Left_MiddleProximal + position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17} + rotation: {x: 0.026233751, y: -0.000000029802322, z: -0.0000007133931, w: 0.99965584} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistal + parentName: Left_MiddleIntermediate + position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistalEnd + parentName: Left_MiddleDistal + position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyProximal + parentName: Left_Hand + position: {x: 0.004436847, y: 0.07288173, z: -0.029359013} + rotation: {x: -0.02007038, y: -0.5504896, z: -0.008246153, w: 0.83456} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyIntermediate + parentName: Left_PinkyProximal + position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16} + rotation: {x: 0.028115956, y: -0.00000008940699, z: -0.0000005941839, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistal + parentName: Left_PinkyIntermediate + position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17} + rotation: {x: 0.03643686, y: 0.00000014611446, z: 0.00000018696, w: 0.999336} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistalEnd + parentName: Left_PinkyDistal + position: {x: -1.2434495e-16, y: 0.018519057, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingProximal + parentName: Left_Hand + position: {x: 0.009525569, y: 0.08161553, z: -0.012242405} + rotation: {x: -0.017654313, y: -0.6026994, z: -0.0040520057, w: 0.79776275} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingIntermediate + parentName: Left_RingProximal + position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16} + rotation: {x: 0.023556013, y: 0.00000026822087, z: 0.0000007636844, w: 0.99972254} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistal + parentName: Left_RingIntermediate + position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16} + rotation: {x: 0.03908592, y: -0.000000019744585, z: 0.00000042049942, w: 0.9992359} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistalEnd + parentName: Left_RingDistal + position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbProximal + parentName: Left_Hand + position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476} + rotation: {x: 0.1796032, y: 0.8841741, z: 0.4239896, w: -0.07881452} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbIntermediate + parentName: Left_ThumbProximal + position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592} + rotation: {x: 0.1278054, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistal + parentName: Left_ThumbIntermediate + position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915} + rotation: {x: -0.045421924, y: -0.00000036741366, z: -0.0000008691409, w: 0.9989679} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistalEnd + parentName: Left_ThumbDistal + position: {x: -4.2632555e-16, y: 0.029458016, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: UpperChest + position: {x: -0, y: 0.25104657, z: -0.015329581} + rotation: {x: 0.060688436, y: -0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -0, y: 0.12747401, z: 0} + rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: Head + position: {x: -0, y: -0.00763539, z: 0.012895278} + rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485} + scale: {x: 1, y: 1, z: 1} + - name: Left_Eye + parentName: Head + position: {x: -0.03330326, y: 0.034598116, z: 0.0867403} + rotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_Eye + parentName: Head + position: {x: 0.033303294, y: 0.03459628, z: 0.0867403} + rotation: {x: 0.7071068, y: 4.3297806e-17, z: 0.7071068, w: -4.3297806e-17} + scale: {x: 1, y: 1, z: 1} + - name: Neck_Twist_A + parentName: Neck + position: {x: -0, y: 0.063737005, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_Shoulder + parentName: UpperChest + position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803} + rotation: {x: 0.99258024, y: -0.04327539, z: -0.113521874, w: 0.004949396} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperArm + parentName: Right_Shoulder + position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746} + rotation: {x: 0.1267345, y: 0.033320885, z: 0.68096745, w: 0.720494} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerArm + parentName: Right_UpperArm + position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226} + rotation: {x: 0.020541133, y: 0.008317431, z: -0.020620903, w: 0.99954176} + scale: {x: 1, y: 1, z: 1} + - name: Right_Hand + parentName: Right_LowerArm + position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexProximal + parentName: Right_Hand + position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574} + rotation: {x: -0.00008773989, y: -0.7104814, z: -0.0063276542, w: 0.7036876} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexIntermediate + parentName: Right_IndexProximal + position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077} + rotation: {x: 0.03020306, y: -0.0000005662439, z: 0.000012195228, w: 0.99954385} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistal + parentName: Right_IndexIntermediate + position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629} + rotation: {x: 0.03948371, y: -0.000000052504312, z: -0.000005515076, w: 0.99922025} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistalEnd + parentName: Right_IndexDistal + position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131} + rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleProximal + parentName: Right_Hand + position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337} + rotation: {x: -0.0040856875, y: -0.6610817, z: -0.0040004994, w: 0.7502922} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleIntermediate + parentName: Right_MiddleProximal + position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695} + rotation: {x: 0.026226329, y: -0.0000007450579, z: -0.0000027469353, w: 0.9996561} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistal + parentName: Right_MiddleIntermediate + position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistalEnd + parentName: Right_MiddleDistal + position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyProximal + parentName: Right_Hand + position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566} + rotation: {x: -0.020058475, y: -0.55049545, z: -0.008249418, w: 0.83455646} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyIntermediate + parentName: Right_PinkyProximal + position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623} + rotation: {x: 0.02811499, y: -0.0000035166731, z: -0.00000016298141, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistal + parentName: Right_PinkyIntermediate + position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345} + rotation: {x: 0.03642403, y: -0.0000024211556, z: -0.000008829222, w: 0.9993365} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistalEnd + parentName: Right_PinkyDistal + position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108} + rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingProximal + parentName: Right_Hand + position: {x: -0.00952738, y: -0.08161427, z: 0.012242128} + rotation: {x: -0.017649079, y: -0.6027014, z: -0.0040535578, w: 0.7977614} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingIntermediate + parentName: Right_RingProximal + position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335} + rotation: {x: 0.023547903, y: 0.0000024139879, z: 0.0000069094813, w: 0.9997228} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistal + parentName: Right_RingIntermediate + position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098} + rotation: {x: 0.039100695, y: 0.00000009656897, z: -0.000004755179, w: 0.99923533} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistalEnd + parentName: Right_RingDistal + position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459} + rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbProximal + parentName: Right_Hand + position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695} + rotation: {x: 0.17960793, y: 0.8841713, z: 0.42399347, w: -0.07881395} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbIntermediate + parentName: Right_ThumbProximal + position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848} + rotation: {x: 0.12780538, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistal + parentName: Right_ThumbIntermediate + position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783} + rotation: {x: -0.04541878, y: -0.000003060937, z: 0.000004811603, w: 0.99896806} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistalEnd + parentName: Right_ThumbDistal + position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683} + rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 1 + foreArmTwist: 0 + upperLegTwist: 1 + legTwist: 0 + armStretch: 0 + legStretch: 0 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 1 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 597976b6b3e452c499a186f5f40cbf87, type: 3} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 3 + humanoidOversampling: 1 + avatarSetup: 2 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N_Land.anim.fbx b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N_Land.anim.fbx new file mode 100644 index 00000000..8a9bc157 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N_Land.anim.fbx differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N_Land.anim.fbx.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N_Land.anim.fbx.meta new file mode 100644 index 00000000..e4043989 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Locomotion--Walk_N_Land.anim.fbx.meta @@ -0,0 +1,918 @@ +fileFormatVersion: 2 +guid: 30752a151c1db0347ae9798abd6e76a5 +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: + - first: + 74: 3062299877480904481 + second: Walk_N_Land + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 3 + animationRotationError: 0.05 + animationPositionError: 0.05 + animationScaleError: 0.25 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Walk_N_Land + takeName: Walk_N_Land + internalID: 0 + firstFrame: 0 + lastFrame: 16 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 0 + loopBlend: 0 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 1 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Foot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Toes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: UpperChest + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Shoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Hand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Shoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Hand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Foot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Toes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbProximal + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbIntermediate + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbDistal + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexProximal + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexIntermediate + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexDistal + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleProximal + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleIntermediate + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleDistal + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingProximal + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingIntermediate + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingDistal + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyProximal + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyIntermediate + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyDistal + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbProximal + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbIntermediate + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbDistal + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexProximal + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexIntermediate + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexDistal + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleProximal + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleIntermediate + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleDistal + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingProximal + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingIntermediate + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingDistal + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyProximal + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyIntermediate + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyDistal + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: Mannequin(Clone) + parentName: + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Geometry + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Mannequin_Mesh + parentName: Geometry + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Skeleton + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: Skeleton + position: {x: -0, y: 0.9810986, z: -0.01590455} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperLeg + parentName: Hips + position: {x: -0.08610317, y: -0.053458035, z: -0.011470641} + rotation: {x: 0.999839, y: -0.01775374, z: 0.000046300094, w: -0.0026074864} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerLeg + parentName: Left_UpperLeg + position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Left_Foot + parentName: Left_LowerLeg + position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Left_Toes + parentName: Left_Foot + position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506} + rotation: {x: -0.7071068, y: 8.7157646e-33, z: -8.7157646e-33, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Left_ToesEnd + parentName: Left_Toes + position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperLeg + parentName: Hips + position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475} + rotation: {x: 0.0026075041, y: 0.000046300407, z: 0.01775374, w: 0.999839} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerLeg + parentName: Right_UpperLeg + position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Right_Foot + parentName: Right_LowerLeg + position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Right_Toes + parentName: Right_Foot + position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807} + rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_ToesEnd + parentName: Right_Toes + position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: -0, y: 0.058229383, z: 0.0012229546} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: Spine + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: UpperChest + parentName: Chest + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_Shoulder + parentName: UpperChest + position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945} + rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperArm + parentName: Left_Shoulder + position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17} + rotation: {x: 0.12673509, y: 0.03332071, z: 0.6809724, w: 0.72048914} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerArm + parentName: Left_UpperArm + position: {x: -2.8421706e-16, y: 0.28508067, z: 0} + rotation: {x: 0.020536564, y: 0.00832135, z: -0.020624585, w: 0.9995417} + scale: {x: 1, y: 1, z: 1} + - name: Left_Hand + parentName: Left_LowerArm + position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexProximal + parentName: Left_Hand + position: {x: 0.007815497, y: 0.0918443, z: 0.02657316} + rotation: {x: -0.0000789147, y: -0.7104809, z: -0.006305193, w: 0.70368826} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexIntermediate + parentName: Left_IndexProximal + position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16} + rotation: {x: 0.030199163, y: 0.00000005960465, z: -0.00000038841978, w: 0.9995439} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistal + parentName: Left_IndexIntermediate + position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16} + rotation: {x: 0.03945603, y: 0.000000016383924, z: 0.0000000332638, w: 0.9992213} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistalEnd + parentName: Left_IndexDistal + position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleProximal + parentName: Left_Hand + position: {x: 0.012847862, y: 0.08609763, z: 0.003435423} + rotation: {x: -0.004090429, y: -0.6610811, z: -0.004001968, w: 0.7502927} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleIntermediate + parentName: Left_MiddleProximal + position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17} + rotation: {x: 0.026233751, y: -0.000000029802322, z: -0.0000007133931, w: 0.99965584} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistal + parentName: Left_MiddleIntermediate + position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistalEnd + parentName: Left_MiddleDistal + position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyProximal + parentName: Left_Hand + position: {x: 0.004436847, y: 0.07288173, z: -0.029359013} + rotation: {x: -0.02007038, y: -0.5504896, z: -0.008246153, w: 0.83456} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyIntermediate + parentName: Left_PinkyProximal + position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16} + rotation: {x: 0.028115956, y: -0.00000008940699, z: -0.0000005941839, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistal + parentName: Left_PinkyIntermediate + position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17} + rotation: {x: 0.03643686, y: 0.00000014611446, z: 0.00000018696, w: 0.999336} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistalEnd + parentName: Left_PinkyDistal + position: {x: -1.2434495e-16, y: 0.018519057, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingProximal + parentName: Left_Hand + position: {x: 0.009525569, y: 0.08161553, z: -0.012242405} + rotation: {x: -0.017654313, y: -0.6026994, z: -0.0040520057, w: 0.79776275} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingIntermediate + parentName: Left_RingProximal + position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16} + rotation: {x: 0.023556013, y: 0.00000026822087, z: 0.0000007636844, w: 0.99972254} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistal + parentName: Left_RingIntermediate + position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16} + rotation: {x: 0.03908592, y: -0.000000019744585, z: 0.00000042049942, w: 0.9992359} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistalEnd + parentName: Left_RingDistal + position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbProximal + parentName: Left_Hand + position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476} + rotation: {x: 0.1796032, y: 0.8841741, z: 0.4239896, w: -0.07881452} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbIntermediate + parentName: Left_ThumbProximal + position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592} + rotation: {x: 0.1278054, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistal + parentName: Left_ThumbIntermediate + position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915} + rotation: {x: -0.045421924, y: -0.00000036741366, z: -0.0000008691409, w: 0.9989679} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistalEnd + parentName: Left_ThumbDistal + position: {x: -4.2632555e-16, y: 0.029458016, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: UpperChest + position: {x: -0, y: 0.25104657, z: -0.015329581} + rotation: {x: 0.060688436, y: -0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -0, y: 0.12747401, z: 0} + rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: Head + position: {x: -0, y: -0.00763539, z: 0.012895278} + rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485} + scale: {x: 1, y: 1, z: 1} + - name: Left_Eye + parentName: Head + position: {x: -0.03330326, y: 0.034598116, z: 0.0867403} + rotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_Eye + parentName: Head + position: {x: 0.033303294, y: 0.03459628, z: 0.0867403} + rotation: {x: 0.7071068, y: 4.3297806e-17, z: 0.7071068, w: -4.3297806e-17} + scale: {x: 1, y: 1, z: 1} + - name: Neck_Twist_A + parentName: Neck + position: {x: -0, y: 0.063737005, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_Shoulder + parentName: UpperChest + position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803} + rotation: {x: 0.99258024, y: -0.04327539, z: -0.113521874, w: 0.004949396} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperArm + parentName: Right_Shoulder + position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746} + rotation: {x: 0.1267345, y: 0.033320885, z: 0.68096745, w: 0.720494} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerArm + parentName: Right_UpperArm + position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226} + rotation: {x: 0.020541133, y: 0.008317431, z: -0.020620903, w: 0.99954176} + scale: {x: 1, y: 1, z: 1} + - name: Right_Hand + parentName: Right_LowerArm + position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexProximal + parentName: Right_Hand + position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574} + rotation: {x: -0.00008773989, y: -0.7104814, z: -0.0063276542, w: 0.7036876} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexIntermediate + parentName: Right_IndexProximal + position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077} + rotation: {x: 0.03020306, y: -0.0000005662439, z: 0.000012195228, w: 0.99954385} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistal + parentName: Right_IndexIntermediate + position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629} + rotation: {x: 0.03948371, y: -0.000000052504312, z: -0.000005515076, w: 0.99922025} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistalEnd + parentName: Right_IndexDistal + position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131} + rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleProximal + parentName: Right_Hand + position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337} + rotation: {x: -0.0040856875, y: -0.6610817, z: -0.0040004994, w: 0.7502922} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleIntermediate + parentName: Right_MiddleProximal + position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695} + rotation: {x: 0.026226329, y: -0.0000007450579, z: -0.0000027469353, w: 0.9996561} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistal + parentName: Right_MiddleIntermediate + position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistalEnd + parentName: Right_MiddleDistal + position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyProximal + parentName: Right_Hand + position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566} + rotation: {x: -0.020058475, y: -0.55049545, z: -0.008249418, w: 0.83455646} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyIntermediate + parentName: Right_PinkyProximal + position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623} + rotation: {x: 0.02811499, y: -0.0000035166731, z: -0.00000016298141, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistal + parentName: Right_PinkyIntermediate + position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345} + rotation: {x: 0.03642403, y: -0.0000024211556, z: -0.000008829222, w: 0.9993365} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistalEnd + parentName: Right_PinkyDistal + position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108} + rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingProximal + parentName: Right_Hand + position: {x: -0.00952738, y: -0.08161427, z: 0.012242128} + rotation: {x: -0.017649079, y: -0.6027014, z: -0.0040535578, w: 0.7977614} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingIntermediate + parentName: Right_RingProximal + position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335} + rotation: {x: 0.023547903, y: 0.0000024139879, z: 0.0000069094813, w: 0.9997228} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistal + parentName: Right_RingIntermediate + position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098} + rotation: {x: 0.039100695, y: 0.00000009656897, z: -0.000004755179, w: 0.99923533} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistalEnd + parentName: Right_RingDistal + position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459} + rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbProximal + parentName: Right_Hand + position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695} + rotation: {x: 0.17960793, y: 0.8841713, z: 0.42399347, w: -0.07881395} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbIntermediate + parentName: Right_ThumbProximal + position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848} + rotation: {x: 0.12780538, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistal + parentName: Right_ThumbIntermediate + position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783} + rotation: {x: -0.04541878, y: -0.000003060937, z: 0.000004811603, w: 0.99896806} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistalEnd + parentName: Right_ThumbDistal + position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683} + rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 1 + foreArmTwist: 0 + upperLegTwist: 1 + legTwist: 0 + armStretch: 0 + legStretch: 0 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 1 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 597976b6b3e452c499a186f5f40cbf87, type: 3} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 3 + humanoidOversampling: 1 + avatarSetup: 2 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/SharedSpacesPlayerController.controller b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/SharedSpacesPlayerController.controller new file mode 100644 index 00000000..96c3f4e7 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/SharedSpacesPlayerController.controller @@ -0,0 +1,637 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-7469282255733588732 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: InAir + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -1241942381204629156} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 1 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -2702400367771620057, guid: aaef612b70883e64ebb66fe9058b5090, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &-5602963042399094863 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 6904719651407550685} + m_Position: {x: -570, y: -270, z: 0} + - serializedVersion: 1 + m_State: {fileID: -7469282255733588732} + m_Position: {x: -570, y: -70, z: 0} + - serializedVersion: 1 + m_State: {fileID: -1645763842379584696} + m_Position: {x: -370, y: -180, z: 0} + - serializedVersion: 1 + m_State: {fileID: 2316907928501487792} + m_Position: {x: -770, y: -180, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: -760, y: -340, z: 0} + m_EntryPosition: {x: -550, y: -340, z: 0} + m_ExitPosition: {x: -90, y: -410, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 6904719651407550685} +--- !u!1101 &-5554260563948360725 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 0} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.925 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &-5395363184730745010 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Grounded + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1645763842379584696} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.13652915 + m_TransitionOffset: 0.1872593 + m_ExitTime: 0.65006435 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &-4639224020698590961 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: FreeFall + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -7469282255733588732} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.037536144 + m_TransitionOffset: 0.23041831 + m_ExitTime: 0.9466194 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &-3943826829571047522 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: FreeFall + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 0} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.037536144 + m_TransitionOffset: 0.23041831 + m_ExitTime: 0.9466194 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &-3768668417189682236 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: Flying + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -7469282255733588732} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.17459607 + m_TransitionOffset: 0 + m_ExitTime: 0.925 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &-1645763842379584696 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: JumpLand + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1965893691485178243} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 8738420251406115919} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &-1241942381204629156 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Grounded + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1645763842379584696} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.09764749 + m_TransitionOffset: 0.08027425 + m_ExitTime: 0.30146867 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: SharedSpacesPlayerController + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: Speed + m_Type: 1 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + - m_Name: Jump + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + - m_Name: Grounded + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + - m_Name: FreeFall + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + - m_Name: MotionSpeed + m_Type: 1 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -5602963042399094863} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1101 &1381778882725410896 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Grounded + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1645763842379584696} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.13652915 + m_TransitionOffset: 0.1872593 + m_ExitTime: 0.65006435 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 2 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1705606405774109490 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -7469282255733588732} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.47048202 + m_TransitionOffset: 0.60876185 + m_ExitTime: 0.66366935 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &1725567275296691115 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Fly + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -3768668417189682236} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -4506558747437489242, guid: d3b2083e086810047ab04d540db8afbc, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &1965893691485178243 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 6904719651407550685} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.4340285 + m_TransitionOffset: 0.36290926 + m_ExitTime: 0.39948252 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 2 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &2316907928501487792 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: JumpStart + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1705606405774109490} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 1 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7478122292733868173, guid: 2d23be5e9434d5048b641985a85fcc81, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &2455683505482688366 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -7469282255733588732} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.9466192 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &5185278855704465556 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Flying + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1725567275296691115} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.1320467 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 0 +--- !u!1102 &6904719651407550685 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Idle Walk Run Blend + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -4639224020698590961} + - {fileID: 8635457214972911529} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 1 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 1 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 8571049798372811705} + m_Tag: + m_SpeedParameter: MotionSpeed + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: Speed +--- !u!1101 &7604687646627025577 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Jump + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 0} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.07026386 + m_TransitionOffset: 0.058338698 + m_ExitTime: 0.8555227 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &8308480711204209675 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: FreeFall + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -7469282255733588732} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!206 &8571049798372811705 +BlendTree: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Blend Tree + m_Childs: + - serializedVersion: 2 + m_Motion: {fileID: -3100369314251171874, guid: 6656f6eaf36db184492e518f9be4aab5, type: 3} + m_Threshold: 0 + m_Position: {x: 0, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + - serializedVersion: 2 + m_Motion: {fileID: 1657602633327794031, guid: a6eb3fccc7d4a3c4cb39dcac32812438, type: 3} + m_Threshold: 2 + m_Position: {x: 0, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + - serializedVersion: 2 + m_Motion: {fileID: 6564411413370888346, guid: de5e2c79af098f84cbefb0eca5400827, type: 3} + m_Threshold: 6 + m_Position: {x: 0, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + m_BlendParameter: Speed + m_BlendParameterY: Speed + m_MinThreshold: 0 + m_MaxThreshold: 6 + m_UseAutomaticThresholds: 0 + m_NormalizedBlendValues: 0 + m_BlendType: 0 +--- !u!1101 &8635457214972911529 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Jump + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 2316907928501487792} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.07026373 + m_TransitionOffset: 0 + m_ExitTime: 0.03574113 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!206 &8738420251406115919 +BlendTree: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Blend Tree + m_Childs: + - serializedVersion: 2 + m_Motion: {fileID: -9098803823909532060, guid: 2d23be5e9434d5048b641985a85fcc81, type: 3} + m_Threshold: 0 + m_Position: {x: 0, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + - serializedVersion: 2 + m_Motion: {fileID: 3062299877480904481, guid: 30752a151c1db0347ae9798abd6e76a5, type: 3} + m_Threshold: 2 + m_Position: {x: 0, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + - serializedVersion: 2 + m_Motion: {fileID: -2817517482862745934, guid: 5a062b6e69369a948ab0756a92ada2a5, type: 3} + m_Threshold: 6 + m_Position: {x: 0, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + m_BlendParameter: Speed + m_BlendParameterY: Speed + m_MinThreshold: 0 + m_MaxThreshold: 6 + m_UseAutomaticThresholds: 0 + m_NormalizedBlendValues: 0 + m_BlendType: 0 diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/SharedSpacesPlayerController.controller.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/SharedSpacesPlayerController.controller.meta new file mode 100644 index 00000000..f850e9e5 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/SharedSpacesPlayerController.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d2a053c389952cb45b8dcbe5fb58c888 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Stand--Idle.anim.fbx b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Stand--Idle.anim.fbx new file mode 100644 index 00000000..3008e63a Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Stand--Idle.anim.fbx differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Stand--Idle.anim.fbx.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Stand--Idle.anim.fbx.meta new file mode 100644 index 00000000..c2cb100a --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Animations/Stand--Idle.anim.fbx.meta @@ -0,0 +1,918 @@ +fileFormatVersion: 2 +guid: 6656f6eaf36db184492e518f9be4aab5 +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: + - first: + 74: -3100369314251171874 + second: Idle + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.05 + animationPositionError: 0.05 + animationScaleError: 0.25 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Idle + takeName: Idle + internalID: 0 + firstFrame: 1 + lastFrame: 149 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 0 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 1 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 1 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Foot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Toes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: UpperChest + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Shoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Hand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Shoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Hand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Foot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Toes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbProximal + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbIntermediate + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbDistal + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexProximal + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexIntermediate + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexDistal + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleProximal + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleIntermediate + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleDistal + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingProximal + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingIntermediate + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingDistal + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyProximal + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyIntermediate + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyDistal + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbProximal + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbIntermediate + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbDistal + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexProximal + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexIntermediate + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexDistal + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleProximal + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleIntermediate + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleDistal + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingProximal + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingIntermediate + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingDistal + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyProximal + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyIntermediate + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyDistal + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: Mannequin(Clone) + parentName: + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Geometry + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Mannequin_Mesh + parentName: Geometry + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Skeleton + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: Skeleton + position: {x: -0, y: 0.9810986, z: -0.01590455} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperLeg + parentName: Hips + position: {x: -0.08610317, y: -0.053458035, z: -0.011470641} + rotation: {x: 0.999839, y: -0.01775374, z: 0.000046300094, w: -0.0026074864} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerLeg + parentName: Left_UpperLeg + position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Left_Foot + parentName: Left_LowerLeg + position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Left_Toes + parentName: Left_Foot + position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506} + rotation: {x: -0.7071068, y: 8.7157646e-33, z: -8.7157646e-33, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Left_ToesEnd + parentName: Left_Toes + position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperLeg + parentName: Hips + position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475} + rotation: {x: 0.0026075041, y: 0.000046300407, z: 0.01775374, w: 0.999839} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerLeg + parentName: Right_UpperLeg + position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Right_Foot + parentName: Right_LowerLeg + position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Right_Toes + parentName: Right_Foot + position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807} + rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_ToesEnd + parentName: Right_Toes + position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: -0, y: 0.058229383, z: 0.0012229546} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: Spine + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: UpperChest + parentName: Chest + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_Shoulder + parentName: UpperChest + position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945} + rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperArm + parentName: Left_Shoulder + position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17} + rotation: {x: 0.12673509, y: 0.03332071, z: 0.6809724, w: 0.72048914} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerArm + parentName: Left_UpperArm + position: {x: -2.8421706e-16, y: 0.28508067, z: 0} + rotation: {x: 0.020536564, y: 0.00832135, z: -0.020624585, w: 0.9995417} + scale: {x: 1, y: 1, z: 1} + - name: Left_Hand + parentName: Left_LowerArm + position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexProximal + parentName: Left_Hand + position: {x: 0.007815497, y: 0.0918443, z: 0.02657316} + rotation: {x: -0.0000789147, y: -0.7104809, z: -0.006305193, w: 0.70368826} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexIntermediate + parentName: Left_IndexProximal + position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16} + rotation: {x: 0.030199163, y: 0.00000005960465, z: -0.00000038841978, w: 0.9995439} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistal + parentName: Left_IndexIntermediate + position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16} + rotation: {x: 0.03945603, y: 0.000000016383924, z: 0.0000000332638, w: 0.9992213} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistalEnd + parentName: Left_IndexDistal + position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleProximal + parentName: Left_Hand + position: {x: 0.012847862, y: 0.08609763, z: 0.003435423} + rotation: {x: -0.004090429, y: -0.6610811, z: -0.004001968, w: 0.7502927} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleIntermediate + parentName: Left_MiddleProximal + position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17} + rotation: {x: 0.026233751, y: -0.000000029802322, z: -0.0000007133931, w: 0.99965584} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistal + parentName: Left_MiddleIntermediate + position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistalEnd + parentName: Left_MiddleDistal + position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyProximal + parentName: Left_Hand + position: {x: 0.004436847, y: 0.07288173, z: -0.029359013} + rotation: {x: -0.02007038, y: -0.5504896, z: -0.008246153, w: 0.83456} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyIntermediate + parentName: Left_PinkyProximal + position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16} + rotation: {x: 0.028115956, y: -0.00000008940699, z: -0.0000005941839, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistal + parentName: Left_PinkyIntermediate + position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17} + rotation: {x: 0.03643686, y: 0.00000014611446, z: 0.00000018696, w: 0.999336} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistalEnd + parentName: Left_PinkyDistal + position: {x: -1.2434495e-16, y: 0.018519057, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingProximal + parentName: Left_Hand + position: {x: 0.009525569, y: 0.08161553, z: -0.012242405} + rotation: {x: -0.017654313, y: -0.6026994, z: -0.0040520057, w: 0.79776275} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingIntermediate + parentName: Left_RingProximal + position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16} + rotation: {x: 0.023556013, y: 0.00000026822087, z: 0.0000007636844, w: 0.99972254} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistal + parentName: Left_RingIntermediate + position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16} + rotation: {x: 0.03908592, y: -0.000000019744585, z: 0.00000042049942, w: 0.9992359} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistalEnd + parentName: Left_RingDistal + position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbProximal + parentName: Left_Hand + position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476} + rotation: {x: 0.1796032, y: 0.8841741, z: 0.4239896, w: -0.07881452} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbIntermediate + parentName: Left_ThumbProximal + position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592} + rotation: {x: 0.1278054, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistal + parentName: Left_ThumbIntermediate + position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915} + rotation: {x: -0.045421924, y: -0.00000036741366, z: -0.0000008691409, w: 0.9989679} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistalEnd + parentName: Left_ThumbDistal + position: {x: -4.2632555e-16, y: 0.029458016, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: UpperChest + position: {x: -0, y: 0.25104657, z: -0.015329581} + rotation: {x: 0.060688436, y: -0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -0, y: 0.12747401, z: 0} + rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: Head + position: {x: -0, y: -0.00763539, z: 0.012895278} + rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485} + scale: {x: 1, y: 1, z: 1} + - name: Left_Eye + parentName: Head + position: {x: -0.03330326, y: 0.034598116, z: 0.0867403} + rotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_Eye + parentName: Head + position: {x: 0.033303294, y: 0.03459628, z: 0.0867403} + rotation: {x: 0.7071068, y: 4.3297806e-17, z: 0.7071068, w: -4.3297806e-17} + scale: {x: 1, y: 1, z: 1} + - name: Neck_Twist_A + parentName: Neck + position: {x: -0, y: 0.063737005, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_Shoulder + parentName: UpperChest + position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803} + rotation: {x: 0.99258024, y: -0.04327539, z: -0.113521874, w: 0.004949396} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperArm + parentName: Right_Shoulder + position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746} + rotation: {x: 0.1267345, y: 0.033320885, z: 0.68096745, w: 0.720494} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerArm + parentName: Right_UpperArm + position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226} + rotation: {x: 0.020541133, y: 0.008317431, z: -0.020620903, w: 0.99954176} + scale: {x: 1, y: 1, z: 1} + - name: Right_Hand + parentName: Right_LowerArm + position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexProximal + parentName: Right_Hand + position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574} + rotation: {x: -0.00008773989, y: -0.7104814, z: -0.0063276542, w: 0.7036876} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexIntermediate + parentName: Right_IndexProximal + position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077} + rotation: {x: 0.03020306, y: -0.0000005662439, z: 0.000012195228, w: 0.99954385} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistal + parentName: Right_IndexIntermediate + position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629} + rotation: {x: 0.03948371, y: -0.000000052504312, z: -0.000005515076, w: 0.99922025} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistalEnd + parentName: Right_IndexDistal + position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131} + rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleProximal + parentName: Right_Hand + position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337} + rotation: {x: -0.0040856875, y: -0.6610817, z: -0.0040004994, w: 0.7502922} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleIntermediate + parentName: Right_MiddleProximal + position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695} + rotation: {x: 0.026226329, y: -0.0000007450579, z: -0.0000027469353, w: 0.9996561} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistal + parentName: Right_MiddleIntermediate + position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistalEnd + parentName: Right_MiddleDistal + position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyProximal + parentName: Right_Hand + position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566} + rotation: {x: -0.020058475, y: -0.55049545, z: -0.008249418, w: 0.83455646} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyIntermediate + parentName: Right_PinkyProximal + position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623} + rotation: {x: 0.02811499, y: -0.0000035166731, z: -0.00000016298141, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistal + parentName: Right_PinkyIntermediate + position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345} + rotation: {x: 0.03642403, y: -0.0000024211556, z: -0.000008829222, w: 0.9993365} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistalEnd + parentName: Right_PinkyDistal + position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108} + rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingProximal + parentName: Right_Hand + position: {x: -0.00952738, y: -0.08161427, z: 0.012242128} + rotation: {x: -0.017649079, y: -0.6027014, z: -0.0040535578, w: 0.7977614} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingIntermediate + parentName: Right_RingProximal + position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335} + rotation: {x: 0.023547903, y: 0.0000024139879, z: 0.0000069094813, w: 0.9997228} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistal + parentName: Right_RingIntermediate + position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098} + rotation: {x: 0.039100695, y: 0.00000009656897, z: -0.000004755179, w: 0.99923533} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistalEnd + parentName: Right_RingDistal + position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459} + rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbProximal + parentName: Right_Hand + position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695} + rotation: {x: 0.17960793, y: 0.8841713, z: 0.42399347, w: -0.07881395} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbIntermediate + parentName: Right_ThumbProximal + position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848} + rotation: {x: 0.12780538, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistal + parentName: Right_ThumbIntermediate + position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783} + rotation: {x: -0.04541878, y: -0.000003060937, z: 0.000004811603, w: 0.99896806} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistalEnd + parentName: Right_ThumbDistal + position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683} + rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 1 + foreArmTwist: 0 + upperLegTwist: 1 + legTwist: 0 + armStretch: 0 + legStretch: 0 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 1 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 597976b6b3e452c499a186f5f40cbf87, type: 3} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 3 + humanoidOversampling: 1 + avatarSetup: 2 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials.meta new file mode 100644 index 00000000..792b3747 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9fed0489c7358c140b1555bffe07c370 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Arms.mat b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Arms.mat new file mode 100644 index 00000000..862f5c8a --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Arms.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: M_Armature_Arms + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 104a45460231b8d4783e0bb2223be28c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: c6dc62700fa06274b9608a9fce8ed21b, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: b41d630ccc344454bb1f27587f9acd70, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Arms.mat.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Arms.mat.meta new file mode 100644 index 00000000..ad8b8cb6 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Arms.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e2e06a678caac24ca80e224cdaa3a39 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Body.mat b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Body.mat new file mode 100644 index 00000000..0fa831aa --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Body.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: M_Armature_Body + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 2a3daea46c599324e873f935ab08000a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 28d78c5517421f047b88352f3b18e8e7, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: e73adacd5e8f6fc45a491dbd62e71ead, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Body.mat.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Body.mat.meta new file mode 100644 index 00000000..92cd6a7f --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Body.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e33f634b6e438de49af0935eb85afe2a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Legs.mat b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Legs.mat new file mode 100644 index 00000000..3cbbb9fb --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Legs.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: M_Armature_Legs + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: b2c5d9c39850da946ae135dcb57faaea, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: c444e3d02d2fcff4d9fe5211d67652a0, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: 1c98c94efa7792645972ecf95e6f86c2, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 0.757 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Legs.mat.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Legs.mat.meta new file mode 100644 index 00000000..22a72413 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Materials/M_Armature_Legs.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40a6c63e9a7478f44bb51ab57bc33b1c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Models.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Models.meta new file mode 100644 index 00000000..d2833fb7 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9f1922dce2a2b2f4bb4a7c4af3900ca9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Models/Armature.fbx b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Models/Armature.fbx new file mode 100644 index 00000000..212cfc7d Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Models/Armature.fbx differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Models/Armature.fbx.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Models/Armature.fbx.meta new file mode 100644 index 00000000..124ebb26 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Models/Armature.fbx.meta @@ -0,0 +1,889 @@ +fileFormatVersion: 2 +guid: 597976b6b3e452c499a186f5f40cbf87 +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: + - first: + 74: 1827226128182048838 + second: Take 001 + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.05 + animationPositionError: 0.05 + animationScaleError: 0.25 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Foot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Toes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: UpperChest + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Shoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_UpperArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_LowerArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_Hand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Shoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Hand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_UpperLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_LowerLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Foot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_Toes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbProximal + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbIntermediate + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_ThumbDistal + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexProximal + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexIntermediate + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_IndexDistal + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleProximal + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleIntermediate + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_MiddleDistal + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingProximal + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingIntermediate + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_RingDistal + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyProximal + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyIntermediate + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Left_PinkyDistal + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbProximal + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbIntermediate + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_ThumbDistal + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexProximal + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexIntermediate + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_IndexDistal + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleProximal + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleIntermediate + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_MiddleDistal + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingProximal + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingIntermediate + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_RingDistal + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyProximal + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyIntermediate + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Right_PinkyDistal + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: Mannequin(Clone) + parentName: + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Geometry + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Mannequin_Mesh + parentName: Geometry + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Skeleton + parentName: Mannequin(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: Skeleton + position: {x: -0, y: 0.9810986, z: -0.01590455} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperLeg + parentName: Hips + position: {x: -0.08610317, y: -0.053458035, z: -0.011470641} + rotation: {x: 0.999839, y: -0.01775374, z: 0.000046300094, w: -0.0026074864} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerLeg + parentName: Left_UpperLeg + position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Left_Foot + parentName: Left_LowerLeg + position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Left_Toes + parentName: Left_Foot + position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506} + rotation: {x: -0.7071068, y: 8.7157646e-33, z: -8.7157646e-33, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Left_ToesEnd + parentName: Left_Toes + position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperLeg + parentName: Hips + position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475} + rotation: {x: 0.0026075041, y: 0.000046300407, z: 0.01775374, w: 0.999839} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerLeg + parentName: Right_UpperLeg + position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435} + rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + scale: {x: 1, y: 1, z: 1} + - name: Right_Foot + parentName: Right_LowerLeg + position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502} + rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + scale: {x: 1, y: 1, z: 1} + - name: Right_Toes + parentName: Right_Foot + position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807} + rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_ToesEnd + parentName: Right_Toes + position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898} + rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: -0, y: 0.058229383, z: 0.0012229546} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: Spine + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: UpperChest + parentName: Chest + position: {x: -0, y: 0.1034043, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_Shoulder + parentName: UpperChest + position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945} + rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024} + scale: {x: 1, y: 1, z: 1} + - name: Left_UpperArm + parentName: Left_Shoulder + position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17} + rotation: {x: 0.12673509, y: 0.03332071, z: 0.6809724, w: 0.72048914} + scale: {x: 1, y: 1, z: 1} + - name: Left_LowerArm + parentName: Left_UpperArm + position: {x: -2.8421706e-16, y: 0.28508067, z: 0} + rotation: {x: 0.020536564, y: 0.00832135, z: -0.020624585, w: 0.9995417} + scale: {x: 1, y: 1, z: 1} + - name: Left_Hand + parentName: Left_LowerArm + position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexProximal + parentName: Left_Hand + position: {x: 0.007815497, y: 0.0918443, z: 0.02657316} + rotation: {x: -0.0000789147, y: -0.7104809, z: -0.006305193, w: 0.70368826} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexIntermediate + parentName: Left_IndexProximal + position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16} + rotation: {x: 0.030199163, y: 0.00000005960465, z: -0.00000038841978, w: 0.9995439} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistal + parentName: Left_IndexIntermediate + position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16} + rotation: {x: 0.03945603, y: 0.000000016383924, z: 0.0000000332638, w: 0.9992213} + scale: {x: 1, y: 1, z: 1} + - name: Left_IndexDistalEnd + parentName: Left_IndexDistal + position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleProximal + parentName: Left_Hand + position: {x: 0.012847862, y: 0.08609763, z: 0.003435423} + rotation: {x: -0.004090429, y: -0.6610811, z: -0.004001968, w: 0.7502927} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleIntermediate + parentName: Left_MiddleProximal + position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17} + rotation: {x: 0.026233751, y: -0.000000029802322, z: -0.0000007133931, w: 0.99965584} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistal + parentName: Left_MiddleIntermediate + position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Left_MiddleDistalEnd + parentName: Left_MiddleDistal + position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyProximal + parentName: Left_Hand + position: {x: 0.004436847, y: 0.07288173, z: -0.029359013} + rotation: {x: -0.02007038, y: -0.5504896, z: -0.008246153, w: 0.83456} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyIntermediate + parentName: Left_PinkyProximal + position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16} + rotation: {x: 0.028115956, y: -0.00000008940699, z: -0.0000005941839, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistal + parentName: Left_PinkyIntermediate + position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17} + rotation: {x: 0.03643686, y: 0.00000014611446, z: 0.00000018696, w: 0.999336} + scale: {x: 1, y: 1, z: 1} + - name: Left_PinkyDistalEnd + parentName: Left_PinkyDistal + position: {x: -1.2434495e-16, y: 0.018519057, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingProximal + parentName: Left_Hand + position: {x: 0.009525569, y: 0.08161553, z: -0.012242405} + rotation: {x: -0.017654313, y: -0.6026994, z: -0.0040520057, w: 0.79776275} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingIntermediate + parentName: Left_RingProximal + position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16} + rotation: {x: 0.023556013, y: 0.00000026822087, z: 0.0000007636844, w: 0.99972254} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistal + parentName: Left_RingIntermediate + position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16} + rotation: {x: 0.03908592, y: -0.000000019744585, z: 0.00000042049942, w: 0.9992359} + scale: {x: 1, y: 1, z: 1} + - name: Left_RingDistalEnd + parentName: Left_RingDistal + position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbProximal + parentName: Left_Hand + position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476} + rotation: {x: 0.1796032, y: 0.8841741, z: 0.4239896, w: -0.07881452} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbIntermediate + parentName: Left_ThumbProximal + position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592} + rotation: {x: 0.1278054, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistal + parentName: Left_ThumbIntermediate + position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915} + rotation: {x: -0.045421924, y: -0.00000036741366, z: -0.0000008691409, w: 0.9989679} + scale: {x: 1, y: 1, z: 1} + - name: Left_ThumbDistalEnd + parentName: Left_ThumbDistal + position: {x: -4.2632555e-16, y: 0.029458016, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: UpperChest + position: {x: -0, y: 0.25104657, z: -0.015329581} + rotation: {x: 0.060688436, y: -0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -0, y: 0.12747401, z: 0} + rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: Head + position: {x: -0, y: -0.00763539, z: 0.012895278} + rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485} + scale: {x: 1, y: 1, z: 1} + - name: Left_Eye + parentName: Head + position: {x: -0.03330326, y: 0.034598116, z: 0.0867403} + rotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: Right_Eye + parentName: Head + position: {x: 0.033303294, y: 0.03459628, z: 0.0867403} + rotation: {x: 0.7071068, y: 4.3297806e-17, z: 0.7071068, w: -4.3297806e-17} + scale: {x: 1, y: 1, z: 1} + - name: Neck_Twist_A + parentName: Neck + position: {x: -0, y: 0.063737005, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_Shoulder + parentName: UpperChest + position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803} + rotation: {x: 0.99258024, y: -0.04327539, z: -0.113521874, w: 0.004949396} + scale: {x: 1, y: 1, z: 1} + - name: Right_UpperArm + parentName: Right_Shoulder + position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746} + rotation: {x: 0.1267345, y: 0.033320885, z: 0.68096745, w: 0.720494} + scale: {x: 1, y: 1, z: 1} + - name: Right_LowerArm + parentName: Right_UpperArm + position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226} + rotation: {x: 0.020541133, y: 0.008317431, z: -0.020620903, w: 0.99954176} + scale: {x: 1, y: 1, z: 1} + - name: Right_Hand + parentName: Right_LowerArm + position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368} + rotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexProximal + parentName: Right_Hand + position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574} + rotation: {x: -0.00008773989, y: -0.7104814, z: -0.0063276542, w: 0.7036876} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexIntermediate + parentName: Right_IndexProximal + position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077} + rotation: {x: 0.03020306, y: -0.0000005662439, z: 0.000012195228, w: 0.99954385} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistal + parentName: Right_IndexIntermediate + position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629} + rotation: {x: 0.03948371, y: -0.000000052504312, z: -0.000005515076, w: 0.99922025} + scale: {x: 1, y: 1, z: 1} + - name: Right_IndexDistalEnd + parentName: Right_IndexDistal + position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131} + rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleProximal + parentName: Right_Hand + position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337} + rotation: {x: -0.0040856875, y: -0.6610817, z: -0.0040004994, w: 0.7502922} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleIntermediate + parentName: Right_MiddleProximal + position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695} + rotation: {x: 0.026226329, y: -0.0000007450579, z: -0.0000027469353, w: 0.9996561} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistal + parentName: Right_MiddleIntermediate + position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916} + rotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + scale: {x: 1, y: 1, z: 1} + - name: Right_MiddleDistalEnd + parentName: Right_MiddleDistal + position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyProximal + parentName: Right_Hand + position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566} + rotation: {x: -0.020058475, y: -0.55049545, z: -0.008249418, w: 0.83455646} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyIntermediate + parentName: Right_PinkyProximal + position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623} + rotation: {x: 0.02811499, y: -0.0000035166731, z: -0.00000016298141, w: 0.9996047} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistal + parentName: Right_PinkyIntermediate + position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345} + rotation: {x: 0.03642403, y: -0.0000024211556, z: -0.000008829222, w: 0.9993365} + scale: {x: 1, y: 1, z: 1} + - name: Right_PinkyDistalEnd + parentName: Right_PinkyDistal + position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108} + rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingProximal + parentName: Right_Hand + position: {x: -0.00952738, y: -0.08161427, z: 0.012242128} + rotation: {x: -0.017649079, y: -0.6027014, z: -0.0040535578, w: 0.7977614} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingIntermediate + parentName: Right_RingProximal + position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335} + rotation: {x: 0.023547903, y: 0.0000024139879, z: 0.0000069094813, w: 0.9997228} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistal + parentName: Right_RingIntermediate + position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098} + rotation: {x: 0.039100695, y: 0.00000009656897, z: -0.000004755179, w: 0.99923533} + scale: {x: 1, y: 1, z: 1} + - name: Right_RingDistalEnd + parentName: Right_RingDistal + position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459} + rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbProximal + parentName: Right_Hand + position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695} + rotation: {x: 0.17960793, y: 0.8841713, z: 0.42399347, w: -0.07881395} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbIntermediate + parentName: Right_ThumbProximal + position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848} + rotation: {x: 0.12780538, y: -0, z: -0, w: 0.9917993} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistal + parentName: Right_ThumbIntermediate + position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783} + rotation: {x: -0.04541878, y: -0.000003060937, z: 0.000004811603, w: 0.99896806} + scale: {x: 1, y: 1, z: 1} + - name: Right_ThumbDistalEnd + parentName: Right_ThumbDistal + position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683} + rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 1 + foreArmTwist: 0 + upperLegTwist: 1 + legTwist: 0 + armStretch: 0 + legStretch: 0 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 1 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 0 + animationType: 3 + humanoidOversampling: 1 + avatarSetup: 1 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures.meta new file mode 100644 index 00000000..b970bb6d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b7be97fd73e314e4aa8896e86bd51e18 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_AlbedoTransparency.png b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_AlbedoTransparency.png new file mode 100644 index 00000000..2283e9d5 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_AlbedoTransparency.png differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_AlbedoTransparency.png.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_AlbedoTransparency.png.meta new file mode 100644 index 00000000..ba9d6dfd --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_AlbedoTransparency.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: c6dc62700fa06274b9608a9fce8ed21b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_MetallicSmoothness.png b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_MetallicSmoothness.png new file mode 100644 index 00000000..25032a9d Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_MetallicSmoothness.png differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_MetallicSmoothness.png.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_MetallicSmoothness.png.meta new file mode 100644 index 00000000..8c48bd34 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_MetallicSmoothness.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: b41d630ccc344454bb1f27587f9acd70 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_Normal.png b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_Normal.png new file mode 100644 index 00000000..8b44fc4b Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_Normal.png differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_Normal.png.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_Normal.png.meta new file mode 100644 index 00000000..6353e568 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Arms_Normal.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 104a45460231b8d4783e0bb2223be28c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 1 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_AlbedoTransparency.png b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_AlbedoTransparency.png new file mode 100644 index 00000000..d276430f Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_AlbedoTransparency.png differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_AlbedoTransparency.png.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_AlbedoTransparency.png.meta new file mode 100644 index 00000000..4a126653 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_AlbedoTransparency.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 28d78c5517421f047b88352f3b18e8e7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_MetallicSmoothness.png b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_MetallicSmoothness.png new file mode 100644 index 00000000..9167e2f9 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_MetallicSmoothness.png differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_MetallicSmoothness.png.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_MetallicSmoothness.png.meta new file mode 100644 index 00000000..d7044d10 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_MetallicSmoothness.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: e73adacd5e8f6fc45a491dbd62e71ead +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_Normal.png b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_Normal.png new file mode 100644 index 00000000..037c6990 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_Normal.png differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_Normal.png.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_Normal.png.meta new file mode 100644 index 00000000..e1ab23a9 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Body_Normal.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 2a3daea46c599324e873f935ab08000a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 1 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_AlbedoTransparency.png b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_AlbedoTransparency.png new file mode 100644 index 00000000..46344844 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_AlbedoTransparency.png differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_AlbedoTransparency.png.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_AlbedoTransparency.png.meta new file mode 100644 index 00000000..57f70b33 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_AlbedoTransparency.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: c444e3d02d2fcff4d9fe5211d67652a0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_MetallicSmoothness.png b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_MetallicSmoothness.png new file mode 100644 index 00000000..01ae5d85 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_MetallicSmoothness.png differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_MetallicSmoothness.png.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_MetallicSmoothness.png.meta new file mode 100644 index 00000000..73389aca --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_MetallicSmoothness.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 1c98c94efa7792645972ecf95e6f86c2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_Normal.png b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_Normal.png new file mode 100644 index 00000000..baf96648 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_Normal.png differ diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_Normal.png.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_Normal.png.meta new file mode 100644 index 00000000..e4cddacf --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Modules/Character/Textures/Armature_Legs_Normal.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: b2c5d9c39850da946ae135dcb57faaea +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 1 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources.meta new file mode 100644 index 00000000..8d71c95f --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 25e8a2bd75f5cea438a5366b828e0d33 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs.meta new file mode 100644 index 00000000..242cde3c --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ccd7f089c449ba04d85f64ebeac3cfe8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Application.prefab b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Application.prefab new file mode 100644 index 00000000..461f247d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Application.prefab @@ -0,0 +1,2811 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &162623273 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 162623276} + - component: {fileID: 162623275} + - component: {fileID: 162623274} + - component: {fileID: 162623277} + m_Layer: 0 + m_Name: XR Origin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &162623276 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162623273} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 11.67} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 915312238} + m_Father: {fileID: 6691438890776943788} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &162623275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162623273} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Camera: {fileID: 1907124830} + m_OriginBaseGameObject: {fileID: 162623273} + m_CameraFloorOffsetObject: {fileID: 915312237} + m_RequestedTrackingOriginMode: 0 + m_CameraYOffset: 1.1176 +--- !u!114 &162623274 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162623273} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 017c5e3933235514c9520e1dace2a4b2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ActionAssets: + - {fileID: -944628639613478452, guid: c348712bda248c246b8c49b3db54643f, type: 3} +--- !u!114 &162623277 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162623273} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fd9f82377aeb9704193bd866d119aaa5, type: 3} + m_Name: + m_EditorClassIdentifier: + screenFade: 0 + eyeTracking: 0 + trackingMode: 0 + faceTracking: 0 + lipsyncTracking: 0 + lateLatching: 0 + latelatchingDebug: 0 + bodyTracking: 0 + foveationLevel: -1 + openMRC: 0 + foregroundLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + backLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + backgroundCamObj: {fileID: 0} + foregroundCamObj: {fileID: 0} + mrcBackgroundRT: {fileID: 0} + mrcForegroundRT: {fileID: 0} + useRecommendedAntiAliasingLevel: 1 +--- !u!1 &553282659 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 553282660} + - component: {fileID: 7233021183560949412} + m_Layer: 0 + m_Name: LocalPlayerState + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &553282660 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 553282659} + 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: 6691438890776943788} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7233021183560949412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 553282659} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: be4e373e1bcf36e41a7eb8a2ccefdc5b, type: 3} + m_Name: + m_EditorClassIdentifier: + Color: {r: 0, g: 0, b: 0, a: 0} + Username: +--- !u!1 &607149441 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 607149442} + - component: {fileID: 607149446} + - component: {fileID: 607149445} + - component: {fileID: 607149444} + - component: {fileID: 607149443} + m_Layer: 0 + m_Name: LeftHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &607149442 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607149441} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_Children: [] + m_Father: {fileID: 915312238} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &607149446 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607149441} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &607149445 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607149441} + 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: 10303, guid: 0000000000000000f000000000000000, type: 0} + 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!136 &607149444 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607149441} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &607149443 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607149441} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a2a9c34df4095f47b9ca8f975175f5b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Device: 1 + m_PoseSource: 4 + m_PoseProviderComponent: {fileID: 0} + m_TrackingType: 0 + m_UpdateType: 0 + m_UseRelativeTransform: 0 +--- !u!1 &736865442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 736865443} + - component: {fileID: 736865445} + - component: {fileID: 736865444} + m_Layer: 0 + m_Name: MatchedInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &736865443 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 736865442} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.0000031292} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6691438890034753970} + 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: -100, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &736865445 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 736865442} + m_CullTransparentMesh: 1 +--- !u!114 &736865444 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 736865442} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: asdfasdfsaf + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 2.5 + m_fontSizeBase: 2.5 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 1024 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 14.353836} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &915312237 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 915312238} + - component: {fileID: 915312239} + m_Layer: 0 + m_Name: Camera Offset + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &915312238 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 915312237} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: -4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1907124827} + - {fileID: 607149442} + - {fileID: 2041826241} + - {fileID: 1964154072} + - {fileID: 1833726076} + m_Father: {fileID: 162623276} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &915312239 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 915312237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87179611c159e6643be218eba35e0966, type: 3} + m_Name: + m_EditorClassIdentifier: + Offset: {x: 0, y: 2, z: -4} + SmoothSpeed: 0.1 +--- !u!1 &1008802421 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1008802422} + - component: {fileID: 1008802424} + - component: {fileID: 1008802423} + m_Layer: 0 + m_Name: ButtonText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1008802422 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1008802421} + 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: 2131672837} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.837} + m_AnchoredPosition: {x: 0, y: 1.1213999} + m_SizeDelta: {x: -2.382, y: 2.2419} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1008802424 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1008802421} + m_CullTransparentMesh: 1 +--- !u!114 &1008802423 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1008802421} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: Start + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 3.9 + m_fontSizeBase: 3.9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1259580255 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1259580257} + - component: {fileID: 1259580256} + m_Layer: 0 + m_Name: XR Interaction Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1259580257 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1259580255} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 11.67} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6691438890776943788} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1259580256 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1259580255} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] +--- !u!1 &1833726075 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1833726076} + - component: {fileID: 1833726081} + - component: {fileID: 1833726080} + - component: {fileID: 1833726079} + - component: {fileID: 1833726078} + - component: {fileID: 1833726077} + m_Layer: 0 + m_Name: RightControler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1833726076 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833726075} + 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: 915312238} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1833726081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833726075} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UpdateTrackingType: 0 + m_EnableInputTracking: 1 + m_EnableInputActions: 1 + m_ModelPrefab: {fileID: 2281696399307846454, guid: 94f7925a0585b274fbc5fe6b8f9b1f4e, type: 3} + m_ModelParent: {fileID: 0} + m_Model: {fileID: 0} + m_AnimateModel: 0 + m_ModelSelectTransition: + m_ModelDeSelectTransition: + m_PositionAction: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: + m_Id: 93ead265-4bff-4199-8ddf-33c028dcfee9 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -3326005586356538449, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotationAction: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: + m_Id: cd9a8368-32d3-4e58-86a0-6fe78d199369 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 5101698808175986029, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_TrackingStateAction: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: + m_Id: 7964ebc4-45e1-4431-a17a-7f2206e38661 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -1277054153949319361, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectAction: + m_UseReference: 1 + m_Action: + m_Name: Select + m_Type: 0 + m_ExpectedControlType: + m_Id: 3207346a-8b2f-4b24-b45a-90ea1cdef7fb + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 187161793506945269, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectActionValue: + m_UseReference: 1 + m_Action: + m_Name: Select Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: dcf177a1-4c6d-42a7-b095-5f68848dadf1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -1758520528963094988, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateAction: + m_UseReference: 1 + m_Action: + m_Name: Activate + m_Type: 0 + m_ExpectedControlType: + m_Id: ed3be3cd-637e-48d6-ae4b-dd97305eaa40 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 83097790271614945, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateActionValue: + m_UseReference: 1 + m_Action: + m_Name: Activate Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: af4d694a-0159-4acb-bf36-7b78c35a10d5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 7904272356298805229, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressAction: + m_UseReference: 1 + m_Action: + m_Name: UI Press + m_Type: 0 + m_ExpectedControlType: + m_Id: 55ce5c5d-aad8-4ebf-9f21-899ff595a062 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 3279264004350380116, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressActionValue: + m_UseReference: 1 + m_Action: + m_Name: UI Press Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: cdab09f7-ec37-4eee-b72c-06339cc37c8b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5908353012961274365, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_HapticDeviceAction: + m_UseReference: 1 + m_Action: + m_Name: Haptic Device + m_Type: 0 + m_ExpectedControlType: + m_Id: 60f81e0e-3fab-4e26-90b6-a5ab762e2bb1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -8222252007134549311, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Rotate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: aca8fec0-a925-428d-a6b7-25cfbd478258 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5913262927076077117, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_DirectionalAnchorRotationAction: + m_UseReference: 0 + m_Action: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} + m_TranslateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Translate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: 161874b5-2545-4bb2-bea4-eeddeb4fabf6 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 875253871413052681, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ButtonPressPoint: 0.5 +--- !u!114 &1833726080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833726075} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 1259580256} + m_InteractionLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_InteractionLayers: + m_Bits: 4294967295 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_OnHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_OnHoverExited: + m_PersistentCalls: + m_Calls: [] + m_OnSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_OnSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectActionTrigger: 0 + m_HideControllerOnSelect: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 1 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 1 + m_LineType: 0 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 30 + m_RayOriginTransform: {fileID: 0} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 16 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 20 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 + m_HitClosestOnly: 0 + m_HoverToSelect: 0 + m_HoverTimeToSelect: 0.5 + m_EnableUIInteraction: 1 + m_AllowAnchorControl: 1 + m_UseForceGrab: 1 + m_RotateSpeed: 180 + m_TranslateSpeed: 1 + m_AnchorRotateReferenceFrame: {fileID: 0} + m_AnchorRotationMode: 0 +--- !u!120 &1833726079 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833726075} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0} + 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_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 4 + numCapVertices: 4 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &1833726078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833726075} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineWidth: 0.02 + m_OverrideInteractorLineLength: 1 + m_LineLength: 10 + m_WidthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ValidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_InvalidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 0, a: 1} + key1: {r: 1, g: 0, b: 0, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_BlockedColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_TreatSelectionAsValidState: 0 + m_SmoothMovement: 0 + m_FollowTightness: 10 + m_SnapThresholdDistance: 10 + m_Reticle: {fileID: 0} + m_BlockedReticle: {fileID: 0} + m_StopLineAtFirstRaycastHit: 1 + m_StopLineAtSelection: 0 +--- !u!210 &1833726077 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833726075} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 5 +--- !u!1 &1907124826 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1907124827} + - component: {fileID: 1907124830} + - component: {fileID: 1907124829} + - component: {fileID: 1907124828} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1907124827 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1907124826} + 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: 915312238} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1907124830 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1907124826} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.054957286, g: 0.10378471, b: 0.1792453, 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.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + 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!81 &1907124829 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1907124826} + m_Enabled: 1 +--- !u!114 &1907124828 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1907124826} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_PositionInput: + m_UseReference: 0 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: Vector3 + m_Id: 5c33571a-d6bc-410e-b6ec-1917c5453256 + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: d6b53e13-f3da-4f0d-a4e8-1993664e062a + m_Path: /centerEyePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + - m_Name: + m_Id: e39cb1b7-6839-448a-99c7-da921303e0bb + m_Path: /devicePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: 0} + m_RotationInput: + m_UseReference: 0 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: Quaternion + m_Id: a7047426-986c-4ed4-84c1-d556dcc0748b + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: 543c4424-11c7-4df9-824e-27e2edb02709 + m_Path: /centerEyeRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + - m_Name: + m_Id: 8921d6fe-89a1-422f-9e4b-c657581b4eb7 + m_Path: /deviceRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: 0} + m_PositionAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_RotationAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_HasMigratedActions: 1 +--- !u!1 &1964154071 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1964154072} + - component: {fileID: 1964154077} + - component: {fileID: 1964154076} + - component: {fileID: 1964154075} + - component: {fileID: 1964154074} + - component: {fileID: 1964154073} + m_Layer: 0 + m_Name: LeftControler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1964154072 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964154071} + 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: 915312238} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1964154077 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964154071} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UpdateTrackingType: 0 + m_EnableInputTracking: 1 + m_EnableInputActions: 1 + m_ModelPrefab: {fileID: 2673240740586844490, guid: d792b21ba2f3e6e4ba026384d6d6536f, type: 3} + m_ModelParent: {fileID: 0} + m_Model: {fileID: 0} + m_AnimateModel: 0 + m_ModelSelectTransition: + m_ModelDeSelectTransition: + m_PositionAction: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: + m_Id: 26d2aaa4-6518-4d33-8fae-419043a723d4 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -2024308242397127297, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotationAction: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: + m_Id: d7a15530-737b-416a-9d5d-a8b51ba6c682 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 8248158260566104461, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_TrackingStateAction: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: + m_Id: e12d3305-8866-42f0-a9b8-2cd7f4310c31 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 684395432459739428, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectAction: + m_UseReference: 1 + m_Action: + m_Name: Select + m_Type: 0 + m_ExpectedControlType: + m_Id: 05483079-4b7c-4369-9176-fb8514428e98 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -6131295136447488360, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SelectActionValue: + m_UseReference: 1 + m_Action: + m_Name: Select Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: 8e42f062-fb45-44df-9825-35e1dfc18834 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 6558622148059887818, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateAction: + m_UseReference: 1 + m_Action: + m_Name: Activate + m_Type: 0 + m_ExpectedControlType: + m_Id: 38e5c09b-96d2-40e4-ae8e-3bfb9eb16727 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5982496924579745919, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ActivateActionValue: + m_UseReference: 1 + m_Action: + m_Name: Activate Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: ff2b1032-d7ae-4e1a-8e8a-a5556d5f8db5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -4289430672226363583, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressAction: + m_UseReference: 1 + m_Action: + m_Name: UI Press + m_Type: 0 + m_ExpectedControlType: + m_Id: 347fe4ac-83bc-44f7-a0d2-2793a5775161 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -6395602842196007441, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_UIPressActionValue: + m_UseReference: 1 + m_Action: + m_Name: UI Press Action Value + m_Type: 0 + m_ExpectedControlType: + m_Id: 8b29ebc3-3830-4622-8c66-56f3a9b98d73 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 71106601250685021, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_HapticDeviceAction: + m_UseReference: 1 + m_Action: + m_Name: Haptic Device + m_Type: 0 + m_ExpectedControlType: + m_Id: 35cfed17-bcaf-4ff9-9fe0-fa1727b7619b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -8785819595477538065, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RotateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Rotate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: 4fcd4b62-1769-4cc4-aaee-aea2fc40d24f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -7363382999065477798, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_DirectionalAnchorRotationAction: + m_UseReference: 0 + m_Action: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} + m_TranslateAnchorAction: + m_UseReference: 1 + m_Action: + m_Name: Translate Anchor + m_Type: 0 + m_ExpectedControlType: + m_Id: 7bfe4461-8d15-4a61-9fa6-28ce950c9996 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 7779212132400271959, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ButtonPressPoint: 0.5 +--- !u!114 &1964154076 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964154071} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 1259580256} + m_InteractionLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_InteractionLayers: + m_Bits: 4294967295 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_OnHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_OnHoverExited: + m_PersistentCalls: + m_Calls: [] + m_OnSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_OnSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectActionTrigger: 0 + m_HideControllerOnSelect: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 1 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 1 + m_LineType: 0 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 30 + m_RayOriginTransform: {fileID: 0} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 16 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 20 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 + m_HitClosestOnly: 0 + m_HoverToSelect: 0 + m_HoverTimeToSelect: 0.5 + m_EnableUIInteraction: 1 + m_AllowAnchorControl: 1 + m_UseForceGrab: 1 + m_RotateSpeed: 180 + m_TranslateSpeed: 1 + m_AnchorRotateReferenceFrame: {fileID: 0} + m_AnchorRotationMode: 0 +--- !u!120 &1964154075 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964154071} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0} + 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_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 4 + numCapVertices: 4 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &1964154074 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964154071} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineWidth: 0.02 + m_OverrideInteractorLineLength: 1 + m_LineLength: 10 + m_WidthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ValidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_InvalidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 0, a: 1} + key1: {r: 1, g: 0, b: 0, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_BlockedColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_TreatSelectionAsValidState: 0 + m_SmoothMovement: 0 + m_FollowTightness: 10 + m_SnapThresholdDistance: 10 + m_Reticle: {fileID: 0} + m_BlockedReticle: {fileID: 0} + m_StopLineAtFirstRaycastHit: 1 + m_StopLineAtSelection: 0 +--- !u!210 &1964154073 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964154071} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 5 +--- !u!1 &2041826240 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2041826241} + - component: {fileID: 2041826245} + - component: {fileID: 2041826244} + - component: {fileID: 2041826243} + - component: {fileID: 2041826242} + m_Layer: 0 + m_Name: RightHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2041826241 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2041826240} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_Children: [] + m_Father: {fileID: 915312238} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2041826245 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2041826240} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2041826244 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2041826240} + 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: 10303, guid: 0000000000000000f000000000000000, type: 0} + 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!136 &2041826243 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2041826240} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &2041826242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2041826240} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a2a9c34df4095f47b9ca8f975175f5b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Device: 1 + m_PoseSource: 5 + m_PoseProviderComponent: {fileID: 0} + m_TrackingType: 0 + m_UpdateType: 0 + m_UseRelativeTransform: 0 +--- !u!1 &2131672836 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2131672837} + - component: {fileID: 2131672840} + - component: {fileID: 2131672839} + - component: {fileID: 2131672838} + m_Layer: 0 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2131672837 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2131672836} + 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: 1008802422} + m_Father: {fileID: 6691438890034753970} + 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: 51.32, y: 6.547} + m_SizeDelta: {x: 41.624, y: 13.092} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2131672840 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2131672836} + m_CullTransparentMesh: 1 +--- !u!114 &2131672839 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2131672836} + 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: 5 +--- !u!114 &2131672838 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2131672836} + 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: 0.16981131, g: 0.16420433, b: 0.16420433, a: 0.92156863} + m_HighlightedColor: {r: 0.07697892, g: 0.21698111, b: 0.06243324, a: 1} + m_PressedColor: {r: 0.754717, g: 0.25496852, b: 0.04034645, a: 1} + m_SelectedColor: {r: 0.06666667, g: 0.36862746, b: 0.03529412, 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: 2131672839} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 926134321} + m_TargetAssemblyTypeName: UIHandler, Assembly-CSharp + m_MethodName: HandleButtonClick + 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 &6691438889502969061 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6691438889502969065} + - component: {fileID: 6691438889502969066} + - component: {fileID: 6691438889502969060} + m_Layer: 0 + m_Name: ConsoleLog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6691438889502969065 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438889502969061} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.0000031292} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6691438890034753970} + 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 &6691438889502969066 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438889502969061} + m_CullTransparentMesh: 1 +--- !u!114 &6691438889502969060 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438889502969061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: asdfasdfsaf + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 2.5 + m_fontSizeBase: 2.5 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 1024 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 14.353836} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6691438890034753971 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6691438890034753970} + - component: {fileID: 6691438890034753974} + - component: {fileID: 6691438890034753975} + - component: {fileID: 6691438890034753968} + - component: {fileID: 6691438890034753969} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6691438890034753970 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890034753971} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 1} + m_Children: + - {fileID: 6691438889502969065} + - {fileID: 2131672837} + - {fileID: 736865443} + m_Father: {fileID: 6691438890974912409} + 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.00112, y: 0.00282} + m_SizeDelta: {x: 100.22314, y: 98.56335} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &6691438890034753974 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890034753971} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + 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!114 &6691438890034753975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890034753971} + 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: 10 + m_PresetInfoIsWorld: 1 +--- !u!114 &6691438890034753968 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890034753971} + 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 &6691438890034753969 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890034753971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7951c64acb0fa62458bf30a60089fe2d, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 0 + m_CheckFor2DOcclusion: 0 + m_CheckFor3DOcclusion: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 +--- !u!1 &6691438890673311621 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6691438890673311620} + - component: {fileID: 6691438890673311626} + - component: {fileID: 6691438890673311627} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6691438890673311620 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890673311621} + 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: 6691438890974912409} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6691438890673311626 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890673311621} + 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!114 &6691438890673311627 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890673311621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClickSpeed: 0.3 + m_MoveDeadzone: 0.6 + m_RepeatDelay: 0.5 + m_RepeatRate: 0.1 + m_TrackedDeviceDragThresholdMultiplier: 1.4 + m_ActiveInputMode: 1 + m_MaxTrackedDeviceRaycastDistance: 1000 + m_EnableXRInput: 1 + m_EnableMouseInput: 1 + m_EnableTouchInput: 1 + m_PointAction: {fileID: 2869410428622933342, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_LeftClickAction: {fileID: 1855836014308820768, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_MiddleClickAction: {fileID: -6289560987278519447, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_RightClickAction: {fileID: -2562941478296515153, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_ScrollWheelAction: {fileID: 5825226938762934180, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_NavigateAction: {fileID: -7967456002180160679, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_SubmitAction: {fileID: 3994978066732806534, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_CancelAction: {fileID: 2387711382375263438, guid: c348712bda248c246b8c49b3db54643f, type: 3} + m_EnableBuiltinActionsAsFallback: 1 + m_EnableGamepadInput: 1 + m_EnableJoystickInput: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel +--- !u!1 &6691438890776943791 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6691438890776943788} + - component: {fileID: 926134324} + - component: {fileID: 1699911265} + - component: {fileID: 926134322} + - component: {fileID: 6691438890776943789} + - component: {fileID: 926134321} + - component: {fileID: 1699911264} + - component: {fileID: 4659063662912108431} + m_Layer: 0 + m_Name: Application + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6691438890776943788 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890776943791} + 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: 6691438890974912409} + - {fileID: 553282660} + - {fileID: 1259580257} + - {fileID: 162623276} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &926134324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890776943791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 1699911265} + PlayerPrefab: {fileID: 0} + NetworkPrefabs: + - Override: 0 + Prefab: {fileID: 1599288629967111268, guid: 68e108c869573c241a2ff37d9cf22837, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 0 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + SpawnTimeout: 1 + EnableNetworkLogs: 1 +--- !u!114 &1699911265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890776943791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: efe5516b9c6135142a7e63556db66891, type: 3} + m_Name: + m_EditorClassIdentifier: + TransportLogLevel: 0 + WorkMode: 0 + SimpleModeInfo: + roomName: + password: +--- !u!114 &926134322 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890776943791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7130cb81802d6e45835a346f31e2600, type: 3} + m_Name: + m_EditorClassIdentifier: + ServerCreatePlayerPrefabPath: +--- !u!114 &6691438890776943789 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890776943791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 81fad7056184de44e8092a62c25752a9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &926134321 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890776943791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cff991b4fc574ba45bdd67a245296db5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1699911264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890776943791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f48b0ad61cd4994896da0986a751340, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &4659063662912108431 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890776943791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 865ade5e8e233a54d84be0c4f32f1550, type: 3} + m_Name: + m_EditorClassIdentifier: + DebuggingPanel: {fileID: 0} +--- !u!1 &6691438890974912406 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6691438890974912409} + - component: {fileID: 6691438890974912410} + - component: {fileID: 6691438890974912411} + - component: {fileID: 6691438890974912404} + - component: {fileID: 6691438890974912405} + m_Layer: 0 + m_Name: LogPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6691438890974912409 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890974912406} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.2093, y: 4.9904, z: 20} + m_LocalScale: {x: 12.419114, y: 9.980853, z: 0.1} + m_Children: + - {fileID: 6691438890034753970} + - {fileID: 6691438890673311620} + m_Father: {fileID: 6691438890776943788} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6691438890974912410 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890974912406} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6691438890974912411 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890974912406} + m_Enabled: 0 + m_CastShadows: 0 + m_ReceiveShadows: 0 + 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: 10303, guid: 0000000000000000f000000000000000, type: 0} + 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!65 &6691438890974912404 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890974912406} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &6691438890974912405 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6691438890974912406} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fda1c6983651e5242956bf55f410adde, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Application.prefab.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Application.prefab.meta new file mode 100644 index 00000000..dd326e57 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Application.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a3826b127d4cc834c8839b168f36c47c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Player.prefab b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Player.prefab new file mode 100644 index 00000000..352b7bea --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Player.prefab @@ -0,0 +1,2938 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &76468672943380513 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1062876408709803709} + m_Layer: 0 + m_Name: Chest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1062876408709803709 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 76468672943380513} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.1034043, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9104809705314273201} + m_Father: {fileID: 5261834649404514297} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &98750789798901204 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1757547786725583219} + m_Layer: 0 + m_Name: Left_MiddleProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1757547786725583219 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 98750789798901204} + m_LocalRotation: {x: 0.09593409, y: -0.6426922, z: 0.21124882, w: 0.73014885} + m_LocalPosition: {x: 0.012847862, y: 0.08609763, z: 0.003435423} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 522493189634858149} + m_Father: {fileID: 6053053201436335062} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &347459792225773625 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2053235968611070756} + m_Layer: 0 + m_Name: Right_PinkyProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2053235968611070756 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 347459792225773625} + m_LocalRotation: {x: 0.0066045397, y: -0.5050901, z: 0.37113747, w: 0.77916455} + m_LocalPosition: {x: -0.0044381507, y: -0.07288141, z: 0.029358566} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6027131479180507195} + m_Father: {fileID: 6686232878256220678} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &443994095726717835 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3773729066802646704} + m_Layer: 0 + m_Name: Right_MiddleDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3773729066802646704 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 443994095726717835} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1189242802241364244} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &728628209287039367 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 522493189634858149} + m_Layer: 0 + m_Name: Left_MiddleIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &522493189634858149 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 728628209287039367} + m_LocalRotation: {x: 0.3409832, y: -0, z: -0, w: 0.94006944} + m_LocalPosition: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1762433776710079977} + m_Father: {fileID: 1757547786725583219} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1099998643440032657 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1262667820407712849} + m_Layer: 0 + m_Name: Right_ThumbIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1262667820407712849 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099998643440032657} + m_LocalRotation: {x: 0.12780538, y: -0, z: -0, w: 0.9917993} + m_LocalPosition: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4118738314565124299} + m_Father: {fileID: 3089204320418158555} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1261656172873877017 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5107406741809878127} + m_Layer: 0 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5107406741809878127 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1261656172873877017} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.9810986, z: -0.01590455} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5446055538663914621} + - {fileID: 3910260677174180530} + - {fileID: 5261834649404514297} + m_Father: {fileID: 2933003944999231559} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1270161089126808932 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3910260677174180530} + m_Layer: 0 + m_Name: Right_UpperLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3910260677174180530 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1270161089126808932} + m_LocalRotation: {x: 0.0026075041, y: 0.000046300407, z: 0.01775374, w: 0.999839} + m_LocalPosition: {x: 0.086103186, y: -0.053458147, z: -0.0114706475} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3224579133659466384} + m_Father: {fileID: 5107406741809878127} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1270763276388569306 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1786337735878820749} + m_Layer: 0 + m_Name: Right_Foot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1786337735878820749 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1270763276388569306} + m_LocalRotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + m_LocalPosition: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 827090398748392440} + m_Father: {fileID: 3224579133659466384} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1565186815096942648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6277512874380028866} + m_Layer: 0 + m_Name: Right_ThumbDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6277512874380028866 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1565186815096942648} + m_LocalRotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4118738314565124299} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1599288629967111268 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2124010335323201246} + - component: {fileID: 5447716112945857700} + - component: {fileID: 7201686783073200431} + - component: {fileID: -8974180167308970091} + - component: {fileID: -800655191947982011} + - component: {fileID: 3656432421240593708} + - component: {fileID: 1599288629967111278} + - component: {fileID: 1599288629967111272} + - component: {fileID: 1676107263} + - component: {fileID: 3489425200523137537} + - component: {fileID: 1958991436557891974} + - component: {fileID: 2310570625586604485} + m_Layer: 8 + m_Name: Player + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2124010335323201246 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_LocalRotation: {x: -0, y: -0.059889756, z: 0, w: -0.99820507} + m_LocalPosition: {x: 0.0034836822, y: 0, z: 2.998934} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6397305807401598264} + - {fileID: 4931444906570684940} + - {fileID: 2933003944999231559} + - {fileID: 3133874598237595125} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 366.867, z: 0} +--- !u!95 &5447716112945857700 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 597976b6b3e452c499a186f5f40cbf87, type: 3} + m_Controller: {fileID: 9100000, guid: d2a053c389952cb45b8dcbe5fb58c888, type: 2} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!136 &7201686783073200431 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 1, z: 0} +--- !u!114 &-8974180167308970091 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &-800655191947982011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8d0727d5ae3244e3b569694d3912374, type: 3} + m_Name: + m_EditorClassIdentifier: + TransitionStateInfoList: [] + m_Animator: {fileID: 5447716112945857700} +--- !u!114 &3656432421240593708 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 291a27c3dcf217f46afc08f0d82b43fb, type: 3} + m_Name: + m_EditorClassIdentifier: + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 +--- !u!143 &1599288629967111278 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 1.8 + m_Radius: 0.28 + m_SlopeLimit: 45 + m_StepOffset: 0.25 + m_SkinWidth: 0.02 + m_MinMoveDistance: 0 + m_Center: {x: 0, y: 0.93, z: 0} +--- !u!114 &1599288629967111272 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Actions: {fileID: -944628639613478452, guid: 5ddaa6e6135d699449c676d9915924ad, type: 3} + m_NotificationBehavior: 0 + m_UIInputModule: {fileID: 0} + m_DeviceLostEvent: + m_PersistentCalls: + m_Calls: [] + m_DeviceRegainedEvent: + m_PersistentCalls: + m_Calls: [] + m_ControlsChangedEvent: + m_PersistentCalls: + m_Calls: [] + m_ActionEvents: + - m_PersistentCalls: + m_Calls: [] + m_ActionId: 6bc1aaf4-b110-4ff7-891e-5b9fe6f32c4d + m_ActionName: Player/Move[/Keyboard/w,/Keyboard/s,/Keyboard/a,/Keyboard/d,/Keyboard/upArrow,/Keyboard/downArrow,/Keyboard/leftArrow,/Keyboard/rightArrow,/XInputControllerWindows/leftStick] + - m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: + m_MethodName: InputJump + m_Mode: 0 + 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 + m_ActionId: 8c4abdf8-4099-493a-aa1a-129acec7c3df + m_ActionName: Player/Jump[/Keyboard/space,/XInputControllerWindows/buttonSouth] + - m_PersistentCalls: + m_Calls: [] + m_ActionId: 3c99cc3e-40c8-44b5-a106-819fdfc646c4 + m_ActionName: Player/Orbit + - m_PersistentCalls: + m_Calls: [] + m_ActionId: 025b40dc-c838-4799-b4de-5ee49d705a39 + m_ActionName: Player/ChangeColor[/Keyboard/c] + m_NeverAutoSwitchControlSchemes: 0 + m_DefaultControlScheme: + m_DefaultActionMap: Player + m_SplitScreenIndex: -1 + m_Camera: {fileID: 0} +--- !u!114 &1676107263 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b4715a52ea00714e8f61f754c00b3c4, type: 3} + m_Name: + m_EditorClassIdentifier: + MoveInput: {x: 0, y: 0} + OrbitInput: {x: 0, y: 0} + JumpInput: 0 +--- !u!114 &3489425200523137537 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c26a557c6e1fcd541a3ae9c888ceb411, type: 3} + m_Name: + m_EditorClassIdentifier: + MoveSpeed: 5.33 + RotationSmoothTime: 0.12 + SpeedChangeRate: 10 + GroundLayers: + serializedVersion: 2 + m_Bits: 1 +--- !u!114 &1958991436557891974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ac080fb1c241a14abff668d6020ddf3, type: 3} + m_Name: + m_EditorClassIdentifier: + PlayerMeshRenderer: {fileID: 7408759211263970704} + UsernameCanvas: {fileID: 3133874598237595125} +--- !u!114 &2310570625586604485 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599288629967111268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ce914d3f7f1f3b4479d0978cda710d06, type: 3} + m_Name: + m_EditorClassIdentifier: + pushLayers: + serializedVersion: 2 + m_Bits: 0 + canPush: 0 + strength: 1.1 +--- !u!1 &1674741982337949367 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5261834649404514297} + m_Layer: 0 + m_Name: Spine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5261834649404514297 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1674741982337949367} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.058229383, z: 0.0012229546} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1062876408709803709} + m_Father: {fileID: 5107406741809878127} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1758181298841488679 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3089204320418158555} + m_Layer: 0 + m_Name: Right_ThumbProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3089204320418158555 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1758181298841488679} + m_LocalRotation: {x: -0.22855467, y: 0.9196341, z: 0.3181213, w: 0.028891658} + m_LocalPosition: {x: 0.00080341793, y: -0.028816395, z: -0.023514695} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1262667820407712849} + m_Father: {fileID: 6686232878256220678} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1877834785957790317 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6721086291248870707} + m_Layer: 0 + m_Name: Left_UpperArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6721086291248870707 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1877834785957790317} + m_LocalRotation: {x: 0.17870995, y: 0.027966414, z: 0.90344393, w: 0.38867685} + m_LocalPosition: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 926245842159057168} + m_Father: {fileID: 4767831773250079449} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1964484605984732704 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 779023380748359179} + m_Layer: 0 + m_Name: Left_PinkyIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &779023380748359179 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964484605984732704} + m_LocalRotation: {x: 0.29918617, y: -0, z: -0, w: 0.9541948} + m_LocalPosition: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7173763147004306177} + m_Father: {fileID: 7587339503393063290} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2029630846399663569 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8790255502443537702} + m_Layer: 0 + m_Name: Right_MiddleProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8790255502443537702 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2029630846399663569} + m_LocalRotation: {x: 0.09593409, y: -0.6426922, z: 0.21124882, w: 0.73014885} + m_LocalPosition: {x: -0.012848663, y: -0.08609768, z: -0.0034359337} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 601113037231909054} + m_Father: {fileID: 6686232878256220678} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2179702826741153884 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4931444906570684940} + m_Layer: 0 + m_Name: Geometry + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4931444906570684940 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2179702826741153884} + 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: 8343799267571330540} + m_Father: {fileID: 2124010335323201246} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2202317783129345085 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8644118213468032209} + m_Layer: 0 + m_Name: Right_IndexDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8644118213468032209 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2202317783129345085} + m_LocalRotation: {x: 0.08318636, y: -0, z: -0, w: 0.996534} + m_LocalPosition: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1561045414050068972} + m_Father: {fileID: 3909440992574653390} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2211846422530839179 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 827090398748392440} + m_Layer: 0 + m_Name: Right_Toes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &827090398748392440 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2211846422530839179} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0.00000015643121, y: -0.07224799, z: 0.11807} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3459072465803051433} + m_Father: {fileID: 1786337735878820749} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2390857198169066767 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2464920848348160738} + m_Layer: 0 + m_Name: Right_UpperArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2464920848348160738 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2390857198169066767} + m_LocalRotation: {x: 0.17870995, y: 0.027966414, z: 0.90344393, w: 0.38867685} + m_LocalPosition: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6342006238853838902} + m_Father: {fileID: 6204387222185902461} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2546074519962557817 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4231331622228445573} + m_Layer: 0 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4231331622228445573 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2546074519962557817} + m_LocalRotation: {x: 0.060688436, y: -0, z: -0, w: 0.9981568} + m_LocalPosition: {x: -0, y: 0.25104657, z: -0.015329581} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8691077462631030848} + - {fileID: 2728358839821900210} + m_Father: {fileID: 9104809705314273201} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2928890801311073994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5532945687647974234} + m_Layer: 0 + m_Name: Left_ToesEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5532945687647974234 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2928890801311073994} + m_LocalRotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + m_LocalPosition: {x: -0.0010026174, y: 0.06423476, z: 0.016843978} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5844905578719327712} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3083925290418127842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4457480194464785198} + m_Layer: 0 + m_Name: Left_ThumbDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4457480194464785198 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3083925290418127842} + m_LocalRotation: {x: 0.17147453, y: -0, z: -0, w: 0.98518854} + m_LocalPosition: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6988829942569125388} + m_Father: {fileID: 4946479194576785862} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3133874597194004026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3133874597194004029} + - component: {fileID: 3133874597194004031} + - component: {fileID: 7871075168002114864} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3133874597194004029 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3133874597194004026} + 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: 3133874598237595125} + 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: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3133874597194004031 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3133874597194004026} + m_CullTransparentMesh: 1 +--- !u!114 &7871075168002114864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3133874597194004026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.1960784, g: 0.1960784, b: 0.1960784, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 12 + m_fontSizeBase: 12 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 15 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &3133874598237595122 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3133874598237595125} + - component: {fileID: 3133874598237595126} + - component: {fileID: 3133874598237595127} + - component: {fileID: 3133874598237595124} + m_Layer: 5 + m_Name: Username + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3133874598237595125 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3133874598237595122} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 1} + m_Children: + - {fileID: 3133874597194004029} + - {fileID: 4223862768519689062} + m_Father: {fileID: 2124010335323201246} + 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: 1.85} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &3133874598237595126 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3133874598237595122} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + 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!114 &3133874598237595127 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3133874598237595122} + 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: 2 + m_PresetInfoIsWorld: 1 +--- !u!114 &3133874598237595124 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3133874598237595122} + 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!1 &3173643587886409495 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 500521369295522988} + m_Layer: 0 + m_Name: Left_Foot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &500521369295522988 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3173643587886409495} + m_LocalRotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + m_LocalPosition: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5844905578719327712} + m_Father: {fileID: 1687623220653670037} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3249969822784655225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7818847723424213447} + m_Layer: 0 + m_Name: Right_PinkyDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7818847723424213447 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3249969822784655225} + m_LocalRotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1841476727492185203} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3424025887531589703 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3980168153290175205} + m_Layer: 0 + m_Name: Left_IndexDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3980168153290175205 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3424025887531589703} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4732198518482456777} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3469802082086984541 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3909440992574653390} + m_Layer: 0 + m_Name: Right_IndexIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3909440992574653390 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3469802082086984541} + m_LocalRotation: {x: 0.26077324, y: -0, z: -0, w: 0.9654001} + m_LocalPosition: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8644118213468032209} + m_Father: {fileID: 8574280312317698940} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3773869881221151748 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7587339503393063290} + m_Layer: 0 + m_Name: Left_PinkyProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7587339503393063290 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3773869881221151748} + m_LocalRotation: {x: 0.0066045397, y: -0.5050901, z: 0.37113747, w: 0.77916455} + m_LocalPosition: {x: 0.004436847, y: 0.07288173, z: -0.029359013} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 779023380748359179} + m_Father: {fileID: 6053053201436335062} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4040168257539306549 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8691077462631030848} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8691077462631030848 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4040168257539306549} + m_LocalRotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568} + m_LocalPosition: {x: -0, y: 0.12747401, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4224687925969542290} + - {fileID: 99325714740975445} + - {fileID: 7573041470224030126} + m_Father: {fileID: 4231331622228445573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4303685434444700002 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4591866165246876258} + m_Layer: 0 + m_Name: Left_PinkyDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4591866165246876258 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4303685434444700002} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.2434495e-16, y: 0.018519057, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7173763147004306177} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4320503317538483026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1716819193729068769} + m_Layer: 0 + m_Name: Right_RingProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1716819193729068769 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4320503317538483026} + m_LocalRotation: {x: 0.035571605, y: -0.5691555, z: 0.3065858, w: 0.76210356} + m_LocalPosition: {x: -0.00952738, y: -0.08161427, z: 0.012242128} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8280533341018746420} + m_Father: {fileID: 6686232878256220678} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4352253440609144885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6988829942569125388} + m_Layer: 0 + m_Name: Left_ThumbDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6988829942569125388 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4352253440609144885} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.2632555e-16, y: 0.029458016, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4457480194464785198} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4488553275125356592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4887059914419779532} + m_Layer: 0 + m_Name: Left_RingDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4887059914419779532 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4488553275125356592} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2320340731376233844} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4532205335744397557 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4946479194576785862} + m_Layer: 0 + m_Name: Left_ThumbIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4946479194576785862 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4532205335744397557} + m_LocalRotation: {x: 0.1278054, y: -0, z: -0, w: 0.9917993} + m_LocalPosition: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4457480194464785198} + m_Father: {fileID: 5236503168874096607} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4673283591589382790 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 926245842159057168} + m_Layer: 0 + m_Name: Left_LowerArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &926245842159057168 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4673283591589382790} + m_LocalRotation: {x: 0.37416065, y: -8.0435996e-17, z: -3.2453267e-17, w: 0.92736393} + m_LocalPosition: {x: -2.8421706e-16, y: 0.28508067, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6053053201436335062} + m_Father: {fileID: 6721086291248870707} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4907138939871111429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1189242802241364244} + m_Layer: 0 + m_Name: Right_MiddleDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1189242802241364244 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4907138939871111429} + m_LocalRotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + m_LocalPosition: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3773729066802646704} + m_Father: {fileID: 601113037231909054} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4918370063433878967 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1687623220653670037} + m_Layer: 0 + m_Name: Left_LowerLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1687623220653670037 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4918370063433878967} + m_LocalRotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + m_LocalPosition: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 500521369295522988} + m_Father: {fileID: 5446055538663914621} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5170344208505936311 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5236503168874096607} + m_Layer: 0 + m_Name: Left_ThumbProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5236503168874096607 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5170344208505936311} + m_LocalRotation: {x: -0.22855467, y: 0.9196341, z: 0.3181213, w: 0.028891658} + m_LocalPosition: {x: -0.00080496486, y: 0.028816883, z: 0.023514476} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4946479194576785862} + m_Father: {fileID: 6053053201436335062} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5229117001497368060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8574280312317698940} + m_Layer: 0 + m_Name: Right_IndexProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8574280312317698940 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5229117001497368060} + m_LocalRotation: {x: 0.1338533, y: -0.6899348, z: 0.20177367, w: 0.6821735} + m_LocalPosition: {x: -0.0078223245, y: -0.0918393, z: -0.026574574} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3909440992574653390} + m_Father: {fileID: 6686232878256220678} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5315084161683211931 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2320340731376233844} + m_Layer: 0 + m_Name: Left_RingDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2320340731376233844 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5315084161683211931} + m_LocalRotation: {x: 0.09052901, y: -0, z: -0, w: 0.99589384} + m_LocalPosition: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4887059914419779532} + m_Father: {fileID: 4883763450720363258} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5361225606978447410 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1762433776710079977} + m_Layer: 0 + m_Name: Left_MiddleDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1762433776710079977 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5361225606978447410} + m_LocalRotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + m_LocalPosition: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6862518161539130489} + m_Father: {fileID: 522493189634858149} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5390002730425279407 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 601113037231909054} + m_Layer: 0 + m_Name: Right_MiddleIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &601113037231909054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5390002730425279407} + m_LocalRotation: {x: 0.3409832, y: -0, z: -0, w: 0.94006944} + m_LocalPosition: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1189242802241364244} + m_Father: {fileID: 8790255502443537702} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5443070189843395868 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1561045414050068972} + m_Layer: 0 + m_Name: Right_IndexDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1561045414050068972 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5443070189843395868} + m_LocalRotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8644118213468032209} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5536261122732454826 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1841476727492185203} + m_Layer: 0 + m_Name: Right_PinkyDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1841476727492185203 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5536261122732454826} + m_LocalRotation: {x: 0.14234784, y: -0, z: -0, w: 0.9898167} + m_LocalPosition: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7818847723424213447} + m_Father: {fileID: 6027131479180507195} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5567392743736718437 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6342006238853838902} + m_Layer: 0 + m_Name: Right_LowerArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6342006238853838902 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5567392743736718437} + m_LocalRotation: {x: 0.37416065, y: -8.0435996e-17, z: -3.2453267e-17, w: 0.92736393} + m_LocalPosition: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6686232878256220678} + m_Father: {fileID: 2464920848348160738} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5576802287961340222 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4223862768519689062} + - component: {fileID: 2179345699435534017} + - component: {fileID: 6268938787285214922} + m_Layer: 5 + m_Name: Master + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4223862768519689062 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5576802287961340222} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.2, y: 0.2, z: 1} + m_Children: [] + m_Father: {fileID: 3133874598237595125} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 64} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2179345699435534017 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5576802287961340222} + m_CullTransparentMesh: 1 +--- !u!114 &6268938787285214922 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5576802287961340222} + 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: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &5818861437094798075 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6204387222185902461} + m_Layer: 0 + m_Name: Right_Shoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6204387222185902461 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5818861437094798075} + m_LocalRotation: {x: 0.99258024, y: -0.04327539, z: -0.113521874, w: 0.004949396} + m_LocalPosition: {x: 0.0009571358, y: 0.19149381, z: -0.008727803} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2464920848348160738} + m_Father: {fileID: 9104809705314273201} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5903194991887126832 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 99325714740975445} + m_Layer: 0 + m_Name: Left_Eye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &99325714740975445 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5903194991887126832} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -0.03330326, y: 0.034598116, z: 0.0867403} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8691077462631030848} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6140914785204143544 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3224579133659466384} + m_Layer: 0 + m_Name: Right_LowerLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3224579133659466384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6140914785204143544} + m_LocalRotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + m_LocalPosition: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1786337735878820749} + m_Father: {fileID: 3910260677174180530} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6150573812937891112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9054990982182414043} + m_Layer: 0 + m_Name: Right_RingDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9054990982182414043 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6150573812937891112} + m_LocalRotation: {x: 0.09052901, y: -0, z: -0, w: 0.99589384} + m_LocalPosition: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7943993227524089181} + m_Father: {fileID: 8280533341018746420} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6176227746682791573 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8280533341018746420} + m_Layer: 0 + m_Name: Right_RingIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8280533341018746420 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6176227746682791573} + m_LocalRotation: {x: 0.3907906, y: -0, z: -0, w: 0.9204796} + m_LocalPosition: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9054990982182414043} + m_Father: {fileID: 1716819193729068769} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6211469708578990227 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6053053201436335062} + m_Layer: 0 + m_Name: Left_Hand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6053053201436335062 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6211469708578990227} + m_LocalRotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + m_LocalPosition: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1208230835467766430} + - {fileID: 1757547786725583219} + - {fileID: 7587339503393063290} + - {fileID: 8471126848462783375} + - {fileID: 5236503168874096607} + m_Father: {fileID: 926245842159057168} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6225311885505217650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3459072465803051433} + m_Layer: 0 + m_Name: Right_ToesEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3459072465803051433 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6225311885505217650} + m_LocalRotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + m_LocalPosition: {x: 0.0010031584, y: -0.06423059, z: -0.016843898} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 827090398748392440} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6333180305667733650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1208230835467766430} + m_Layer: 0 + m_Name: Left_IndexProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1208230835467766430 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6333180305667733650} + m_LocalRotation: {x: 0.1338533, y: -0.6899348, z: 0.20177367, w: 0.6821735} + m_LocalPosition: {x: 0.007815497, y: 0.0918443, z: 0.02657316} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3471800566640001390} + m_Father: {fileID: 6053053201436335062} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6389627433573982915 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7573041470224030126} + m_Layer: 0 + m_Name: Right_Eye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7573041470224030126 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6389627433573982915} + m_LocalRotation: {x: 0.7071068, y: 4.3297806e-17, z: 0.7071068, w: -4.3297806e-17} + m_LocalPosition: {x: 0.033303294, y: 0.03459628, z: 0.0867403} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8691077462631030848} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6397305807401598271 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6397305807401598264} + m_Layer: 0 + m_Name: PlayerCameraRoot + m_TagString: CinemachineTarget + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6397305807401598264 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6397305807401598271} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.375, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2124010335323201246} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6548917017751022632 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8343799267571330540} + - component: {fileID: 7408759211263970704} + m_Layer: 0 + m_Name: Armature_Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8343799267571330540 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6548917017751022632} + 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: 4931444906570684940} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &7408759211263970704 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6548917017751022632} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: e33f634b6e438de49af0935eb85afe2a, type: 2} + - {fileID: 2100000, guid: 0e2e06a678caac24ca80e224cdaa3a39, type: 2} + - {fileID: 2100000, guid: 40a6c63e9a7478f44bb51ab57bc33b1c, 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4698152120088058464, guid: 597976b6b3e452c499a186f5f40cbf87, type: 3} + m_Bones: + - {fileID: 5107406741809878127} + - {fileID: 5261834649404514297} + - {fileID: 1062876408709803709} + - {fileID: 9104809705314273201} + - {fileID: 4231331622228445573} + - {fileID: 8691077462631030848} + - {fileID: 7573041470224030126} + - {fileID: 99325714740975445} + - {fileID: 4224687925969542290} + - {fileID: 2728358839821900210} + - {fileID: 4767831773250079449} + - {fileID: 6721086291248870707} + - {fileID: 926245842159057168} + - {fileID: 6053053201436335062} + - {fileID: 7587339503393063290} + - {fileID: 779023380748359179} + - {fileID: 7173763147004306177} + - {fileID: 4591866165246876258} + - {fileID: 8471126848462783375} + - {fileID: 4883763450720363258} + - {fileID: 2320340731376233844} + - {fileID: 4887059914419779532} + - {fileID: 1757547786725583219} + - {fileID: 522493189634858149} + - {fileID: 1762433776710079977} + - {fileID: 6862518161539130489} + - {fileID: 1208230835467766430} + - {fileID: 3471800566640001390} + - {fileID: 4732198518482456777} + - {fileID: 3980168153290175205} + - {fileID: 5236503168874096607} + - {fileID: 4946479194576785862} + - {fileID: 4457480194464785198} + - {fileID: 6988829942569125388} + - {fileID: 6204387222185902461} + - {fileID: 2464920848348160738} + - {fileID: 6342006238853838902} + - {fileID: 6686232878256220678} + - {fileID: 2053235968611070756} + - {fileID: 6027131479180507195} + - {fileID: 1841476727492185203} + - {fileID: 7818847723424213447} + - {fileID: 1716819193729068769} + - {fileID: 8280533341018746420} + - {fileID: 9054990982182414043} + - {fileID: 7943993227524089181} + - {fileID: 8790255502443537702} + - {fileID: 601113037231909054} + - {fileID: 1189242802241364244} + - {fileID: 3773729066802646704} + - {fileID: 8574280312317698940} + - {fileID: 3909440992574653390} + - {fileID: 8644118213468032209} + - {fileID: 1561045414050068972} + - {fileID: 3089204320418158555} + - {fileID: 1262667820407712849} + - {fileID: 4118738314565124299} + - {fileID: 6277512874380028866} + - {fileID: 5446055538663914621} + - {fileID: 1687623220653670037} + - {fileID: 500521369295522988} + - {fileID: 5844905578719327712} + - {fileID: 5532945687647974234} + - {fileID: 3910260677174180530} + - {fileID: 3224579133659466384} + - {fileID: 1786337735878820749} + - {fileID: 827090398748392440} + - {fileID: 3459072465803051433} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5107406741809878127} + m_AABB: + m_Center: {x: -0.000000029802322, y: -0.09214255, z: 0.026248664} + m_Extent: {x: 0.52818465, y: 0.88092995, z: 0.22050178} + m_DirtyAABB: 0 +--- !u!1 &7027496727895014879 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6686232878256220678} + m_Layer: 0 + m_Name: Right_Hand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6686232878256220678 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7027496727895014879} + m_LocalRotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + m_LocalPosition: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8574280312317698940} + - {fileID: 8790255502443537702} + - {fileID: 2053235968611070756} + - {fileID: 1716819193729068769} + - {fileID: 3089204320418158555} + m_Father: {fileID: 6342006238853838902} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7276515991117340415 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4883763450720363258} + m_Layer: 0 + m_Name: Left_RingIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4883763450720363258 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7276515991117340415} + m_LocalRotation: {x: 0.3907906, y: -0, z: -0, w: 0.9204796} + m_LocalPosition: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2320340731376233844} + m_Father: {fileID: 8471126848462783375} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7280339759583280630 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9104809705314273201} + m_Layer: 0 + m_Name: UpperChest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9104809705314273201 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7280339759583280630} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.1034043, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4767831773250079449} + - {fileID: 4231331622228445573} + - {fileID: 6204387222185902461} + m_Father: {fileID: 1062876408709803709} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7759047850719878055 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6862518161539130489} + m_Layer: 0 + m_Name: Left_MiddleDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6862518161539130489 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7759047850719878055} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1762433776710079977} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7822687246847617060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7173763147004306177} + m_Layer: 0 + m_Name: Left_PinkyDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7173763147004306177 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7822687246847617060} + m_LocalRotation: {x: 0.14234784, y: -0, z: -0, w: 0.9898167} + m_LocalPosition: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4591866165246876258} + m_Father: {fileID: 779023380748359179} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7905700633508531188 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6027131479180507195} + m_Layer: 0 + m_Name: Right_PinkyIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6027131479180507195 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7905700633508531188} + m_LocalRotation: {x: 0.29918617, y: -0, z: -0, w: 0.9541948} + m_LocalPosition: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1841476727492185203} + m_Father: {fileID: 2053235968611070756} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8028161399116197021 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8471126848462783375} + m_Layer: 0 + m_Name: Left_RingProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8471126848462783375 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8028161399116197021} + m_LocalRotation: {x: 0.035571605, y: -0.5691555, z: 0.3065858, w: 0.76210356} + m_LocalPosition: {x: 0.009525569, y: 0.08161553, z: -0.012242405} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4883763450720363258} + m_Father: {fileID: 6053053201436335062} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8127126219349686941 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5844905578719327712} + m_Layer: 0 + m_Name: Left_Toes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5844905578719327712 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8127126219349686941} + m_LocalRotation: {x: -0.7071068, y: 8.7157646e-33, z: -8.7157646e-33, w: 0.7071068} + m_LocalPosition: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5532945687647974234} + m_Father: {fileID: 500521369295522988} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8190880401892792206 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5446055538663914621} + m_Layer: 0 + m_Name: Left_UpperLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5446055538663914621 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8190880401892792206} + m_LocalRotation: {x: 0.999839, y: -0.01775374, z: 0.000046300094, w: -0.0026074864} + m_LocalPosition: {x: -0.08610317, y: -0.053458035, z: -0.011470641} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1687623220653670037} + m_Father: {fileID: 5107406741809878127} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8265869927499068047 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7943993227524089181} + m_Layer: 0 + m_Name: Right_RingDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7943993227524089181 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8265869927499068047} + m_LocalRotation: {x: 9.02056e-17, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 9054990982182414043} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8290800839049258763 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4118738314565124299} + m_Layer: 0 + m_Name: Right_ThumbDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4118738314565124299 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8290800839049258763} + m_LocalRotation: {x: 0.17147453, y: -0, z: -0, w: 0.98518854} + m_LocalPosition: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6277512874380028866} + m_Father: {fileID: 1262667820407712849} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8339566524125761427 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4224687925969542290} + m_Layer: 0 + m_Name: Jaw + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4224687925969542290 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8339566524125761427} + m_LocalRotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485} + m_LocalPosition: {x: -0, y: -0.00763539, z: 0.012895278} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8691077462631030848} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8384695571224166172 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4767831773250079449} + m_Layer: 0 + m_Name: Left_Shoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4767831773250079449 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8384695571224166172} + m_LocalRotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024} + m_LocalPosition: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6721086291248870707} + m_Father: {fileID: 9104809705314273201} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8404716561851667553 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2728358839821900210} + m_Layer: 0 + m_Name: Neck_Twist_A + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2728358839821900210 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8404716561851667553} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.063737005, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4231331622228445573} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8733018819080058272 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2933003944999231559} + m_Layer: 0 + m_Name: Skeleton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2933003944999231559 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8733018819080058272} + 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: 5107406741809878127} + m_Father: {fileID: 2124010335323201246} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &9098736885609426174 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4732198518482456777} + m_Layer: 0 + m_Name: Left_IndexDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4732198518482456777 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9098736885609426174} + m_LocalRotation: {x: 0.08318636, y: -0, z: -0, w: 0.996534} + m_LocalPosition: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3980168153290175205} + m_Father: {fileID: 3471800566640001390} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &9192520606435498989 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3471800566640001390} + m_Layer: 0 + m_Name: Left_IndexIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3471800566640001390 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9192520606435498989} + m_LocalRotation: {x: 0.26077324, y: -0, z: -0, w: 0.9654001} + m_LocalPosition: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4732198518482456777} + m_Father: {fileID: 1208230835467766430} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Player.prefab.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Player.prefab.meta new file mode 100644 index 00000000..1feadd4e --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Resources/Prefabs/Player.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 68e108c869573c241a2ff37d9cf22837 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes.meta new file mode 100644 index 00000000..f6dd9e6f --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 31cb77f52970d0d4885582e3051c82af +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Fight.unity b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Fight.unity new file mode 100644 index 00000000..4044c331 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Fight.unity @@ -0,0 +1,483 @@ +%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.44657898, g: 0.4964133, b: 0.5748178, 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 &1194362851 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1194362853} + - component: {fileID: 1194362852} + m_Layer: 0 + m_Name: Fighter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1194362852 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1194362851} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 560595d29df3ffc49bedb3af629e9609, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1194362853 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1194362851} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.930179, y: 5.803161, z: 1.1544257} + 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 &1306211725 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1306211727} + - component: {fileID: 1306211726} + 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 &1306211726 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306211725} + 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 &1306211727 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306211725} + 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: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1739996596 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1739996601} + - component: {fileID: 1739996600} + - component: {fileID: 1739996599} + - component: {fileID: 1739996598} + - component: {fileID: 1739996597} + - component: {fileID: 1739996602} + m_Layer: 0 + m_Name: Portal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1739996597 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1739996596} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5e79171bb13dba41b313670406b0de4, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!64 &1739996598 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1739996596} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1739996599 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1739996596} + 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: 32be8ebc26e8cc548bb32907231a07e4, 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 &1739996600 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1739996596} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1739996601 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1739996596} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 20.26, y: 0.01, z: 12.08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &1739996602 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1739996596} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!1 &2079815265 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2079815269} + - component: {fileID: 2079815268} + - component: {fileID: 2079815267} + - component: {fileID: 2079815266} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &2079815266 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2079815267 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + 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: 71197b886c4fe414c8d2382969b585dc, 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 &2079815268 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2079815269 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Fight.unity.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Fight.unity.meta new file mode 100644 index 00000000..5a2138ee --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Fight.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 36060053ae21c1a4b8d83afcfbbca65f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Init.unity b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Init.unity new file mode 100644 index 00000000..b82333cb --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Init.unity @@ -0,0 +1,380 @@ +%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.44657898, g: 0.4964133, b: 0.5748178, 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 &1306211725 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1306211727} + - component: {fileID: 1306211726} + 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 &1306211726 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306211725} + 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 &1306211727 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306211725} + 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: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1001 &1699911262 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1699911265, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: WorkMode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_LocalPosition.z + value: -11.67 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943788, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6691438890776943791, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_Name + value: Application + objectReference: {fileID: 0} + - target: {fileID: 6691438890974912406, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + propertyPath: m_Name + value: UI + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 8901074784448856764, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: a3826b127d4cc834c8839b168f36c47c, type: 3} +--- !u!1 &2079815265 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2079815269} + - component: {fileID: 2079815268} + - component: {fileID: 2079815267} + - component: {fileID: 2079815266} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &2079815266 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2079815267 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + 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: 32be8ebc26e8cc548bb32907231a07e4, 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 &2079815268 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2079815269 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Init.unity.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Init.unity.meta new file mode 100644 index 00000000..b33605b8 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Init.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ccbcbd54e323be7428e2eb6215e004d8 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Start.unity b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Start.unity new file mode 100644 index 00000000..707c8a92 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Start.unity @@ -0,0 +1,314 @@ +%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.44657898, g: 0.4964133, b: 0.5748178, 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 &1306211725 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1306211727} + - component: {fileID: 1306211726} + 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 &1306211726 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306211725} + 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 &1306211727 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306211725} + 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: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &2079815265 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2079815269} + - component: {fileID: 2079815268} + - component: {fileID: 2079815267} + - component: {fileID: 2079815266} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &2079815266 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2079815267 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + 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: 32be8ebc26e8cc548bb32907231a07e4, 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 &2079815268 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2079815269 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079815265} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Start.unity.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Start.unity.meta new file mode 100644 index 00000000..0ce9e023 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scenes/Start.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 703ce64c5af55cc478907e772605e27e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts.meta new file mode 100644 index 00000000..2c94731b --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3480b9f2dad46224295c74ba0feb50dc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/CameraFollower.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/CameraFollower.cs new file mode 100644 index 00000000..42f2d995 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/CameraFollower.cs @@ -0,0 +1,50 @@ +using UnityEngine; +using UnityEngine.SceneManagement; + +namespace Netcode.Transports.Pico.Sample.PicoMultiplayer +{ + public class CameraFollower : MonoBehaviour + { + private Transform _target; + public Vector3 Offset; + public float SmoothSpeed = 0.1f; + + public void SetTarget(Transform target) + { + _target = target; + } + + private void LateUpdate() + { + if (_target) + { + SmoothFollow(); + } + } + + private void OnEnable() + { + SceneManager.sceneLoaded += ResetCameraPosition; + } + + private void OnDestroy() + { + SceneManager.sceneLoaded -= ResetCameraPosition; + } + + private void ResetCameraPosition(Scene scene, LoadSceneMode mode) + { + transform.position = Offset; + transform.rotation = Quaternion.identity; + } + + private void SmoothFollow() + { + Vector3 targetPos = _target.position + Offset; + Vector3 smoothFollow = Vector3.Lerp(transform.position, targetPos, SmoothSpeed); + + transform.position = smoothFollow; + transform.LookAt(_target); + } + } +} \ No newline at end of file diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/CameraFollower.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/CameraFollower.cs.meta new file mode 100644 index 00000000..d193f4c4 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/CameraFollower.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 87179611c159e6643be218eba35e0966 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/FightScene.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/FightScene.cs new file mode 100644 index 00000000..f9bf4f5e --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/FightScene.cs @@ -0,0 +1,23 @@ +using UnityEngine; + +namespace Netcode.Transports.Pico.Sample.PicoMultiplayer +{ + public class FightScene : MonoBehaviour + { + private ExternalModeSDKUser _picoUser; + + // Start is called before the first frame update + void Start() + { + _picoUser = FindObjectOfType(); + _picoUser.SetAutoRestartFlag(); + _picoUser.StartNetcode(); + } + + private void OnDestroy() + { + _picoUser.StopNetcode("fight scene destroy"); + _picoUser = null; + } + } +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/FightScene.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/FightScene.cs.meta new file mode 100644 index 00000000..eafcced2 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/FightScene.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 560595d29df3ffc49bedb3af629e9609 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InitScene.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InitScene.cs new file mode 100644 index 00000000..29f2732e --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InitScene.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace Netcode.Transports.Pico.Sample.PicoMultiplayer +{ + public class InitScene : MonoBehaviour + { + private void Awake() + { + SampleApplication.GetInstance(); + } + } +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InitScene.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InitScene.cs.meta new file mode 100644 index 00000000..1cee3780 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InitScene.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2f48b0ad61cd4994896da0986a751340 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InputsReader.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InputsReader.cs new file mode 100644 index 00000000..f6c445fc --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InputsReader.cs @@ -0,0 +1,92 @@ +using Unity.Netcode; +using UnityEngine; + +namespace Netcode.Transports.Pico.Sample.PicoMultiplayer +{ + public class InputsReader : NetworkBehaviour + { + public Vector2 MoveInput; + public Vector2 OrbitInput; + public bool JumpInput; + + private UnityEngine.XR.InputDevice _xrInputs; + private Vector2 _axis2D = Vector2.zero; + private bool _primaryButton; + + public void Start() + { + //ref: D:\works\pico\PICO Unity Integration SDK v212\Runtime\Scripts\Controller\PXR_ControllerAnimator.cs + _xrInputs = UnityEngine.XR.InputDevices.GetDeviceAtXRNode(UnityEngine.XR.XRNode.RightHand); + } + + public void Update() + { + if (IsOwner) + { + CheckXRInput(); + } + } + + public void CheckXRInput() + { + if (!_xrInputs.isValid) + { + return; + } + + _xrInputs.TryGetFeatureValue(UnityEngine.XR.CommonUsages.primary2DAxis, out _axis2D); + _xrInputs.TryGetFeatureValue(UnityEngine.XR.CommonUsages.primaryButton, out _primaryButton); + if (_axis2D.magnitude > 0.001) + { + MoveInput = _axis2D; + } + else + { + MoveInput = Vector2.zero; + } + + if (_primaryButton) + { + JumpInput = true; + } + else + { + JumpInput = false; + } + } + + public void OnMove(UnityEngine.InputSystem.InputValue value) + { + //Debug.Log($"OnMove: {value.Get()}"); + MoveInput = value.Get(); + } + + public void OnJump(UnityEngine.InputSystem.InputValue value) + { + //Debug.Log($"OnJump: {value.isPressed}"); + JumpInput = value.isPressed; + } + + public void OnOrbit(UnityEngine.InputSystem.InputValue value) + { + //Debug.Log($"OnOrbit: {value.isPressed}"); + OrbitInput = value.Get(); + } + + public void OnDeviceLost(UnityEngine.InputSystem.PlayerInput input) + { + Debug.Log($"OnDeviceLost: {input.name}"); + } + + public void OnDeviceRegained(UnityEngine.InputSystem.PlayerInput input) + { + Debug.Log($"OnDeviceRegained: {input.name}"); + } + + public void OnControlsChanged(UnityEngine.InputSystem.PlayerInput input) + { + Debug.Log($"OnControlsChanged: {input.name}"); + } + } + +} \ No newline at end of file diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InputsReader.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InputsReader.cs.meta new file mode 100644 index 00000000..c81d1e49 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/InputsReader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7b4715a52ea00714e8f61f754c00b3c4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/LocalPlayerState.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/LocalPlayerState.cs new file mode 100644 index 00000000..1fcccd14 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/LocalPlayerState.cs @@ -0,0 +1,19 @@ +using UnityEngine; + +public class LocalPlayerState : Singleton +{ + [HideInInspector] + public Color Color; + [HideInInspector] + public string Username; + + public event System.Action OnSelfStateChange; + + public void Init(string selfName) + { + Color = Random.ColorHSV(); + Username = selfName;// message.Data.DisplayName; + OnSelfStateChange?.Invoke(); + } + +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/LocalPlayerState.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/LocalPlayerState.cs.meta new file mode 100644 index 00000000..b7d49b9d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/LocalPlayerState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: be4e373e1bcf36e41a7eb8a2ccefdc5b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerController.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerController.cs new file mode 100644 index 00000000..93b1c685 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerController.cs @@ -0,0 +1,246 @@ +using UnityEngine; +using Unity.Netcode; +using UnityEngine.InputSystem; +using System.Collections.Generic; + +namespace Netcode.Transports.Pico.Sample.PicoMultiplayer +{ + [RequireComponent(typeof(CharacterController))] + [RequireComponent(typeof(PlayerInput))] + public class PlayerController : NetworkBehaviour + { + public float MoveSpeed = 5.33f; + public float RotationSmoothTime = 0.12f; + public float SpeedChangeRate = 10.0f; + private float JumpHeight = 1.2f; + private float Gravity = -15.0f; + private float JumpTimeout = 0.50f; + private float FallTimeout = 0.15f; + private bool Grounded = true; + private float GroundedOffset = -0.14f; + private float GroundedRadius = 0.28f; + public LayerMask GroundLayers; + + // player + private float _speed; + private float _animationBlend; + private float _targetRotation = 0.0f; + private float _rotationVelocity; + private float _verticalVelocity; + private float _terminalVelocity = 53.0f; + + private float _jumpTimeoutDelta; + private float _fallTimeoutDelta; + + private int _animIDSpeed; + private int _animIDGrounded; + private int _animIDJump; + private int _animIDFreeFall; + private int _animIDMotionSpeed; + private Dictionary _animPropCache = new Dictionary(); + + private Animator _animator; + private CharacterController _controller; + private InputsReader _inputReader; + private CameraFollower _cameraFollower; + + private bool _hasAnimator; + + private void Start() + { + AssignAnimationIDs(); + _hasAnimator = TryGetComponent(out _animator); + _controller = GetComponent(); + _inputReader = GetComponent(); + _jumpTimeoutDelta = JumpTimeout; + _fallTimeoutDelta = FallTimeout; + if (IsOwner) + { + _cameraFollower = FindObjectOfType(); + _cameraFollower.SetTarget(this.transform); + } + } + + public override void OnNetworkSpawn() + { + enabled = IsOwner; + GetComponent().enabled = IsOwner; + } + + private void Update() + { + if (!_controller.enabled) return; + _hasAnimator = TryGetComponent(out _animator); + JumpAndGravity(); + GroundedCheck(); + Move(); + } + + private void AssignAnimationIDs() + { + _animIDSpeed = Animator.StringToHash("Speed"); + _animIDGrounded = Animator.StringToHash("Grounded"); + _animIDJump = Animator.StringToHash("Jump"); + _animIDFreeFall = Animator.StringToHash("FreeFall"); + _animIDMotionSpeed = Animator.StringToHash("MotionSpeed"); + } + + private void GroundedCheck() + { + Vector3 spherePosition = new Vector3(transform.position.x, transform.position.y - GroundedOffset, transform.position.z); + Grounded = Physics.CheckSphere(spherePosition, GroundedRadius, GroundLayers, QueryTriggerInteraction.Ignore); + if (_hasAnimator) + { + SetAnimatorBool(_animIDGrounded, Grounded); + } + } + + private void Move() + { + float targetSpeed = MoveSpeed; + if (_inputReader.MoveInput == Vector2.zero) targetSpeed = 0.0f; + float currentHorizontalSpeed = new Vector3(_controller.velocity.x, 0.0f, _controller.velocity.z).magnitude; + float speedOffset = 0.1f; + float inputMagnitude = _inputReader.MoveInput.magnitude; + + if (currentHorizontalSpeed < targetSpeed - speedOffset || + currentHorizontalSpeed > targetSpeed + speedOffset) + { + _speed = Mathf.Lerp(currentHorizontalSpeed, targetSpeed * inputMagnitude, Time.deltaTime * SpeedChangeRate); + _speed = Mathf.Round(_speed * 1000f) / 1000f; + } + else + { + _speed = targetSpeed; + } + _animationBlend = Mathf.Lerp(_animationBlend, targetSpeed, Time.deltaTime * SpeedChangeRate); + + //input speed + Vector3 inputDirection = new Vector3(_inputReader.MoveInput.x, 0.0f, _inputReader.MoveInput.y).normalized; + if (_inputReader.MoveInput != Vector2.zero) + { + _targetRotation = Mathf.Atan2(inputDirection.x, inputDirection.z) * Mathf.Rad2Deg + Camera.main.transform.eulerAngles.y; + float rotation = Mathf.SmoothDampAngle(transform.eulerAngles.y, _targetRotation, ref _rotationVelocity, RotationSmoothTime); + transform.rotation = Quaternion.Euler(0.0f, rotation, 0.0f); + } + Vector3 targetDirection = Quaternion.Euler(0.0f, _targetRotation, 0.0f) * Vector3.forward; + Vector3 moveVec = targetDirection.normalized * (_speed * Time.deltaTime) + new Vector3(0.0f, _verticalVelocity, 0.0f) * Time.deltaTime; + _controller.Move(moveVec); + //update animator + if (_hasAnimator) + { + SetAnimatorFloat(_animIDSpeed, _animationBlend); + SetAnimatorFloat(_animIDMotionSpeed, inputMagnitude); + } + } + + private void JumpAndGravity() + { + if (Grounded) + { + _fallTimeoutDelta = FallTimeout; + if (_hasAnimator) + { + SetAnimatorBool(_animIDJump, false); + SetAnimatorBool(_animIDFreeFall, false); + } + if (_verticalVelocity < 0.0f) + { + _verticalVelocity = -2f; + } + // check jump cmd + if (_inputReader.JumpInput && _jumpTimeoutDelta <= 0.0f) + { + _verticalVelocity = Mathf.Sqrt(JumpHeight * -2f * Gravity); + if (_hasAnimator) + { + SetAnimatorBool(_animIDJump, true); + } + } + // check jump timeout + if (_jumpTimeoutDelta >= 0.0f) + { + _jumpTimeoutDelta -= Time.deltaTime; + } + } + else + { + _jumpTimeoutDelta = JumpTimeout; + if (_fallTimeoutDelta >= 0.0f) + { + _fallTimeoutDelta -= Time.deltaTime; + } + else + { + if (_hasAnimator) + { + SetAnimatorBool(_animIDFreeFall, true); + } + } + _inputReader.JumpInput = false; + } + if (_verticalVelocity < _terminalVelocity) + { + _verticalVelocity += Gravity * Time.deltaTime; + } + } + + private void OnDrawGizmosSelected() + { + Color transparentGreen = new Color(0.0f, 1.0f, 0.0f, 0.35f); + Color transparentRed = new Color(1.0f, 0.0f, 0.0f, 0.35f); + if (Grounded) Gizmos.color = transparentGreen; + else Gizmos.color = transparentRed; + Gizmos.DrawSphere(new Vector3(transform.position.x, transform.position.y - GroundedOffset, transform.position.z), GroundedRadius); + } + + [ServerRpc(RequireOwnership = true)] + private void SetAnimatorFloatServerRpc(int id, float value) + { + _hasAnimator = _hasAnimator || TryGetComponent(out _animator); + if (_hasAnimator) + { + _animator.SetFloat(id, value); + } + } + + [ServerRpc(RequireOwnership = true)] + private void SetAnimatorBoolServerRpc(int id, bool value) + { + _hasAnimator = _hasAnimator || TryGetComponent(out _animator); + if (_hasAnimator) + { + _animator.SetBool(id, value); + } + } + + private void SetAnimatorFloat(int id, float value) + { + if (_hasAnimator && _animPropCache.TryGetValue(id, out var current) && current.f.IsCloseTo(value)) + { + return; + } + + SetAnimatorFloatServerRpc(id, value); + _animPropCache[id] = (value, false); + if (_hasAnimator) + { + _animator.SetFloat(id, value); + } + } + + private void SetAnimatorBool(int id, bool value) + { + if (_hasAnimator && _animPropCache.TryGetValue(id, out var current) && current.b == value) + { + return; + } + SetAnimatorBoolServerRpc(id, value); + _animPropCache[id] = (0.0f, value); + if (_hasAnimator) + { + _animator.SetBool(id, value); + } + } + } +} \ No newline at end of file diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerController.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerController.cs.meta new file mode 100644 index 00000000..885fc7ef --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c26a557c6e1fcd541a3ae9c888ceb411 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerState.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerState.cs new file mode 100644 index 00000000..f70b63bd --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerState.cs @@ -0,0 +1,133 @@ +using UnityEngine; +using Unity.Collections; +using Unity.Netcode; +using TMPro; +using UnityEngine.UI; + +public class PlayerState : NetworkBehaviour +{ + public Renderer PlayerMeshRenderer; + public Transform UsernameCanvas; + + private NetworkVariable _nvColor = new NetworkVariable(); + private NetworkVariable _nvUsername = new NetworkVariable(); + private NetworkVariable _nvHostFlag = new NetworkVariable(true); + + private TMP_Text _uiUsername; + private Image _uiMasterIcon; + private Transform _cameraRigForUIHostFlag; + private LocalPlayerState _localPlayerState => IsOwner ? LocalPlayerState.Instance : null; + + public bool IsSelfPlayer() + { + return IsOwner; + } + + private void OnEnable() + { + _uiUsername = UsernameCanvas.GetComponentInChildren(); + _uiMasterIcon = transform.GetComponentInChildren(); + + _nvColor.OnValueChanged += OnColorChanged; + _nvUsername.OnValueChanged += OnUsernameChanged; + _nvHostFlag.OnValueChanged += OnMasterclientChanged; + } + + private void OnDisable() + { + _nvColor.OnValueChanged -= OnColorChanged; + _nvUsername.OnValueChanged -= OnUsernameChanged; + _nvHostFlag.OnValueChanged -= OnMasterclientChanged; + } + + private void Start() + { + _cameraRigForUIHostFlag = Camera.main.GetComponentInParent(); + OnColorChanged(_nvColor.Value, _nvColor.Value); + OnUsernameChanged(_nvUsername.Value, _nvUsername.Value); + OnMasterclientChanged(_nvHostFlag.Value, _nvHostFlag.Value); + if (IsSelfPlayer()) + { + _localPlayerState.OnSelfStateChange += UpdateData; + UpdateData(); + } + } + + private void Update() + { + UsernameCanvas.rotation = Quaternion.LookRotation(UsernameCanvas.position - _cameraRigForUIHostFlag.position); + } + + public override void OnDestroy() + { + base.OnDestroy(); + if (IsSelfPlayer() && _localPlayerState) + { + _localPlayerState.transform.position = transform.position; + _localPlayerState.transform.rotation = transform.rotation; + _localPlayerState.OnSelfStateChange -= UpdateData; + } + } + + private void OnColorChanged(Color oldColor, Color newColor) + { + foreach (Material mat in PlayerMeshRenderer.materials) + { + mat.color = newColor; + } + } + + private void OnUsernameChanged(FixedString128Bytes oldName, FixedString128Bytes newName) + { + _uiUsername.text = newName.ConvertToString(); + } + + private void OnMasterclientChanged(bool oldVal, bool newVal) + { + _uiMasterIcon.enabled = newVal; + } + + public void SetColor() + { + if (!_localPlayerState) return; + + _localPlayerState.Color = Random.ColorHSV(); + SetColorServerRpc(_localPlayerState.Color); + } + + private void UpdateData() + { + SetStateServerRpc(_localPlayerState.Color, _localPlayerState.Username); + } + + [ServerRpc] + private void SetStateServerRpc(Color color_, string username_) + { + _nvColor.Value = color_; + _nvUsername.Value = username_; + } + + [ServerRpc] + private void SetColorServerRpc(Color color_) + { + _nvColor.Value = color_; + } + + [ServerRpc] + private void SetMasterServerRpc(bool masterclient_) + { + _nvHostFlag.Value = masterclient_; + } + + public override void OnNetworkSpawn() + { + base.OnNetworkSpawn(); + + if (IsOwner && _localPlayerState) + { + Debug.Log($"update state in server, _uiUsername {_localPlayerState.Username}"); + SetStateServerRpc(_localPlayerState.Color, _localPlayerState.Username); + SetMasterServerRpc(IsHost); + } + } +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerState.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerState.cs.meta new file mode 100644 index 00000000..854c0b03 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/PlayerState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5ac080fb1c241a14abff668d6020ddf3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Portal.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Portal.cs new file mode 100644 index 00000000..1bab69bc --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Portal.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +namespace Netcode.Transports.Pico.Sample.PicoMultiplayer +{ + public class Portal : MonoBehaviour + { + private SampleApplication _application; + + private void Start() + { + _application = SampleApplication.GetInstance(); + } + + private void OnTriggerEnter(Collider other) + { + var playerState = other.GetComponent(); + if (!playerState) + { + return; + } + if (!playerState.IsSelfPlayer()) return; + _application.OnPortalEnter(); + } + } +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Portal.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Portal.cs.meta new file mode 100644 index 00000000..490bc57c --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Portal.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e5e79171bb13dba41b313670406b0de4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/SampleApplication.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/SampleApplication.cs new file mode 100644 index 00000000..1e67e9df --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/SampleApplication.cs @@ -0,0 +1,167 @@ +using System.Collections; +using UnityEngine; +using UnityEngine.SceneManagement; + +namespace Netcode.Transports.Pico.Sample.PicoMultiplayer +{ + + public class SampleApplication : MonoBehaviour + { + const string APP_PREFAB_PATH = "Prefabs/Application"; + + public enum Scenes + { + Init, + Start, + Fight + } + + public static Scenes CurrentScene; + private bool _sceneLoaded = false; + private ExternalModeSDKUser _picoUser; + + static SampleApplication _application; + + static public SampleApplication GetInstance() + { + if (!_application) + { + SampleApplication preExisted = FindObjectOfType(); + if (preExisted) + { + _application = preExisted; + } + else + { + Object prefab = Resources.Load(APP_PREFAB_PATH); + GameObject go = (GameObject)Instantiate(prefab, new Vector3(-4, 0, -12), + Quaternion.AngleAxis(45, Vector3.up)); + _application = go.GetComponent(); + } + + _application.Refresh(true); + DontDestroyOnLoad(_application.gameObject); + } + + return _application; + } + + private void OnEnable() + { + SceneManager.sceneLoaded += OnSceneLoaded; + if (_picoUser) + { + _picoUser.OnStatusChange += HandlePicoStatusChange; + } + } + + private void OnDisable() + { + SceneManager.sceneLoaded -= OnSceneLoaded; + if (_picoUser) + { + _picoUser.OnStatusChange -= HandlePicoStatusChange; + } + } + + private void OnSceneLoaded(Scene scene, LoadSceneMode mode) + { + Debug.Log($"scene {scene.name} loaded"); + _sceneLoaded = true; + CurrentScene = (Scenes)scene.buildIndex; + } + + public void LoadScene(Scenes scene) + { + if (scene == CurrentScene) return; + _sceneLoaded = false; + SceneManager.LoadSceneAsync((int)scene); + } + + private void Start() + { + _picoUser = GetComponent(); + _picoUser.ServerCreatePlayerPrefabPath = "Prefabs/Player"; + _picoUser.OnStatusChange += HandlePicoStatusChange; + StartCoroutine(Init()); + } + + public void Refresh(bool resetTransform) + { + Camera camera = FindObjectOfType(); + Canvas[] canvas = GetComponentsInChildren(); + if (canvas.Length > 0) + { + canvas[0].worldCamera = camera; + } + + if (resetTransform) + { + transform.SetPositionAndRotation(new Vector3(0, 0, -11), Quaternion.identity); + } + } + + private void HandlePicoStatusChange(ExternalModeSDKUser.EGameState oldState, ExternalModeSDKUser.EGameState newState, + string inDesc, string inOpenID, string matchedInfo) + { + Debug.Log($"Application got new game state {newState}, {inOpenID}, {inDesc}"); + if (oldState != newState) + { + switch (newState) + { + case ExternalModeSDKUser.EGameState.UserGot: + FindObjectOfType().Init(inOpenID); + break; + case ExternalModeSDKUser.EGameState.NotInited: + SwitchToStartScene(); + break; + case ExternalModeSDKUser.EGameState.InRoom: + SwitchToFightScene(); + break; + case ExternalModeSDKUser.EGameState.RoomLeft: + SwitchToStartScene(); + break; + } + } + } + + private IEnumerator Init() + { + LoadScene(Scenes.Start); + yield return new WaitUntil(() => _sceneLoaded); + Debug.Log("start scene loaded"); + } + + private IEnumerator SwitchScene(Scenes destination) + { + LoadScene(destination); + yield return new WaitUntil(() => _sceneLoaded); + + } + + private IEnumerator WaitThenSwitchScene(int seconds, Scenes destination) + { + yield return new WaitForSeconds(seconds); + LoadScene(destination); + yield return new WaitUntil(() => _sceneLoaded); + } + + public void OnPortalEnter() + { + _picoUser = GetComponent(); + _picoUser.StartLeaveRoom(); + } + + public void SwitchToFightScene() + { + StartCoroutine(WaitThenSwitchScene(1, Scenes.Fight)); + } + + public void SwitchToStartScene() + { + StartCoroutine(SwitchScene(Scenes.Start)); + } + + } + +} \ No newline at end of file diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/SampleApplication.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/SampleApplication.cs.meta new file mode 100644 index 00000000..e56e957c --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/SampleApplication.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 81fad7056184de44e8092a62c25752a9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI.meta new file mode 100644 index 00000000..dbb2e0f4 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86e608b3bd6b9d44f922324bf91bc29f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/DebuggingPanel.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/DebuggingPanel.cs new file mode 100644 index 00000000..bdfc6823 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/DebuggingPanel.cs @@ -0,0 +1,44 @@ +using UnityEngine; +using TMPro; + +public class DebuggingPanel : MonoBehaviour +{ + const string MATCH_UI_NAME = "MatchedInfo"; + const string CONSOLE_LOG_UI_NAME = "ConsoleLog"; + private TMP_Text _consoleLog; + private TMP_Text _matchedInfo; + private LogToUI log; + + private void Awake() + { + TMP_Text[] candidates = GetComponentsInChildren(); + for (int i = 0; i < candidates.Length; ++i) + { + TMP_Text tmp = candidates[i]; + if (tmp.name == CONSOLE_LOG_UI_NAME) + { + _consoleLog = candidates[i]; + } + if (tmp.name == MATCH_UI_NAME) + { + _matchedInfo = candidates[i]; + } + } + } + + private void Start() + { + log = FindObjectOfType(); + log.SetDebuggingPanel(this); + } + + public void SetDebugLog(string log) + { + _consoleLog.text = log; + } + + public void SetMatchInfo(string matchInfo) + { + _matchedInfo.text = matchInfo; + } +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/DebuggingPanel.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/DebuggingPanel.cs.meta new file mode 100644 index 00000000..7f609c92 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/DebuggingPanel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fda1c6983651e5242956bf55f410adde +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/LogToUI.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/LogToUI.cs new file mode 100644 index 00000000..32ac342a --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/LogToUI.cs @@ -0,0 +1,71 @@ +using System.Collections.Generic; +using System.Text; +using UnityEngine; + +public class LogToUI : MonoBehaviour +{ + const int MAX_CONSOLE_LINES = 13; + public DebuggingPanel DebuggingPanel; + private static Queue _consoleLines = new Queue(MAX_CONSOLE_LINES); + private static Dictionary _logTypeStrs = new Dictionary + { + { LogType.Error, "ERR| " }, + { LogType.Assert, "AST| " }, + { LogType.Warning, "WAR| " }, + { LogType.Log, "DBG| " }, + { LogType.Exception, "EXC| " } + }; + private StringBuilder _strBuilder = new StringBuilder(); + + private void Awake() + { + if (_consoleLines.Count == 0) + { + for (int i = 0; i < MAX_CONSOLE_LINES; ++i) + { + _consoleLines.Enqueue(""); + } + } + + Application.logMessageReceived += LogCallback; + } + + private void OnDestroy() + { + Application.logMessageReceived -= LogCallback; + } + + public void SetDebuggingPanel(DebuggingPanel debuggingPanel_) + { + DebuggingPanel = debuggingPanel_; + AddLogToConsole("debug panel set", LogType.Log); + } + + public void SetMatchInfo(string matchInfo) + { + DebuggingPanel.SetMatchInfo(matchInfo); + } + + private void AddLogToConsole(string message, LogType type) + { + message = message.Trim(); + message = message.Trim('\n'); + message = _logTypeStrs[type] + message; + if (_consoleLines.Count == MAX_CONSOLE_LINES) + _consoleLines.Dequeue(); + _consoleLines.Enqueue(message); + + if (!DebuggingPanel) return; + _strBuilder.Clear(); + foreach (string line in _consoleLines) + { + _strBuilder.Append(line + "\n"); + } + DebuggingPanel.SetDebugLog(_strBuilder.ToString()); + } + + private void LogCallback(string condition, string stackTrace, LogType type) + { + AddLogToConsole(condition, type); + } +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/LogToUI.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/LogToUI.cs.meta new file mode 100644 index 00000000..4e9c6d42 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/LogToUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 865ade5e8e233a54d84be0c4f32f1550 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/UIUpdater.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/UIUpdater.cs new file mode 100644 index 00000000..0b5d04dd --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/UIUpdater.cs @@ -0,0 +1,135 @@ +using System.Collections.Generic; +using UnityEngine; +using TMPro; + +namespace Netcode.Transports.Pico.Sample.PicoMultiplayer +{ + + [RequireComponent(typeof(LogToUI))] + public class UIUpdater : MonoBehaviour + { + const string ButtonName = "ButtonText"; + + private TMP_Text _buttonText; + private ExternalModeSDKUser _picoUser; + private ExternalModeSDKUser.EGameState _curState; + + private delegate void ButtonClickHandler(); + + struct StateInfo + { + public bool buttonValid; + public string buttonText; + public ButtonClickHandler clickHandler; + + public StateInfo(bool inValid, string inText, ButtonClickHandler inHandler) + { + buttonValid = inValid; + buttonText = inText; + clickHandler = inHandler; + } + } + + Dictionary stateInfos; + + // Start is called before the first frame update + void Start() + { + TMP_Text[] candidates = GetComponentsInChildren(); + for (int i = 0; i < candidates.Length; ++i) + { + TMP_Text tmp = candidates[i]; + if (tmp.name == ButtonName) + { + //for later button text modification; + _buttonText = candidates[i]; + } + } + + _picoUser = GetComponent(); + if (!_picoUser) + { + Debug.LogError("can not find PicoSDKUser in the GameObject"); + return; + } + + stateInfos = new Dictionary + { + { + ExternalModeSDKUser.EGameState.NotInited, + new StateInfo(true, "StartMatchmaking", StartMatchmaking) + }, + { ExternalModeSDKUser.EGameState.InIniting, new StateInfo(false, "InPlatformIniting...", Empty) }, + { ExternalModeSDKUser.EGameState.UserGot, new StateInfo(false, "UserIsValid...", Empty) }, + { ExternalModeSDKUser.EGameState.InGameIniting, new StateInfo(false, "InGameIniting...", Empty) }, + { ExternalModeSDKUser.EGameState.Inited, new StateInfo(true, "StartMatchmaking...", Empty) }, + { ExternalModeSDKUser.EGameState.InMatching, new StateInfo(false, "InMatching...", Empty) }, + { ExternalModeSDKUser.EGameState.MatchFound, new StateInfo(true, "JoinRoom", _picoUser.StartJoinRoom) }, + { ExternalModeSDKUser.EGameState.RoomLeaving, new StateInfo(true, "InLeaveRoom...", Empty) }, + { ExternalModeSDKUser.EGameState.RoomLeft, new StateInfo(true, "RoomLeft...", Empty) }, + { ExternalModeSDKUser.EGameState.RoomJoining, new StateInfo(false, "JoinRooming...", Empty) }, + { ExternalModeSDKUser.EGameState.InRoom, new StateInfo(false, "InRoom...", Empty) }, + }; + _picoUser.OnStatusChange += HandleStatusChange; + } + + private void OnDestroy() + { + if (_picoUser) + { + _picoUser.OnStatusChange -= HandleStatusChange; + } + } + + public void HandleButtonClick() + { + if (!_picoUser) + { + Debug.LogWarning($"picoUser is not valid, skip this request"); + return; + } + StateInfo tmpinfo = stateInfos[_curState]; + tmpinfo.clickHandler(); + } + + void StartMatchmaking() + { + TextAsset mockConfig = null; +#if UNITY_EDITOR + if ((Application.platform == RuntimePlatform.WindowsPlayer || Application.platform == RuntimePlatform.WindowsEditor)) + { + // Automatically start server if this is the original editor + mockConfig = Resources.Load("PicoSdkPCConfig"); + } +#endif + _picoUser.StartPicoGame(mockConfig); + } + + void Empty() + { + Debug.LogWarning("no action"); + } + + void HandleStatusChange(ExternalModeSDKUser.EGameState oldState, ExternalModeSDKUser.EGameState newState, + string inDesc, string inOpenID, string matchInfo) + { + Debug.Log($"state change {_curState} > {newState}, {inOpenID}, {inDesc}"); + _curState = newState; + StateInfo stateInfo = stateInfos[_curState]; + _buttonText.text = stateInfo.buttonText; + if (newState < ExternalModeSDKUser.EGameState.MatchFound) + { + //ƥǰ״̬Ҫ֮ǰƥϢ + GetComponent().SetMatchInfo(""); + } + + if (newState == ExternalModeSDKUser.EGameState.MatchFound) + { + GetComponent().SetMatchInfo(matchInfo); + _picoUser.StartJoinRoom(); + } + } + + } + +} \ No newline at end of file diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/UIUpdater.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/UIUpdater.cs.meta new file mode 100644 index 00000000..02b9fdf5 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/UI/UIUpdater.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cff991b4fc574ba45bdd67a245296db5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils.meta new file mode 100644 index 00000000..1734c75b --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e45ce6057fda2cf47b1c4907aaca9d7d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/ClientNetworkTransform.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/ClientNetworkTransform.cs new file mode 100644 index 00000000..826db660 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/ClientNetworkTransform.cs @@ -0,0 +1,20 @@ +// see: https://docs-multiplayer.unity3d.com/netcode/current/components/networktransform/index.html +using Unity.Netcode.Components; +using UnityEngine; + +namespace Netcode.Transports.Pico.Sample.PicoMultiplayer +{ + /// + /// Used for syncing a transform with client side changes. This includes host. Pure server as owner isn't supported by this. Please use NetworkTransform + /// for transforms that'll always be owned by the server. + /// + [DisallowMultipleComponent] + public class ClientNetworkTransform : NetworkTransform + { + protected override bool OnIsServerAuthoritative() + { + return false; + } + } +} + diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/ClientNetworkTransform.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/ClientNetworkTransform.cs.meta new file mode 100644 index 00000000..50e4aba0 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/ClientNetworkTransform.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 291a27c3dcf217f46afc08f0d82b43fb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/RigidBodyPush.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/RigidBodyPush.cs new file mode 100644 index 00000000..a232ced7 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/RigidBodyPush.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +public class RigidBodyPush : MonoBehaviour +{ + public LayerMask pushLayers; + public bool canPush; + [Range(0.5f, 5f)] public float strength = 1.1f; + + private void OnControllerColliderHit(ControllerColliderHit hit) + { + if (canPush) PushRigidBodies(hit); + } + + private void PushRigidBodies(ControllerColliderHit hit) + { + // https://docs.unity3d.com/ScriptReference/CharacterController.OnControllerColliderHit.html + Rigidbody body = hit.collider.attachedRigidbody; + if (body == null || body.isKinematic) return; + var bodyLayerMask = 1 << body.gameObject.layer; + if ((bodyLayerMask & pushLayers.value) == 0) return; + if (hit.moveDirection.y < -0.3f) return; + Vector3 pushDir = new Vector3(hit.moveDirection.x, 0.0f, hit.moveDirection.z); + body.AddForce(pushDir * strength, ForceMode.Impulse); + } +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/RigidBodyPush.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/RigidBodyPush.cs.meta new file mode 100644 index 00000000..88ecc466 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/RigidBodyPush.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ce914d3f7f1f3b4479d0978cda710d06 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/SampleExtensions.cs b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/SampleExtensions.cs new file mode 100644 index 00000000..0d380bfe --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/SampleExtensions.cs @@ -0,0 +1,20 @@ +using UnityEngine; + +public class Singleton : MonoBehaviour where T : Singleton +{ + public static T Instance { get; private set; } + + protected void Awake() + { + Debug.Assert(Instance == null, $"Singleton {nameof(T)} has been instantiated more than once."); + Instance = (T)this; + } +} + +public static class SampleExtensions +{ + public static bool IsCloseTo(this float a, float b, float epsilon = 0.0001f) + { + return Mathf.Abs(a - b) < epsilon; + } +} diff --git a/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/SampleExtensions.cs.meta b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/SampleExtensions.cs.meta new file mode 100644 index 00000000..b4105d7e --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/Samples~/Pico Multiplayer/Scripts/Utils/SampleExtensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d965bfe3b3b6fc947ac1be354970a0da +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images.meta b/Transports/com.community.netcode.transport.pico/doc-images.meta new file mode 100644 index 00000000..de406423 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a7b11055f192a7347b9aab832b194aab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/add-package-from-disk.png b/Transports/com.community.netcode.transport.pico/doc-images/add-package-from-disk.png new file mode 100644 index 00000000..a846ecba Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/add-package-from-disk.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/add-package-from-disk.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/add-package-from-disk.png.meta new file mode 100644 index 00000000..aa2e977d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/add-package-from-disk.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 1c5b0e572fc933742808ac9ba9f037e6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken-en.png b/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken-en.png new file mode 100644 index 00000000..7259aad2 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken-en.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken-en.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken-en.png.meta new file mode 100644 index 00000000..03382321 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken-en.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: add435fb3dcc1f14c8885d9d1e7ed40d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken.png b/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken.png new file mode 100644 index 00000000..d9f7b380 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken.png.meta new file mode 100644 index 00000000..bc4934d0 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/app-accesstoken.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: e6755375f01a62b46826d1b8b731be3f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun-2.png b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun-2.png new file mode 100644 index 00000000..d44969dc Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun-2.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun-2.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun-2.png.meta new file mode 100644 index 00000000..cb1bf059 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun-2.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 75c3e9ba52b699e4498616f0cce6c359 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun.png b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun.png new file mode 100644 index 00000000..37a2aafe Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun.png.meta new file mode 100644 index 00000000..12ccb51a --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-buildrun.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 36d8e334bd181db44ab46a475a1b5ff2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-saveas.png b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-saveas.png new file mode 100644 index 00000000..e803a10c Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-saveas.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-saveas.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-saveas.png.meta new file mode 100644 index 00000000..bcfd5094 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-saveas.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: c08c105939bb4564eac398eb3df43188 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-scene.png b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-scene.png new file mode 100644 index 00000000..fbbb0179 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-scene.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-scene.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-scene.png.meta new file mode 100644 index 00000000..9ba34db7 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/build-simplemode-scene.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 9591ede2db3346b45a87403739ddd717 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/externalmode-config.PNG b/Transports/com.community.netcode.transport.pico/doc-images/externalmode-config.PNG new file mode 100644 index 00000000..0ef76f0d Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/externalmode-config.PNG differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/externalmode-config.PNG.meta b/Transports/com.community.netcode.transport.pico/doc-images/externalmode-config.PNG.meta new file mode 100644 index 00000000..6fe3853b --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/externalmode-config.PNG.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 6a847314ebc78b141906124fb726a85b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/fast-start-en.PNG b/Transports/com.community.netcode.transport.pico/doc-images/fast-start-en.PNG new file mode 100644 index 00000000..b188a451 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/fast-start-en.PNG differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/fast-start-en.PNG.meta b/Transports/com.community.netcode.transport.pico/doc-images/fast-start-en.PNG.meta new file mode 100644 index 00000000..a1b045ec --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/fast-start-en.PNG.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 71d70312b7f68b442bffe5453de8bdbb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/fast-start.PNG b/Transports/com.community.netcode.transport.pico/doc-images/fast-start.PNG new file mode 100644 index 00000000..44828979 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/fast-start.PNG differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/fast-start.PNG.meta b/Transports/com.community.netcode.transport.pico/doc-images/fast-start.PNG.meta new file mode 100644 index 00000000..140ffc12 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/fast-start.PNG.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 266f8f7ccd567224985459b60efec731 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/import-samples.png b/Transports/com.community.netcode.transport.pico/doc-images/import-samples.png new file mode 100644 index 00000000..988e6154 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/import-samples.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/import-samples.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/import-samples.png.meta new file mode 100644 index 00000000..74fb11ef --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/import-samples.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 97e6e8bd8108acd43906b66941b34df1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-buildrun.png b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-buildrun.png new file mode 100644 index 00000000..0eb7c485 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-buildrun.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-buildrun.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-buildrun.png.meta new file mode 100644 index 00000000..5f1de550 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-buildrun.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: fbd0d997b4ad734499a09eaec564c982 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-inroom.png b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-inroom.png new file mode 100644 index 00000000..6be1615b Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-inroom.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-inroom.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-inroom.png.meta new file mode 100644 index 00000000..ca404475 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-inroom.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 524fb16e37266b641932f513d259493f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-joinroom.png b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-joinroom.png new file mode 100644 index 00000000..6e9d2c43 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-joinroom.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-joinroom.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-joinroom.png.meta new file mode 100644 index 00000000..cd3fb8fb --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-joinroom.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: d7dabe9c6f82e254991fd63c01cc5801 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-waiting.png b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-waiting.png new file mode 100644 index 00000000..ab1778df Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-waiting.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-waiting.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-waiting.png.meta new file mode 100644 index 00000000..9e820cb7 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/matchmakingroom-waiting.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: a082ef519d3bbf444a1b7def3e693d7c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-buildrun.png b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-buildrun.png new file mode 100644 index 00000000..724baa61 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-buildrun.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-buildrun.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-buildrun.png.meta new file mode 100644 index 00000000..80579235 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-buildrun.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: c07274e31dd6b154689d865321d73047 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inmatchmaking.png b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inmatchmaking.png new file mode 100644 index 00000000..224921f5 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inmatchmaking.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inmatchmaking.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inmatchmaking.png.meta new file mode 100644 index 00000000..6a4e5dca --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inmatchmaking.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 41aae0abddad5a5489bb6f9149ddd3be +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inroom.png b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inroom.png new file mode 100644 index 00000000..ae4d217c Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inroom.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inroom.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inroom.png.meta new file mode 100644 index 00000000..d4672ef2 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-inroom.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 2a687350d64dcfe41b4a84408f9ce690 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-start.png b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-start.png new file mode 100644 index 00000000..b33e439e Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-start.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-start.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-start.png.meta new file mode 100644 index 00000000..a3ff2df2 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/multiplayer-start.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 62c0d9f2d8278894d96a38bb1f20fe9d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/my-app.png b/Transports/com.community.netcode.transport.pico/doc-images/my-app.png new file mode 100644 index 00000000..6703c8b4 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/my-app.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/my-app.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/my-app.png.meta new file mode 100644 index 00000000..9ace72be --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/my-app.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 7968193dbee7f86498d5a60820b7c889 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service-en.png b/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service-en.png new file mode 100644 index 00000000..9be07b42 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service-en.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service-en.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service-en.png.meta new file mode 100644 index 00000000..e48b845d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service-en.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 4f380c84f83269445aacbea077799387 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service.png b/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service.png new file mode 100644 index 00000000..9ba3194d Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service.png.meta new file mode 100644 index 00000000..c42af579 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/open-matchmaking-service.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: fd9cd2470fc626d4ba02d0808c770654 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/path-of-simplemode-scene.png b/Transports/com.community.netcode.transport.pico/doc-images/path-of-simplemode-scene.png new file mode 100644 index 00000000..ccded56d Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/path-of-simplemode-scene.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/path-of-simplemode-scene.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/path-of-simplemode-scene.png.meta new file mode 100644 index 00000000..bbfde080 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/path-of-simplemode-scene.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: e96bdabcb2d86504d8c3aff596beb379 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/pc-debug-setting.png b/Transports/com.community.netcode.transport.pico/doc-images/pc-debug-setting.png new file mode 100644 index 00000000..42148649 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/pc-debug-setting.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/pc-debug-setting.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/pc-debug-setting.png.meta new file mode 100644 index 00000000..e6a1ae3a --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/pc-debug-setting.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 858b0307c8ebfd94baf8aafbcb950be7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/pico-platform-error.png b/Transports/com.community.netcode.transport.pico/doc-images/pico-platform-error.png new file mode 100644 index 00000000..af4deca0 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/pico-platform-error.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/pico-platform-error.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/pico-platform-error.png.meta new file mode 100644 index 00000000..73c4ad22 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/pico-platform-error.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 7605fb5f041e31343b296afb151a0c2d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/preview-package.PNG b/Transports/com.community.netcode.transport.pico/doc-images/preview-package.PNG new file mode 100644 index 00000000..1b39b52e Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/preview-package.PNG differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/preview-package.PNG.meta b/Transports/com.community.netcode.transport.pico/doc-images/preview-package.PNG.meta new file mode 100644 index 00000000..c6a90d69 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/preview-package.PNG.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 10aa296b960669b4fa5fe5b09849c5ff +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/pxr-sdk-setting.png b/Transports/com.community.netcode.transport.pico/doc-images/pxr-sdk-setting.png new file mode 100644 index 00000000..fe0704dc Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/pxr-sdk-setting.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/pxr-sdk-setting.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/pxr-sdk-setting.png.meta new file mode 100644 index 00000000..4334ea56 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/pxr-sdk-setting.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 50e0ac1157fdfd94b82d957b52e38b68 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/run-in-editor-simplemode.png b/Transports/com.community.netcode.transport.pico/doc-images/run-in-editor-simplemode.png new file mode 100644 index 00000000..528471fb Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/run-in-editor-simplemode.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/run-in-editor-simplemode.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/run-in-editor-simplemode.png.meta new file mode 100644 index 00000000..57194560 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/run-in-editor-simplemode.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 6c1dde3db8294414cb51dde2bbad991d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/seq-external-mod.png b/Transports/com.community.netcode.transport.pico/doc-images/seq-external-mod.png new file mode 100644 index 00000000..36110a96 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/seq-external-mod.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/seq-external-mod.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/seq-external-mod.png.meta new file mode 100644 index 00000000..c8887d4b --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/seq-external-mod.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 48e8db78fb9ac6f46823364d6efd3468 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool-en.png b/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool-en.png new file mode 100644 index 00000000..5c2102f7 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool-en.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool-en.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool-en.png.meta new file mode 100644 index 00000000..c2663150 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool-en.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 979df013812f37244b6db6d8714913fd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool.png b/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool.png new file mode 100644 index 00000000..67ea06f2 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool.png.meta new file mode 100644 index 00000000..28ccb091 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/set-matchmaking-pool.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 6d5019350294f184d96f98a4882e42fc +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/simplemode-config.png b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-config.png new file mode 100644 index 00000000..69846440 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-config.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/simplemode-config.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-config.png.meta new file mode 100644 index 00000000..79141599 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-config.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: b05c4cadac60d414fa2623a82eb91ccb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/simplemode-inroom.png b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-inroom.png new file mode 100644 index 00000000..92209413 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-inroom.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/simplemode-inroom.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-inroom.png.meta new file mode 100644 index 00000000..9d39d687 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-inroom.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: ae15f56dfe2af10428305b0ce26bba0f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/simplemode-move.png b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-move.png new file mode 100644 index 00000000..94fddc8c Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-move.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/simplemode-move.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-move.png.meta new file mode 100644 index 00000000..8ee24c0e --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/simplemode-move.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 86e13b943d0118544b347ec2d963f12d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/struct-1.png b/Transports/com.community.netcode.transport.pico/doc-images/struct-1.png new file mode 100644 index 00000000..5ac9e0e5 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/struct-1.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/struct-1.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/struct-1.png.meta new file mode 100644 index 00000000..25808977 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/struct-1.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 3d34a6f4ba265b546b95fcc215766a40 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/uncheck-entitlement-check.png b/Transports/com.community.netcode.transport.pico/doc-images/uncheck-entitlement-check.png new file mode 100644 index 00000000..37f3ba7b Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/uncheck-entitlement-check.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/uncheck-entitlement-check.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/uncheck-entitlement-check.png.meta new file mode 100644 index 00000000..3697772d --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/uncheck-entitlement-check.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 1d5e9e2fb89b20241a4fc09a875dae09 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/use-transport-component.png b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-component.png new file mode 100644 index 00000000..e83ceaf4 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-component.png differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/use-transport-component.png.meta b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-component.png.meta new file mode 100644 index 00000000..2483b0aa --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-component.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 5b0fabcb5b19fae4499f5e5b16700684 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/use-transport-import.PNG b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-import.PNG new file mode 100644 index 00000000..a846ecba Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-import.PNG differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/use-transport-import.PNG.meta b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-import.PNG.meta new file mode 100644 index 00000000..6063a928 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-import.PNG.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 9fb48593a3f6449439ca3e2248ffafc2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/doc-images/use-transport-samples.PNG b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-samples.PNG new file mode 100644 index 00000000..988e6154 Binary files /dev/null and b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-samples.PNG differ diff --git a/Transports/com.community.netcode.transport.pico/doc-images/use-transport-samples.PNG.meta b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-samples.PNG.meta new file mode 100644 index 00000000..b4ee02a3 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/doc-images/use-transport-samples.PNG.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 16ed01d059107e5419a519a596ea3c8c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Transports/com.community.netcode.transport.pico/package.json b/Transports/com.community.netcode.transport.pico/package.json new file mode 100644 index 00000000..03ad68fe --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/package.json @@ -0,0 +1,23 @@ +{ + "name": "com.community.netcode.transport.pico", + "displayName": "Pico Transport for NGO", + "version": "0.0.1", + "unity": "2019.4", + "description": "Pico Transport for NGO", + "author": "chenyu", + "dependencies": { + "com.unity.netcode.gameobjects": "1.2.0" + }, + "samples": [ + { + "displayName": "Pico Golden Path", + "description": "Netcode rpc example using pico transport", + "path": "Samples~/Pico Golden Path" + }, + { + "displayName": "Pico Multiplayer", + "description": "Netcode rpc example modified from Oculus SharedSpace", + "path": "Samples~/Pico Multiplayer" + } +] +} diff --git a/Transports/com.community.netcode.transport.pico/package.json.meta b/Transports/com.community.netcode.transport.pico/package.json.meta new file mode 100644 index 00000000..59eee5d4 --- /dev/null +++ b/Transports/com.community.netcode.transport.pico/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1b0d1feea3e08ca439322675aad0c1ea +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: